L'impostazione predefinita corrente per l'account root /etc/passwdè root:x:0:0:root:/root:/bin/bash.
Perché non impostarlo su root:x:0:0:root:/root:/usr/sbin/nologin?
L'impostazione predefinita corrente per l'account root /etc/passwdè root:x:0:0:root:/root:/bin/bash.
Perché non impostarlo su root:x:0:0:root:/root:/usr/sbin/nologin?
Risposte:
Se così fosse, saresti in grado di eseguire solo comandi sudouno alla volta, ma non saresti in grado di avviare una shell di root. Una shell root è utile in molti casi, ad esempio se si prevede di eseguire più comandi come root in una riga.
In particolare, non è possibile eseguire sudo -i, come notato da AlexP. Da man sudo:
-i, --login Run the shell specified by the target user's password database entry as a login shell.
sudo /bin/bashfunziona per farlo?
sudo -spenso (una shell di root, ma non una shell di login di root ). È un buon punto però - e in effetti sudo -ssembra funzionare anche quando la shell di root è/usr/sbin/nologin
-i, -s, /bin/bash, e così via, semplicemente permettendo una whitelist di comandi, consultare la documentazione per il file sudoers. Questo è così fine, che ad esempio è possibile consentire agli utenti di eseguire /etc/init.d/someservice restartcome root senza consentire loro di funzionare /etc/init.d/someservice stop. Ma il default di Ubuntu è solo quello di non impostare password roote consentire agli utenti admin di fare tutto con sudo. Probabilmente la logica è a) più di un utente amministratore eb) L'utente amministratore non ha bisogno di ricordare una seconda password per l'account root.
Oltre alla risposta sudo di Alberto Santini, c'è un'altra (molto migliore) risposta. Se la shell di root è impostata su qualcosa che non è una shell, l'avvio di un singolo utente non funziona. C'è recupero in sulogincose come shell non esistente o shell completamente rotta, ma non funzionerà se la shell sembra essere una shell valida ma in realtà non è una shell.
Puoi comunque sudoottenere direttamente una shell specificando la shell in sudomodo che non sia nemmeno una buona protezione.
sudo -i?