Lorsque je tape Sudo sur un terminal, je reçois:
Sudo: unable to stat /etc/sudoers: Permission denied
Sudo: no valid sudoers sources found, quitting
Sudo: unable to initialize policy plugin
Plus d'informations:
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
pkexec chmod 755 /etc
pour résoudre ce problème.Comme steeldriver a suggéré , cette erreur est due au fait que /etc
a les mauvaises autorisations. Les autorisations affichées à partir de ls -ld /etc
devraient ressembler à ceci:
drwxr-xr-x
Mais le tien ressemble à:
drw-rw-r-x
Ceci empêche Sudo
de traverser /etc
pour accéder à /etc/sudoers
.
Le message d'erreur "autorisation refusée" qui tente simplement de récupérer les métadonnées d'un fichier (c'est-à-dire de stat) signifie presque toujours que le fichier est manquant ou que les répertoires menant à ce fichier ne peuvent pas être parcourus. Lorsque vous avez exécuté ls
, le fichier a été montré. exister.
J'ai testé cela (sur une machine virtuelle) en interrompant les autorisations sur /etc
avec chmod ug-x
et j'ai pu produire votre message d'erreur exact. (Vous ne devriez pas exécuter chmod
avec ug-x
dessus - c’est ainsi que j’ai délibérément cassé les autorisations et non comment les corriger. .)
Pour corriger les autorisations sur /etc
, accordez des autorisations exécutables à l'utilisateur et au propriétaire du groupe. L'absence de ces autorisations est la cause de ce problème. De plus, par défaut, /etc
n'a pas besoin d'autorisations en écriture pour le propriétaire du groupe. Par conséquent, à moins que vous sachiez , vous recommandiez de le modifier également.
Cette commande réinitialisera /etc
avec les autorisations par défaut:
pkexec chmod 755 /etc
Cela devrait fonctionner pour vous puisque vous avez été en mesure d'exécuter d'autres commandes en tant que root avec pkexec
. Les autres utilisateurs qui trouveront cela en cherchant pourront généralement le résoudre de la même manière, mais pour les systèmes sans pkexec
(ou où pkexec
ne fonctionnera pas), il sera peut-être nécessaire de démarrer en mode de récupération ou à partir d'un CD/DVD/USB en direct. réparer les autorisations. Vous ne devriez cependant pas avoir besoin de le faire . Il suffit d’exécuter cette commande simple et Sudo
devrait fonctionner à nouveau.