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 sudo
uno 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/bash
funziona per farlo?
sudo -s
penso (una shell di root, ma non una shell di login di root ). È un buon punto però - e in effetti sudo -s
sembra 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 restart
come root senza consentire loro di funzionare /etc/init.d/someservice stop
. Ma il default di Ubuntu è solo quello di non impostare password root
e 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 sulogin
cose 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 sudo
ottenere direttamente una shell specificando la shell in sudo
modo che non sia nemmeno una buona protezione.
sudo -i
?