Kök hesap için geçerli varsayılan /etc/passwdDİR root:x:0:0:root:/root:/bin/bash.
Neden ayarlamıyorsunuz root:x:0:0:root:/root:/usr/sbin/nologin?
Kök hesap için geçerli varsayılan /etc/passwdDİR root:x:0:0:root:/root:/bin/bash.
Neden ayarlamıyorsunuz root:x:0:0:root:/root:/usr/sbin/nologin?
Yanıtlar:
Bu durumda, komutları sudobirer birer yalnızca bir komutla çalıştırabilirsiniz , ancak bir kök kabuk başlatamazsınız. Bir kök kabuk birçok durumda kullanışlıdır, örneğin, birden çok komutu arka arkaya root olarak çalıştırmayı planlıyorsanız.
Özellikle, sudo -iAlexP'nin belirttiği gibi çalışamazsınız. Gönderen man sudo:
-i, --login Run the shell specified by the target user's password database entry as a login shell.
sudo /bin/bashBunu yapmak işe?
sudo -ssanırım daha çok olurdu (bir kök kabuk, ama bir kök giriş kabuğu değil). Yine de iyi bir nokta - ve aslında sudo -skök kabuğu olsa bile işe yarıyor gibi görünüyor/usr/sbin/nologin
-i, -s, /bin/bash, ve bu yüzden sadece komutların bir beyaz liste izin vererek üzerine, sudoers dosyası belgelerine bakın. Bu o kadar ince tanelidir ki, örneğin kullanıcıların çalışmalarına /etc/init.d/someservice restartizin vermeden root olarak çalışmasına izin vermek mümkündür /etc/init.d/someservice stop. Ancak ubuntu varsayılanı sadece şifre için bir parola belirlememek rootve yönetici kullanıcıların sudo ile her şeyi yapmasına izin vermektir. Muhtemelen gerekçesi a) birden fazla yönetici kullanıcı ve b) Yönetici kullanıcının kök hesap için ikinci bir parola hatırlamasına gerek yoktur.
Alberto Santini'nin sudo cevabının yanı sıra (çok daha iyi) bir cevap daha var. Kökün kabuğu kabuk olmayan bir şeye ayarlanmışsa, tek bir kullanıcının önyüklenmesi çalışmaz. suloginMevcut olmayan kabuk veya tamamen kırık kabuk gibi şeyler için iyileşme vardır , ancak kabuk geçerli bir kabuk gibi görünüyor, ancak aslında bir kabuk değilse işe yaramaz.
sudoKabuğu belirterek doğrudan bir kabuk almak için hala sudoiyi bir koruma sağlamaz.
sudo -i?