it-swarm.com.de

Sudo-Befehl kann nicht verwendet werden (Ubuntu 16.04.1 LTS)

Wenn ich im Terminal Sudo eingebe, erhalte ich:

Sudo: unable to stat /etc/sudoers: Permission denied
Sudo: no valid sudoers sources found, quitting
Sudo: unable to initialize policy plugin

Mehr Info:

ls -ld / /etc /etc/sudoers
drwxr-xr-x  24 root root  4096 Dez 21 22:44 /
drw-rw-r-x 162 root root 12288 Jan 18 15:13 /etc
-r--r-----   1 root root   746 Jan 18 14:21 /etc/sudoers

pkexec visudo:

Defaults        env_reset
Defaults        mail_badpass
Defaults        secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

# User privilege specification
root    ALL=(ALL:ALL) ALL

# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL

# Allow members of group Sudo to execute any command
%Sudo   ALL=(ALL:ALL) ALL

# See sudoers(5) for more information on "#include" directives:
#includedir /etc/sudoers.d
4
Felipe P.

Führen Sie _pkexec chmod 755 /etc_ aus, um dies zu beheben.

Als Stahlfahrer vorgeschlagen , ist dieser Fehler, weil _/etc_ die falschen Berechtigungen hat. Die Berechtigungen, die von _ls -ld /etc_ angezeigt werden, sollten wie folgt aussehen:

_drwxr-xr-x
_

Aber deine sehen so aus:

_drw-rw-r-x
_

Dies verhindert, dass Sudo _/etc_ durchläuft, um auf _/etc/sudoers_ zuzugreifen.

Die Fehlermeldung "permission denied" (Berechtigung verweigert), die nur versucht, Metadaten einer Datei abzurufen (dh zu stat), bedeutet fast immer, dass die Datei fehlt oder die dazu führenden Verzeichnisse nicht durchsucht werden können. Wenn Sie ls für die Datei ausgeführt haben, Es wurde gezeigt, dass es existiert.

Ich habe dies (auf einer virtuellen Maschine) getestet, indem ich die Berechtigungen für _/etc_ mit _chmod ug-x_ gebrochen habe, und konnte Ihre genaue Fehlermeldung erstellen. (Sie sollten nicht chmod mit _ug-x_ ausführen - so habe ich absichtlich die Berechtigungen verletzt , nicht wie man sie repariert.)

Um die Berechtigungen für _/etc_ festzulegen, erteilen Sie dem Benutzer und den Gruppenbesitzern ausführbare Berechtigungen. Das Fehlen dieser Berechtigungen ist die Ursache für dieses Problem. Außerdem muss _/etc_ dem Gruppenbesitzer standardmäßig keine Schreibberechtigung erteilt werden. Wenn Sie also nicht wissen , dass Sie dies wünschen , empfehle ich, dies ebenfalls zu ändern.

Dieser Befehl setzt _/etc_ auf die Standardberechtigungen zurück:

_pkexec chmod 755 /etc
_

Das sollte für Sie funktionieren, da Sie mit pkexec andere Befehle als root ausführen konnten. Andere Benutzer, die dies durch Suchen finden, können es normalerweise auf die gleiche Weise beheben, aber bei Systemen ohne pkexec (oder bei denen pkexec nicht funktioniert) kann es erforderlich sein, in den Wiederherstellungsmodus oder von zu booten eine Live-CD/DVD/USB, um die Berechtigungen zu beheben. Das sollten Sie allerdings nicht tun müssen. Führen Sie einfach diesen einen einfachen Befehl aus, und Sudo sollte wieder funktionieren.

3
Eliah Kagan