Wenn ich "sudo some_command" eingebe, zeigt das Terminal:
sudo: unable to stat /etc/sudoers: Permission denied
sudo: no valid sudoers sources found, quitting
sudo: unable to initialize policy plugin
Mein Konto ist ein Administratorkonto und die /etc/sudoers enthält:
root ALL = (ALL) ALL
%admin ALL = (ALL) ALL
Wie kann man das beheben?
Öffnen Sie das Terminal und aktivieren Sie root mit:
dsenableroot -u <your_admin_username> -p <your_password> -r <root_password> #choose some root password here
Wenn der Sudoer beschädigt ist, können Sie dies immer noch nicht tun sudo
- aber Sie können su
die Berechtigungen entsprechend reparieren:
su #when asked afterwards enter the above <root_password>
chown root:wheel /etc/sudoers
chmod 440 /etc/sudoers
chmod -a "admin allow read,write,append,readattr,writeattr,readextattr,writeextattr,readsecurity" /etc/sudoers
exit
Zurück in Ihrem Administratorkonto deaktivieren Sie root:
dsenableroot -d -u <your_admin_username> -p <your_password>
Falls das obige nicht hilft, aktivieren Sie das Root-Konto erneut, indem Sie dasselbe wie oben tun, melden Sie sich von Ihrem Konto ab, melden Sie sich an als root
(yup, wirklich):
Öffnen Sie das Terminal und geben Sie ein chmod g+x /
, schließen Sie den Begriff, melden Sie sich ab und tada, sudo funktioniert wieder :) Dieses Problem tritt meistens auf, wenn Sie Ihr /
durchgehendes Linux im rw-Modus mounten (für hfsplus
im r/w-Modus verwenden Sie fuse und bindfs
)
Übrigens scheint die Gruppenadministrator- ACL die sudoers-Datei nicht zu beschädigen!
ro
mount befinden) und dies tun, mount -rw /
und dann visudo
wird dies nicht gelöst.chmod g+x /
im su-Modus laufen oder Ihren letzten Satz vor die 2. dsenableroot-Zeile verschieben. Außerdem: das sollte in Sierra nicht nötig sein!chmod g+x /
Darwin mit Linux verwechseln und glücklich ihre Guids über Darwins abbilden, um später zu erkennen, dass in Darwin Guids bei 500 statt 1000 beginnen ;)chmod 440
und ist stattdessen 644 oOHier ist eine High-Level-Schritte:
$ dsenableroot -u <user-username> -p <your-user-password> -r <new-password-for-root>
Erstellen Sie dann eine Sicherungskopie der sudoers-Datei und bearbeiten Sie sie
$ su
Password:<your-new-root-password>
sh-3.2# cp /etc/sudoers /etc/sudoers.bak
sh-3.2# vi /etc/sudoers.bak
sh-3.2# cp /etc/sudoers.bak /etc/sudoers
sh-3.2# exit
Root-Zugriff zuletzt deaktivieren:
$ dsenableroot -d -u abdi -p <root-password>
dsenableroot:: ***Successfully disabled root user.
kein Hang
ls -l /etc/sudoers
Desmond Chen
-r--r-----+ 1 root wheel 1563 Jan 11 10:42 /etc/sudoers
kein Hang
ls -le /etc/sudoers
undls -led /etc
dann bitte auchDesmond Chen
-rw-rw-r--+ 1 root wheel 1563 Jan 11 10:42 /etc/sudoers 0: group:admin allow read,write,append,readattr,writeattr,readextattr,writeextattr,readsecurity
undlrwxr-xr-x@ 1 root wheel 11 Dec 10 21:13 /etc -> private/etc
kein Hang
Desmond Chen
mspasov
visudo
Zum Bearbeiten von Sudoern verwenden.