La valeur par défaut actuelle du compte racine dans /etc/passwd
est root:x:0:0:root:/root:/bin/bash
.
Pourquoi ne pas le définir sur root:x:0:0:root:/root:/usr/sbin/nologin
?
Si c'était le cas, vous ne pourrez exécuter que les commandes avec Sudo
une à la fois, mais vous ne pourrez pas démarrer un shell racine. Un shell racine est pratique dans de nombreux cas, par exemple. si vous envisagez d'exécuter plusieurs commandes en tant que root à la suite.
En particulier, vous ne pouviez pas exécuter Sudo -i
, comme l'a noté AlexP. De man Sudo
:
-i, --login Run the Shell specified by the target user's password database entry as a login Shell.
Outre la réponse Sudo d'Alberto Santini, il existe une autre réponse (bien meilleure). Si le shell de root est défini sur quelque chose qui n’est pas un shell, le démarrage d’un seul utilisateur ne fonctionne pas. sulogin
contient des éléments de récupération pour des éléments tels que le shell non existant ou le shell complètement endommagé, mais cela ne fonctionnera pas si le shell semble être un shell valide mais n'est pas réellement un shell.
Vous pouvez toujours Sudo
directement pour obtenir un shell en spécifiant celui-ci sur Sudo
name__, de sorte que la protection n'est même pas bonne.