Nach dem, was ich gelesen habe, ist es ein guter Sicherheitsansatz, zwei Konten zu haben, ein Administratorkonto und ein Standardkonto.
Ich versuche, den folgenden Befehl im Terminal auf meinem Standardkonto auszuführen
sudo mv /System/Library/CoreServices/Search.bundle /System/Library/CoreServices/Search.bundle.bak killall SystemUIServer
Es fragt nach einem Passwort, an dem der Prozess fehlschlägt, weil der aktuelle Benutzer "nicht in der sudoers-Datei ist".
Fragt es nach meinem Admin-Konto-Passwort oder Root-Passwort? Habe ich ein Root-Konto/Passwort, wenn ich es nicht explizit eingerichtet habe? Wie erhöhe ich vorübergehend meinen Zugriff, um den Befehl auszuführen, ohne unbedingt root zu aktivieren?
Das System fragt nach dem Passwort Ihres Kontos und überprüft dann, ob Sie sudo ausführen dürfen, basierend auf dem Inhalt von /etc/sudoers
. Standardmäßig dürfen dies nur Administratoren (die das Optionsticket in den Einstellungen haben).
Falls Sie Shell-Befehle mit sudo ausführen möchten, ohne ständig den Benutzer wechseln zu müssen, haben Sie mehrere Möglichkeiten:
ssh <any-admin-user>@localhost
, um sich als Administrator anzumelden, und führen Sie dann sudo aus/etc/sudoers
, indem Sie sich als Admin-Benutzer anmelden, sudo visudo
im Terminal ausführen, die %admin ALL=(ALL) ALL
Zeile duplizieren und %admin
durch Ihren Benutzernamen ersetzen. Auf diese Weise können Sie sudo im Terminal verwenden, ohne vollen Administratorzugriff zu erhalten. Wenn Sie visudo
die Datei verwenden, anstatt sie direkt zu bearbeiten, wird sichergestellt, dass die Datei beim Speichern auf syntaktische Korrektheit überprüft wird (ein Fehler in /etc/sudoers
kann Sie vollständig aus Ihrem System ausschließen).su <any-admin-user>
wäre besser.Ich habe hier eine ähnliche Frage beantwortet
Scheint, als könnten Sie den SU- Befehl verwenden, um zu einem anderen Benutzer im Terminal zu wechseln. Sobald Sie zum Admin-Benutzer gewechselt sind, können Sie sudo-Befehle in Verbindung mit dem Passwort des Admin-Kontos verwenden.
Wenn ich zum Beispiel an einem der Macs meines Endbenutzers bin und etwas mit erhöhten Rechten (z. B. chown) ausführen muss, ohne mich beim Administratorkonto (ladmin) abzumelden, würde ich so etwas verwenden (in Fettdruck):
Mr-Rabbits-Mac:~ notadminuser$ su ladmin
Dies wird zur Eingabe des Passworts des LAdmin-Kontos auffordern. Nach der Eingabe sehen Sie eine Bash-Eingabeaufforderung. Von hier aus kann ich alle gewünschten sudo-Befehle ausführen und bei Bedarf das Passwort von ladmin eingeben ...
bash-3.2$ sudo chown user2 /some/folder
Dadurch wird der Befehl chown unter Verwendung des jetzt angemeldeten LAdmin-Benutzers ausgeführt und zur Eingabe des Passworts des LAdmin-Kontos aufgefordert. Wenn Sie fertig sind, können Sie exit eingeben , um zur Eingabeaufforderung Ihres angemeldeten Benutzers zurückzukehren.
Screenshot eines ähnlichen Prozesses, bei dem nur sudo zum Ausführen des Befehls ls verwendet wird (nur als Beispiel).
Öffnen Sie Terminal und melden Sie sich bei Ihrem Administratorkonto an. Es sollte so aussehen:
MyComputer:~ MyStandardAccount$ login MyAdminAccountName
Password: <enter password here> --The text you type will be invisible so no one can see the password
MyComputer:~ MyAdminAccount$ sudo mv /System/Library/CoreServices/Search.bundle /System/Library/CoreServices/Search.bundle.bak killall SystemUIServer
Password: <enter password here> --Text will be invisible again
MyComputer:~ MyAdminAccount$ logout
MyComputer:~ MyStandardAccount$
Fahrrad