
Um den Missbrauch des Root-Kontos (auf meinem macOS-Rechner, Einzelbenutzer) zu verhindern, sollte ich die root
Shell immer auf /usr/bin/false
(oder/sbin/nologin
)?
Sollte ich zum Beispiel immer:
sudo /usr/bin/dscl . -create /Users/root UserShell /usr/bin/false
oder gibt es allgemeine Gründe, dies nicht zu tun (außer deroffensichtlich und vermeidbar)?
Antwort1
Nein, das sollten Sie nicht, denn dann, wenn Siebrauchenroot
Sie können das Konto (wie es manchmal sogar auf Macs der Fall ist) nicht zur Fehlerbehebung oder Wiederherstellung verwenden .
Dusollen, legen Sie jedoch das Root-Passwort fest:
$ sudo passwd root
Antwort2
Wenn Sie die Root-Shell wie beschrieben einrichten, können Sie sich nicht als Root anmelden oder su -
mit rooten. Sie können jedoch weiterhin sudo
oder sogar su
(ohne Minus) verwenden.
Das Deaktivieren der Root-Anmeldung ist im Allgemeinen eine gute Sicherheitsmaßnahme. Sie sollten jedoch sicherstellen, dass Sie im Falle eines Systemausfalls auf andere Weise auf den Computer zugreifen können. Wenn sich das System merkwürdig verhält, funktioniert die Root-Anmeldung möglicherweise immer noch, während normale Konten dies nicht tun (das ist beispielsweise der Grund, warum sich auf den meisten Unix-Systemen das Root-Home-Verzeichnis nicht im normalen Benutzer-Home-Verzeichnis, sondern auf dem Systemlaufwerk befindet).
Sie können wahrscheinlich immer noch im Einzelbenutzermodus booten, aber ich bin mir bei den aktuellen MacOS-Versionen nicht 100 % sicher, Sie sollten dies überprüfen. Wenn dies auch mit einer Shell ohne Anmeldung noch möglich ist, ist dies Ihr Ausweg aus dem Problem und Sie können die Root-Anmeldung sicher deaktivieren.
Andernfalls stellt sich die Frage, welchen Tod Sie sterben möchten. Entscheiden Sie selbst, was wahrscheinlicher ist – dass jemand Ihr Root-Konto missbraucht oder dass Ihr System so schlecht funktioniert, dass Sie das Root-Konto benötigen.
Antwort3
Alltagsbetrieb
Sie müssen das Konto nicht root
aktivieren, um alltägliche Vorgänge unter macOS auszuführen. Und selbst ohne aktiviertes Root-Konto und dessen Shell-Einstellung /usr/bin/false
können Sie sudo
(und für root
Shells sudo -s
) problemlos verwenden.
Einzelbenutzermodus
Der Einzelbenutzermodus verwendet /private/etc/passwd zur Anmeldeauthentifizierung, nicht Open Directory:
pse@Mithos:~$ grep ^root: /etc/passwd
root:*:0:0:System Administrator:/var/root:/bin/sh
Aber
pse@Mithos:~$ sudo dscl . -read /Users/root UserShell
UserShell: /usr/bin/false
Es wird daher keine negativen Auswirkungen auf den Einzelbenutzermodus geben.