GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Impossible de Stat /etc/sudoers :aucun fichier ou répertoire de ce type ?

Je n'utilisais Ubuntu 14.04 que récemment. Et d'une manière ou d'une autre, j'ai changé l'autorisation de /etc/sudoers dossier. Ainsi, chaque fois que j'exécute une commande en utilisant sudo, j'obtiens ces erreurs :

sudo: unable to stat /etc/sudoers: No such file or directory
sudo: no valid sudoers sources found, quitting
sudo: unable to initialize policy plugin

J'ai pu me connecter en tant qu'utilisateur et modifier les autorisations. Alors maintenant, quand je lance ls -l /etc/sudoers commande que j'obtiens :

-r--r----- 1 root root 755 жов 14  2016 /etc/sudoers

Mais je n'ai pas pu faire de root un propriétaire. Et j'obtiens toujours les mêmes erreurs lorsque j'essaie d'utiliser sudo.

J'ai lu beaucoup de choses effrayantes sur ce problème. Alors pourriez-vous m'aider à résoudre ce problème ? Je vous serais très reconnaissant d'avoir des conseils.

Réponse acceptée :

Raccourci :

dpkg-reconfigure : Si seulement quelque chose ne va pas avec la permission de /etc/sudoers fichier, avec un accès root, exécutez :dpkg-reconfigure sudo . quelque chose comme pkexec dpkg-reconfigure sudo devrait faire le travail.

visudo : Si dpkg-reconfigure ne fonctionne pas pour vous, alors exécutez simplement pkexec visudo , les sudoers le fichier sera ouvert dans un éditeur, puis enregistrez et fermez simplement le fichier, visudo corrigera l'autorisation pour vous.

Après tout, si vous avez modifié sudoers.d également les autorisations de répertoire, puis exécutez :

pkexec chmod 755 /etc/sudoers.d

Si les fichiers sont là et que leurs autorisations sont comme il se doit mais que vous obtenez toujours ce message d'erreur, la seule possibilité qui me vient à l'esprit est que vous avez cassé d'autres autorisations et sudo n'a pas accès à /etc/sudoers . la supposition la plus possible est les autorisations de /etc/ .

Alors lancez :

pkexec chmod 755 /etc

Nous avons terminé, cependant si vous voulez une instruction détaillée pour restaurer les sudoers cassés ou supprimés fichier avec des autorisations foirées, nous allons utiliser un autre moyen de réparer les choses.

Présentation

J'ai foiré mon /etc/sudoers file pour obtenir une erreur similaire à la vôtre. Je me rapproche vraiment, alors j'ai complètement supprimé le mien et il est devenu exactement comme le vôtre.

Ce que j'ai fait pour résoudre le problème :

Mon compte root était verrouillé et il n'avait pas de mot de passe, il m'était donc impossible de faire ce que je voulais faire. cependant si votre compte root est actif et a un mot de passe, passez en utilisateur root avec su - et sautez cette partie. sinon, suivez les instructions.

Avant d'aller plus loin, je dois mentionner que vous pouvez toujours utiliser un disque live pour faire un chroot dans votre système, il y a beaucoup d'instructions sur le chroot utilisant un disque live, donc je ne vais pas m'embêter à donner à nouveau toutes ces instructions, à la place, je vais supposer que nous n'avons pas de disque live et que nous sommes allons utiliser ce que nous avons déjà, pour résoudre ce problème. Si vous êtes satisfait de cheroot allez par là, ça ferait aussi l'affaire.

Obtenir un accès root

  • Redémarrez votre système
  • Lorsque grub apparaît, appuyez sur e pour le modifier
  • A la fin de la ligne qui commence par linux, ajoutez init=/bin/bash
  • Appuyez sur CTRL +X
Connexe :Comment personnaliser (ajouter/supprimer des dossiers/répertoires) le menu "Lieux" de l'application "Fichiers" d'Ubuntu 13.04 ?

Vous allez maintenant être déposé dans un shell bash avec un accès root. remontez d'abord le système de fichiers avec un accès en écriture :

mount -o remount,rw /

Déverrouillez ensuite l'utilisateur root et définissez-lui un mot de passe :

passwd -u root
passwd root

Maintenant, si votre /etc/sudoers existe toujours sur /etc , déplacez-le ailleurs :

mv /etc/sudoers /etc/sudoers.broken

Parce que nous allons dire à notre gestionnaire de paquets que ce fichier est manquant, et il va le remplacer pour nous par un fichier correct, donc il ne devrait pas être là.

Nous avons presque terminé, redémarrez votre système. connectez-vous en tant qu'utilisateur normal, ouvrez un terminal puis essayez su - pour passer en utilisateur root. Je n'ai pas pu le faire, donc ce que j'ai fait a été d'utiliser CTRL +ALT +F1 , pour aller dans tty1 , puis je me suis connecté en tant que root avec le nouveau mot de passe que nous venons de définir.

Faire revenir les sudo

Nous devrions simplement réinstaller le sudo package, cependant la réinstallation ne ramène pas ce fichier, nous devrions dire au dpkg pour corriger également les fichiers de configuration manquants, comme ceci :

apt-get -o Dpkg::Options::="--force-confmiss" install --reinstall sudo

N'oubliez pas qu'il vous demandera d'installer le /etc/sudoers fichier, en insérant y dis oui.

Si cela n'a pas fonctionné pour vous, procédez comme suit en tant que root :

mkdir /root/tmp
cd /root/tmp
apt-get download sudo
dpkg-deb -x sudo*.deb .
cp etc/sudoers /etc/sudoers
cd /root
rm -r tmp

Maintenant, il peut y avoir des différences entre les autorisations, exécutez dpkg-reconfigure sudo réparer. si cela ne fonctionne pas, exécutez visudo en tant qu'utilisateur root, les sudoers le fichier sera ouvert dans un éditeur, puis enregistrez et fermez simplement le fichier, visudo corrigera l'autorisation pour vous.

Si tout se passe bien, votre fichier sudoers sera de retour et vous pourrez utiliser sudo comme vous l'étiez auparavant.


Ubuntu
  1. Kubuntu affiche une erreur lors de la connexion (file:///usr/share/sddm//themes/breeze/main.qml:no Such File Or Directory) ?

  2. Comprendre le répertoire /etc/xinetd.d sous Linux

  3. Comment désactiver "sudo su" pour les utilisateurs dans le fichier de configuration sudoers

  4. CentOS / RHEL :Comment récupérer à partir d'un fichier /etc/passwd supprimé

  5. Modèle Regex pour modifier le fichier /etc/sudoers

Comment /etc/motd est-il mis à jour ?

Correction ::l'ouverture du fichier /home/user/etc/domainname/passwd a échoué avec l'erreur aucun fichier ou répertoire de ce type

Comprendre le répertoire /etc/sysconfig

Comprendre le répertoire /etc/skel sous Linux

Impossible d'exécuter des scripts bash même en tant que root ?

cp :ne peut pas créer de répertoire :aucun fichier ou répertoire de ce type