Bu cevap, soruda yapılan düzenlemeleri bile dikkate alarak size yardımcı olacaktır. Özellikle, oluşturulan bir hesapta
--disabled-loginparola ayarlanmamış ve giriş yapmak için başka hiçbir yol yoktur , ancak sudokomutları veya kullanıcı olarak bir kabuğu çalıştırmak için yine de kullanmak mümkün olmalıdır . Bu aslında, roothesabın Ubuntu'da nasıl
kurulduğudur.
Komutta birden fazla sorun var su - irssi.
Bu komut , bir kullanıcının sahip olduğu bir kabuğu başlatmaya çalışır .irssi
Eğer başarısız olursa:
irssiKullanıcı yok
irssiKullanıcının hesap devre dışı bırakılır.
irssiKullanıcının hesap interaktif oturum açma için devre dışı bırakılır. Bazen bir hesabın FTP gibi hizmetleri kullanmasına izin verilir, ancak kabuğunu derhal çıkacak bir şeye ayarlayarak normal şekilde giriş yapması yasaktır /bin/false. Sonra bir giriş hemen, hiçbir mesaj olmadan sona erer.
- Girdiğiniz şifre
irssikullanıcı için doğru değil .
-Yani gerçekten çok günlük gibi açıktır, - kabuk bir ilk giriş kabuğu taklit böylece bayrak yapar irssi. -Bayrak olmadan, sukomut başarılı olursa, hala sahip olduğunuz bir kabuk elde edersiniz irssi, ancak gibi ortam değişkenleri HOMEdeğişmez.
Bunun yerine denilen bir programı çalıştırmakirssi istiyorsanız sufarklı şekilde çağırmalısınız :
su username - -c irssi
Dışarı çıkarsanız , aynı - komutunu root olarak çalıştırma girişimleriyle aynıdır .-c username-c root
Alternatif olarak, bir kabuk başlatabilir ve sonra komutu çalıştırabilirsiniz :
- Kabuğu ile başlatın .
su username -
- Kabukta (
irssi) komutunu çalıştırın .
- İşiniz bittiğinde, kabuğu çalıştırarak bırakın
exit.
Komutları olarak çalıştırma root
Eğer çalıştırmak isterseniz irssiolarak root, subunu yapmak için bir yol değildir. Kök girişleri Ubuntu'da varsayılan olarak devre dışı bırakılmıştır ve bunları yeniden etkinleştirmek için nadiren herhangi bir sebep vardır . Eğer etkin varsa rootgiriş, ardından kullanmak mümkün olmalıdır suolma root. O etkinleştirmek için gereksiz nedeni roothesabını hala olarak komutları çalıştırabilir, yapmanız olsun veya olmasın, yani rootbirlikte sudo.
Birlikte komutları çalıştırdığınızda sudo, size koymak için , şifre değil kimlik Çalıştırmak komutunu diliyorum altında kullanıcının şifresini. Yalnızca yöneticiler olarak istenilen komutları çalıştırabilir rootile sudo(eğer yeniden yapılandırmak sürece sudotabii ki, diğerleri bunu sağlamak için). Dolayısıyla, sistemi yönetmesine izin verilmeyen bir kullanıcının komutları rootkendi şifresiyle çalıştırmasına izin verilmez .
irssiGibi çalıştırmak rootiçin sudo:
sudo irssi
Ve girersiniz sizin istendiğinde şifrenizi değil root's.
Hangi şifreyi girdiğiniz hariç, bu aynı şeyi yapar:
su -c irssi
Ancak hesabın etkinleştirilmesini sudogerektirmediğinden sürüm başarılı olabilir root.
Olduğu gibi su, kullanabileceğiniz sudoiçin başka, dışı olarak komutları çalıştırın rootkullanıcı . irssiGibi çalıştırmak usernameiçin sudo:
sudo -u username irssi
İsterseniz sudo gibi davranmaya su -göreHOME ise -Öyle, hedef kullanıcının kullanmak istiyorum HOMEçalıştırabileceğiniz, çevre değişkenleri sudoile -Hbayrak:
sudo -H irssi
sudo -H -u username irssi
Bütün bir kabuğu, ile sudoolduğu gibi başlatabilirsiniz su. Şifreyi girdiğiniz kişilerin haricinde, bu komut şu şekilde aynı etkiye sahiptir su:
sudo -s
Ve bu komut aynı etkiye sahiptir su -:
sudo -i
( İlk giriş kabuğui anlamına gelir .)
Bir kabuğu başka bir kullanıcı olarak da başlatabilirsiniz:
sudo -u username -s
sudo -u username -i
Daha fazla okuma sudo
Hakkında daha fazla bilgi edinmeksudo için şuna bir bakın:
Neden olmasın gksuişte çalıştın su?
gksuMuhtemelen koşaraksudo çalıştı .
gksuiçin bir önyüz hem su ve sudo. Ubuntu'da, bunu kullanmak varsayılandır sudo(Ubuntu'da suolduğu için, genellikle kullanıcı olmak için kullanılmaz rootve sadece diğer rootkullanıcı olmayanlar için ikincil bir yoldur ).
Sen yapabilir gksukullanımını suçalıştırarak önyüz olarak gksu --su-mode.
Modda mı yoksa modda mı gksuolduğunu öğrenebilir ve (isterseniz) bu ayarı değiştirerek değiştirebilirsiniz . Bu kullanıcı başına bir ayardır.susudogksu-properties
Ne zaman gksuolduğunu sudomodunda, bu aynı şekilde davranır gksudo.
Daha fazla okuma gksu
Çözüm Sonrası Analiz
Sonunda gerekli komutu şu şekilde çalıştırabileceğinizi gördünüz:
sudo -u username irssi
(Yukarıda listelenen tekniklerden hangisidir?)
Sonuçta, neden diğer tekniklerin başarısız olduğunu, ancak başarılı olduğunu açıklamak için yeterli olan iki bilgi parçası bildirdiniz:
usernameHesap ile oluşturuldu --disabled-logino var kılan bayrak, hiçbir parola (ve günlük başka hiçbir aracı olarak). Şifreniz olmaması, boş bir şifre ile giriş yapabileceğiniz anlamına gelmez . Kimlik doğrulaması için parolanın yeterli olmadığı anlamına gelir . Diğer kimlik doğrulama araçlarının kaldırılmasıyla birlikte, bu araç usernamekimlik doğrulaması yapamaz.
Böylece tüm sutabanlı çözümler ortaya çıktı. sudoYine de çalışabilir, çünkü sudosizinle kimliğe bürünmek üzere olduğunuz kullanıcı kimliğinizi doğrulamaz. Bunun yerine, onları taklit etmeye yetkili olmanız ve kendiniz gibi doğrulamanız gerekir (ör. Kendi şifrenizi değil, kendi şifrenizi girin).
Giriş yapmak için bu engeli kaldıran hesapta bir şifre belirlemek mümkündür:
sudo passwd username
Ancak, kullanıcının giriş yapmasına izin verilmemesi için iyi bir neden olabilir. Örneğin, bu kullanıcının giriş yapmasına izin verilmiş ve grafiksel olarak giriş yapmış olsaydı, kullanıcının ortamından veya X11 uygulamalarını çalıştırmak için uygun olmayan ayrıcalıklardan kaynaklanan kötü sorunlar ortaya çıkardı. ? Bu kullanıcı oturum açabiliyorsa, bu kullanıcı olarak uzaktan oturum açmayı mümkün kılabilir mi (şebeke servislerini açtığınız makineler için)?
Yeniden devre dışı bırakmak istiyorsanız:
sudo passwd -dl username
İlgili: Hesabı geçici olarak etkinleştirdikten sonra hesabı devre dışı bırakma root.
usernameHesap vardır /bin/falseonun giriş kabuğu olarak.
Gibi bir kabuk bashgiriş kabuğunuzu çalıştığında, ortamınızı ayarlar ve size makineyi kontrol etmek için etkileşimli bir istemi verir.
Ne zaman /bin/falseçalışır, diğer taraftan, bu hiçbir şey yapmaz , ve arızalı olduğunu bildirir . ( /bin/truehiçbir şey yapmaz ve başarıyı rapor eder.)
falseVe truekomutlar komut dosyası yararlı olan ve çeşitli test amaçlı değil, aynı zamanda böylece bir hesap devre dışı bırakılması için zaman onların Giriş oturumu hemen biter birisi günlükleri. Bu şekilde, bir şifre (veya başka bir kimlik doğrulama aracı) etkinleştirilebilir ve kabuk erişim için değil, insanlar giriş yapabilir . Örneğin, bir FTP sunucusu varsa, yine de hesaplarına FTP yoluyla erişebilirler. Bir SSH sunucusu varsa, SSH aracılığıyla bir kabuk alamazlardı, ancak yine de kullanabilirler sftpve scpdosya aktarabilirlerdi.
Yana usernamebireyin giriş kabuğu işlevsiz olduğunu, komutlar gibi , , ve yapamadım işi.su usernamesu - usernamesudo -u username -ssudo -u username -i
Fakat kabuk vermeyen, benzeri veya hala çalışabilen komutlar .sudo -u username commandsu username -c 'command'
Yana komutlar çalıştırılabilir, sen yapabilirsiniz işlevsel bir şeye kullanıcının giriş kabuğu değiştirin:
sudo chsh -s /bin/bash username
Ancak, kullanıcı için etkileşimli girişleri devre dışı bırakmak için iyi bir neden olabileceğinden, bu dikkatli yapılmalıdır.
Burada, usernameher ikisi de devre dışı şifreyi ve "devre dışı" kabuğunu vardı. Herhangi bir çalışma şifresinin olmaması tüm sutemelli çözümlerin çalışmasını engellerken, çalışan bir etkileşimli oturum açma kabuğunun olmaması tüm kabuk oluşturma çözümlerinin çalışmasını engelledi (bir kabuğun manuel olarak kullanılması hariç ).sudo -u username bash
sudo -u username command Kalan şey bu.