Ich habe die sudoers
Datei unter Mac OS X versehentlich gelöscht . Gibt es eine Möglichkeit, es wiederherzustellen?
Und wie stellen Sie den Modus 0440 ein, wenn Sie ihn wiederhergestellt haben?
9
Wenn ich Ihr Problem richtig verstehe, haben Sie derzeit keine Sudoer und Sie versuchen, Sudo zu machen, und es funktioniert nicht. In diesem Fall können Sie Folgendes tun, um sudo zum Laufen zu bringen:
Zu überprüfen, Sudo läuft gut cd /etc
und sudo vim sudoers
. Sie sollten in der Lage sein, die sudoers-Datei über den vim-Editor anzuzeigen. Jede Lese- / Schreiboperation in / etc würde den Befehl sudo erfordern.
Ich weiß, dass dies ein bisschen überraschend ist, dass wir über die Benutzeroberfläche Operationen ausführen können, auch wenn wir keine Sudoer haben. Aber es hat bei mir funktioniert :)
Ich gehe davon aus, dass Sie versuchen, einen
sudo
Befehl auszuführen, und dass Sie einen Fehler erhalten,/etc/sudoers
der nicht über die richtigen Berechtigungen verfügt.Wenn Sie zuvor Ihren Kontostatus
Admin
gewährt haben, sollten Sie in der Lage sein, die Berechtigungen über die GUI zu korrigieren. Öffnen Sie den Ordner "/ etc" im Finder ("Go" -> "Go to Folder ...") und öffnen Sie diesudoers
Dateieigenschaften. Klicken Sie auf das Schloss. Gewähren Sie deradmin
Grupperead/write
, demsystem
Benutzerread-only
, derwheel
Grupperead-only
und dereveryone
Gruppeno access
. Die Berechtigungen sollten jetzt korrekt sein.Wenn Sie sich nicht in die
admin
Gruppe aufgenommen haben, müssen Sie OSX im Einzelbenutzermodus neu starten und den Befehl ausführenchmod 0440 /etc/sudoers
.quelle
Aktivieren Sie den Root-Benutzer mithilfe der Systemeinstellungen und erstellen Sie dann / etc / sudoers, während Sie als Root-Benutzer angemeldet sind
Hinweis: Da der Befehl in diesem Fall als root ausgeführt wird und die Gruppen-ID
/etc
0 lautet, sollte er nach der Neuerstellung standardmäßig dem richtigen Benutzer und der richtigen Gruppe gehören. Wenn dies jedoch aus irgendeinem Grund nicht der Fall ist, führen Sie ihn ausNachdem Sie erstellt haben,
/etc/sudoers
verwenden Sie visudo, um diesen Code einzufügen:Wenn Sie kein Administrator sind, können Sie das System stattdessen im Einzelbenutzermodus starten (dies kann durch Ausschalten des Geräts und Halten von Befehl + s beim Start erfolgen) und ausführen:
und Sie befinden sich im Terminal mit Root-Rechten und können die oben genannten Befehle zum Einrichten ausführen
/etc/sudoers
quelle
Ich habe eine / tmp / sudoers-Datei mit Inhalten in der Antwort von John Militer erstellt und eine Variation des Befehls tmm1 ausgeführt.
osascript -e 'do shell script "cat /tmp/sudoers > /etc/sudoers; chown root:wheel /etc/sudoers" with administrator privileges'
Nett!!!
quelle
Die obigen Antworten beziehen sich auf den Standardinhalt der Datei, wie sie mit Finder verschoben und ihre Berechtigungen geändert werden. Sudo wird sich jedoch beschweren, es sei denn, der Eigentümer der sudoers-Datei ist root. Die einzige Möglichkeit, den Besitzer ohne sudo zu ändern, ist über diesen Befehl:
osascript -e 'do shell script "chown root:wheel /etc/sudoers" with administrator privileges'
quelle