Die aktuellen Standardeinstellungen für das Root-Konto in /etc/passwd
sind root:x:0:0:root:/root:/bin/bash
.
Warum nicht auf einstellen root:x:0:0:root:/root:/usr/sbin/nologin
?
command-line
security
root
loongyh
quelle
quelle
sudo -i
?Antworten:
Wenn dies der Fall wäre, könnten Sie nur Befehle gleichzeitig ausführen
sudo
, aber Sie könnten keine Root-Shell starten. Eine Root-Shell ist in vielen Fällen praktisch, z. B. wenn Sie mehrere Befehle hintereinander als Root ausführen möchten.Konkret konnte man nicht laufen
sudo -i
, wie AlexP feststellte. Vonman sudo
:quelle
sudo /bin/bash
?sudo -s
ich denke (eine root-shell, aber keine root- login- shell). Es ist jedoch ein guter Punkt - undsudo -s
scheint sogar zu funktionieren, wenn/usr/sbin/nologin
-i
,-s
,/bin/bash
, und so weiter durch nur eine weiße Liste von Befehlen ermöglicht, finden Sie in der Dokumentation für die sudoers - Datei. Dies ist so feinkörnig, dass Benutzer beispielsweise/etc/init.d/someservice restart
als Root ausgeführt werden können, ohne dass sie ausgeführt werden müssen/etc/init.d/someservice stop
. Die Ubuntu-Standardeinstellung ist jedoch, kein Kennwort für zu setzenroot
und Administratoren zu erlauben, alles mit sudo zu tun. Wahrscheinlich ist die Begründung a) mehr als ein Administrator-Benutzer und b) der Administrator-Benutzer muss sich kein zweites Passwort für das Root-Konto merken.Neben Alberto Santinis Sudo-Antwort gibt es noch eine (weitaus bessere) Antwort. Wenn die root-Shell auf etwas eingestellt ist, das keine Shell ist, funktioniert das Booten eines einzelnen Benutzers nicht. Es gibt eine Wiederherstellung
sulogin
für Dinge wie nicht vorhandene oder vollständig beschädigte Shell, aber es wird nicht funktionieren, wenn die Shell eine gültige Shell zu sein scheint, aber eigentlich keine Shell ist.Sie können immer noch
sudo
direkt eine Shell erhalten, indem Sie die Shell angeben,sudo
sodass sie nicht einmal einen guten Schutz bietet .quelle