Sollte ich die Root-Shell immer auf /usr/bin/false setzen?

Sollte ich die Root-Shell immer auf /usr/bin/false setzen?

Um den Missbrauch des Root-Kontos (auf meinem macOS-Rechner, Einzelbenutzer) zu verhindern, sollte ich die rootShell 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 SiebrauchenrootSie 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 sudooder 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 rootaktivieren, um alltägliche Vorgänge unter macOS auszuführen. Und selbst ohne aktiviertes Root-Konto und dessen Shell-Einstellung /usr/bin/falsekönnen Sie sudo(und für rootShells 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.

verwandte Informationen