web-dev-qa-db-fra.com

erreur sudo, mode 0777, devrait être 0440

Je reçois des erreurs Sudo, comment puis-je corriger cette erreur?

Sudo: /etc/sudoers is mode 0777, should be 0440
Sudo: no valid sudoers sources found, quitting 
26
user20698

Première option

Après ce post :

  1. Redémarrer le PC
  2. Lorsque l'écran de sélection de démarrage GRUB s'affiche, choisissez le mode de récupération. (Si cela ne se produit pas, appuyez sur le bouton Shift lorsque vous voyez le GRUB chargeur en bas).
  3. Un terminal noir devrait apparaître, à ce stade, vous pouvez exécuter cette commande (vous devez avoir les privilèges root):

    chmod 0440 /etc/sudoers
    

Alternativement

Vous devrez installer Ubuntu sur un LiveCD, démarrer ce dernier, monter votre partition Ubuntu sur le disque dur (ouvrez un navigateur de fichiers, comme Nautilus, et cliquez sur votre partition Ubuntu; ou cliquez sur Lieux -> "Partition xxGB/Votre partition Ubuntu". ").

Ensuite, ouvrez un terminal dans la session LiveCD et tapez ces deux commandes:

cd /media/<name of permanent ubuntu partition>/etc
Sudo chmod 0440 sudoers

Problèmes supplémentaires

S'il y a des erreurs (comme indiqué ci-dessous), suivez l'invite d'erreur et ajustez chaque fichier en conséquence en utilisant l'une des deux étapes ci-dessus:

Sudo apt-get update Sudo: /etc/sudoers.d/README est en mode 0777, doit être 0440 Sudo:/var/lib/Sudo en écriture pour le non-propriétaire (040777), doit être en mode 0700 [Sudo] mot de passe pour

Corrigez en suivant avec:

chmod 0440 /etc/sudoers.d/README
chmod 0700 /var/lib/Sudo

Ces deux commandes doivent être utilisées de manière appropriée avec les étapes décrites ci-dessus. Ils modifieront les autorisations de fichier associées à ce fichier. 0440 donnera le propriétaire (racine) et le groupe autorisations de lecture et 0700 donnera au propriétaire (racine), les autorisations de lecture, d'écriture et d'exécution.

26
Alex Stevens

Sudo est cassé dans cette situation, mais pkexec (la ligne de commande Frontend to PolicyKit ) fonctionne toujours, vous pouvez donc le réparer en une seule commande. Aucun redémarrage n'est nécessaire.

pkexec chmod 0440 /etc/sudoers

Cela suppose que PolicyKit est installé. S'il s'agit d'un système de bureau (plutôt que d'un serveur sans interface graphique), c'est bien le cas.

16
Eliah Kagan

Démarrez en mode de récupération, choisissez le shell racine et:

chmod 0440 /etc/sudoers

Ou si vous ne voulez pas redémarrer, vous pouvez utiliser cette alternative:

pkexec chmod 0440 /etc/sudoers
pkexec chmod 0440 /etc/sudoers.d/README

cela changera la permission. Essayez ça va marcher.

4
Atul Makwana

Dans Ubuntu, vous pouvez d'abord frapper Ctrl+Alt+T qui ouvre le terminal. Après cela, vous pouvez copier-coller la commande ci-dessous avec Ctrl+C et coller dans le terminal avec Ctrl+Shift+V.

pkexec chmod 0440 /etc/sudoers
1
K. Kilian Lindberg

Qu'avez-vous fait pour obtenir ces erreurs?

  • Si vous avez: Sudo chmod -R 777 /etc, vous avez besoin d’un Live CD pour le réparer.

    1. Démarrez dans un Live CD et sélectionnez "Try it"
    2. Montez votre partition Ubuntu (ou la partition contenant /etc si vous avez mis /etc sur une partition séparée). Cela peut être fait en utilisant un navigateur de fichiers comme Nautilus ou le menu Lieux .
    3. Ouvrir un terminal en accédant à Applications => Accessoires => Terminal
    4. Déterminez le dossier de votre partition Ubuntu. Vous pouvez répertorier le contenu des partitions montées à l’aide de ls -l /media. Il est peut-être nommé ubuntu ou disk. Dans les étapes suivantes, je supposerai ubuntu.
    5. Dans le terminal, définissez des autorisations restrictives par défaut:

      Sudo find /media/ubuntu/etc -type f -exec chmod g-wx,o-rwx {} \;
      Sudo find /media/ubuntu/etc -type d -exec chmod g-w,o-rwx {} \;
      
    6. Ensuite, utilisez le Live CD comme point de référence pour la restauration des autorisations de fichiers. La commande ci-dessous modifiera les autorisations de fichier pour /etc/media/ubuntu en utilisant le dossier /etc du Live CD comme point de référence. Cela ne modifiera que les autorisations sur les fichiers (-type f) et les répertoires (-type d) sur le même système de fichiers (-xdev). Toutes les erreurs sont écrites dans ~/errors.log Des erreurs du type "fichier non trouvé" indiquent qu'un fichier du système est installé, mais introuvable sur le Live CD. La commande de l'étape 5 doit définir les autorisations appropriées, mais pour obtenir les meilleurs résultats, il est préférable de réinstaller les packages.

      cd /media/ubuntu && Sudo find etc -xdev \( -type f -o -type d \) -f -exec chmod --reference=/{} {} \; 2>~/errors.log
      
    7. Maintenant, protégez ~/errors.log quelque part (comme http://paste.ubuntu.com/ ) afin que vous puissiez l'ajouter en commentaire à cette réponse si vous aviez des problèmes avec les applications.
1
Lekensteyn

Pour moi, je devais ajouter une étape supplémentaire aux suggestions pkexec, par this , j’ai eu la chance d’avoir 2 sessions ssh en cours lorsque j’ai commis la stupide erreur:

  1. Open 2 terminaux
  2. Dans le terminal 2, exécutez echo $$ pour obtenir le PID
  3. Exécutez pkttyagent --process PID_FROM_STEP2 au terminal 2
  4. Dans le terminal 1, exécutez pkexec chmod 0440 /etc/sudoers
  5. Dans mon cas, je devais aussi exécuter pkexec chown root:root /etc/sudoers
0
4oo4