Bu cevap, soruda yapılan düzenlemeleri bile dikkate alarak size yardımcı olacaktır. Özellikle, oluşturulan bir hesapta
--disabled-login
parola ayarlanmamış ve giriş yapmak için başka hiçbir yol yoktur , ancak sudo
komutları veya kullanıcı olarak bir kabuğu çalıştırmak için yine de kullanmak mümkün olmalıdır . Bu aslında, root
hesabı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:
irssi
Kullanıcı yok
irssi
Kullanıcının hesap devre dışı bırakılır.
irssi
Kullanı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
irssi
kullanı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, su
komut başarılı olursa, hala sahip olduğunuz bir kabuk elde edersiniz irssi
, ancak gibi ortam değişkenleri HOME
değişmez.
Bunun yerine denilen bir programı çalıştırmakirssi
istiyorsanız su
farklı ş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 irssi
olarak root
, su
bunu 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 root
giriş, ardından kullanmak mümkün olmalıdır su
olma root
. O etkinleştirmek için gereksiz nedeni root
hesabını hala olarak komutları çalıştırabilir, yapmanız olsun veya olmasın, yani root
birlikte 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 root
ile sudo
(eğer yeniden yapılandırmak sürece sudo
tabii ki, diğerleri bunu sağlamak için). Dolayısıyla, sistemi yönetmesine izin verilmeyen bir kullanıcının komutları root
kendi şifresiyle çalıştırmasına izin verilmez .
irssi
Gibi çalıştırmak root
iç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 sudo
gerektirmediğinden sürüm başarılı olabilir root
.
Olduğu gibi su
, kullanabileceğiniz sudo
için başka, dışı olarak komutları çalıştırın root
kullanıcı . irssi
Gibi çalıştırmak username
iç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 sudo
ile -H
bayrak:
sudo -H irssi
sudo -H -u username irssi
Bütün bir kabuğu, ile sudo
olduğ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 gksu
işte çalıştın su
?
gksu
Muhtemelen koşaraksudo
çalıştı .
gksu
için bir önyüz hem su
ve sudo
. Ubuntu'da, bunu kullanmak varsayılandır sudo
(Ubuntu'da su
olduğu için, genellikle kullanıcı olmak için kullanılmaz root
ve sadece diğer root
kullanıcı olmayanlar için ikincil bir yoldur ).
Sen yapabilir gksu
kullanımını su
çalıştırarak önyüz olarak gksu --su-mode
.
Modda mı yoksa modda mı gksu
olduğunu öğrenebilir ve (isterseniz) bu ayarı değiştirerek değiştirebilirsiniz . Bu kullanıcı başına bir ayardır.su
sudo
gksu-properties
Ne zaman gksu
olduğunu sudo
modunda, 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:
username
Hesap ile oluşturuldu --disabled-login
o 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ç username
kimlik doğrulaması yapamaz.
Böylece tüm su
tabanlı çözümler ortaya çıktı. sudo
Yine de çalışabilir, çünkü sudo
sizinle 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
.
username
Hesap vardır /bin/false
onun giriş kabuğu olarak.
Gibi bir kabuk bash
giriş 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/true
hiçbir şey yapmaz ve başarıyı rapor eder.)
false
Ve true
komutlar 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 sftp
ve scp
dosya aktarabilirlerdi.
Yana username
bireyin giriş kabuğu işlevsiz olduğunu, komutlar gibi , , ve yapamadım işi.su username
su - username
sudo -u username -s
sudo -u username -i
Fakat kabuk vermeyen, benzeri veya hala çalışabilen komutlar .sudo -u username command
su 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, username
her ikisi de devre dışı şifreyi ve "devre dışı" kabuğunu vardı. Herhangi bir çalışma şifresinin olmaması tüm su
temelli çö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.