Antworten:
In MacOS X ist der Root-Benutzer standardmäßig deaktiviert und sufunktioniert daher nicht. Wie andere gesagt haben, ist es am besten zu verwenden sudo.
Wenn Sie müssen die Root - Benutzer aktivieren, finden Sie Apples technote: Aktivieren und mit dem Benutzer „root“ in Mac OS X .
sudo su, was in aller Welt ist dann der Grund für die Deaktivierung su?
su, das Root-Login zu "deaktivieren " . Durch Deaktivieren der Anmeldung als rootverhindern Sie eine Reihe möglicher Sicherheitsprobleme. Jemandem nicht zu erlauben, der kann sudo, suist irgendwie dumm. Grundsätzlich wird sunur die aktuelle Benutzer-ID geändert und ein Befehl ausgeführt (eine Shell, falls nicht angegeben). Wenn die Benutzer-ID bereits 0 (root) ist, z. B. wenn sie mit ausgeführt wird sudo, hat sie nichts zu tun, daher wird nur die Shell ausgeführt. Sie können einen ähnlichen Effekt erzielen, indem Sie Folgendes tun sudo bash.
Sie haben zwei Möglichkeiten. Die erste ist zu verwenden sudo -s- dies gibt Ihnen Superuser-Zugriff, aber Sie bleiben (sozusagen) immer noch "Sie selbst", so dass Dinge wie ~immer noch Ihr Home-Verzeichnis sind. Alternativ können Sie verwenden sudo su, wodurch Sie eine Shell als eigentlichen Root-Benutzer Ihres Mac erhalten.
sudo, um Befehle auszuführen, die erhöhte Berechtigungen erfordern, und nicht, um zu einer Root-Shell zu wechseln und von dort aus zu arbeiten.
sudoEthos auf das Äußerste. Aber was auch immer: Semantik. Verwenden Sie unter OS X keine Root-Shells.
Wenn Sie beispielsweise Dateien verschieben oder git über die CLI verwenden müssen, ist in diesem Fall die Verwendung des sudo -sBefehls die beste Lösung . Nach diesem Befehl müssen Sie das Kennwort nicht immer wieder eingeben.
Ich denke, Sie können dies als "normaler" Benutzer nicht tun ...
Wenn es ein anderes Benutzerkonto mit Administratorrechten gibt, müssen Sie dieses verwenden
restricted user$ su
Password:(the root password here)
Sorry!
restricted user$ su - (an admin account here)
password:(the admin account password)
$ su - root
Password:(The root password here)
# -> You are root user now
sudo -uVerwenden Sie zum Ausführen als andere Verwendung sudo -u.
So führen Sie beispielsweise einen Texteditor wie nano aus :
sudo -u someuser nano
… Und geben Sie Ihr Mac-Administratorkennwort ein, wenn Sie dazu aufgefordert werden. Zu diesem Zeitpunkt ruft Ihr Mac-Administrator den Benutzer auf sudo, nicht der someuserBenutzer, sodass Sie das someuserKennwort nicht eingeben .
sudo bedeutet, etwas mit Superuser-Rechten auszuführen.-u bedeutet "einen bestimmten Befehl als dieser angegebene Benutzer ausführen".someuser sollte durch Ihren gewünschten Benutzernamen ersetzt werden.Verwenden Sie, um eine Erstanmeldung als bestimmter Benutzer zu simulieren, einschließlich der Ausführung seiner Startskripte -I.
sudo -u someuser -i nano
Dadurch wird die nanoApp als Benutzer ausgeführt, someuserjedoch erst, nachdem die Startskripts für diesen Benutzer ausgeführt wurden.
Wenn wir keinen Befehl oder keine App angeben, die ausgeführt werden soll, wird eine interaktive Shell als dieser Benutzer ausgeführt.
sudo -u someuser -i
sudo su someuserEin anderer Ansatz verwendet den suBefehl in Kombination mit dem Befehl sudo. Der suBefehl bedeutet "Benutzer wechseln".
sudo su someuser
Fügen Sie den Bindestrich hinzu, um die Startskripte des Benutzers auszuführen.
sudo su - someuser
root BenutzerDer rootBenutzer in Unix-bezogenen Betriebssystemen hat die absolute Macht, alles zu tun.
Apple hat beschlossen, das rootKonto in macOS zu deaktivieren , Sicherheitslücken zu vermeiden und Sie davor zu schützen, sich in den Fuß zu schießen. Apple entwickelte die Idee der Administrator- Benutzerkonten, die viele Befugnisse haben, mehr Befugnisse als ein Standard- Benutzerkonto, aber keine absoluten Befugnisse wie rootdiese. Weitere Informationen finden Sie in diesem Apple Support-Hinweis .
Wenn nötig, Sie können die ermöglichen rootBenutzer in macOS und wechseln Sie dann zu diesem Benutzer. Dies wird dringend abgeraten. Ich würde diesen Weg nur als verzweifeltes letztes Mittel beschreiten.
Weitere Informationen hierzu im Kontext des postgresBenutzers, der das Postgres- Datenbanksystem unter macOS ausführt, finden Sie unter dieser Frage auf der Schwestersite DBA Stack Exchange .
sudo sufunktioniert immer noch, so ist es nicht wirklich deaktiviert. Es hat einfach kein Passwort.