erreur sudo, est le mode 0777, devrait être 0440

26

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 
    
posée user20698 27.06.2011 - 05:28
la source

6 réponses

26

Première option

Après cet article :

  1. Redémarrer le PC
  2. Lorsque l’écran de sélection de démarrage GRUB apparaît, choisissez le mode de récupération. (Si ce n'est pas le cas, appuyez sur la touche Shift lorsque le chargeur GRUB est affiché en bas).
  3. Un terminal noir devrait apparaître, vous pouvez alors exécuter cette commande (vous devez avoir les privilèges root):

    chmod 0440 /etc/sudoers
    

Alternativement

Vous devrez mettre Ubuntu sur un LiveCD, démarrer le LiveCD, monter votre partition Ubuntu sur le disque dur (ouvrez un navigateur de fichiers, comme Nautilus, et cliquez sur votre partition Ubuntu; ou cliquez sur Places-> xx) Partition / 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 le mode 0777, doit être 0440 sudo: / var / lib / sudo inscriptible par un non-propriétaire (040777), doit être le mode 0700 [sudo] password 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 fichiers associées à ce fichier. 0440 donnera le propriétaire (racine) et le groupe autorisations de lecture et 0700 donneront au propriétaire (root), lire, écrire et exécuter des autorisations.

    
réponse donnée Alex Stevens 27.06.2011 - 06:21
la source
16

sudo est cassé dans cette situation, mais pkexec (l'interface de ligne de commande à PolicyKit ) fonctionne toujours, vous pouvez donc le résoudre avec 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), il l'est.

    
réponse donnée Eliah Kagan 12.07.2012 - 18:43
la source
4

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.

    
réponse donnée Atul Makwana 23.08.2012 - 07:52
la source
1

Qu'avez-vous fait pour obtenir ces erreurs?

  • Si vous l'avez fait: sudo chmod -R 777 /etc , vous avez besoin d'un Live CD pour réparer cela.

    1. Démarrez 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 Places
    3. Ouvrez un terminal en allant sur Applications = & gt; Accessoires = & gt; Terminal
    4. Déterminez le dossier de votre partition Ubuntu, vous pouvez lister le contenu des partitions montées en utilisant ls -l /media . Il est peut-être nommé ubuntu ou disk . Dans les étapes suivantes, je suppose que 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 restaurer les autorisations de fichiers. La commande ci-dessous modifie les autorisations de fichier pour /etc/media/ubuntu en utilisant le dossier /etc sur le Live CD comme point de référence. Il ne modifie 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 telles que "fichier introuvable" indique 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 de meilleurs résultats, vous devriez 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, sécurisez ~/errors.log quelque part (comme lien ) afin de pouvoir l'ajouter en tant que commentaire à cette réponse si vous rencontrez des problèmes avec des applications.
réponse donnée Lekensteyn 28.06.2011 - 10:32
la source
1

Dans Ubuntu, vous pouvez d’abord appuyer sur Ctrl + Alt + T pour ouvrir le terminal. Après cela, vous pouvez copier-coller la commande ci-dessous avec Ctrl + C et coller le terminal avec Ctrl + Shift + V .

pkexec chmod 0440 /etc/sudoers
    
réponse donnée K. Kilian Lindberg 10.06.2013 - 14:32
la source
0

Pour moi, je devais ajouter une étape supplémentaire aux suggestions pkexec , par this , j'ai eu la chance de pouvoir faire 2 sessions ssh quand j'ai fait la stupide erreur:

  1. Ouvrir 2 terminaux
  2. Dans le terminal 2, exécutez echo $$ pour obtenir le PID
  3. Exécutez pkttyagent --process PID_FROM_STEP2 dans le terminal 2
  4. Dans le terminal 1, exécutez pkexec chmod 0440 /etc/sudoers
  5. Dans mon cas, j'ai également dû exécuter pkexec chown root:root /etc/sudoers
réponse donnée 4oo4 29.11.2017 - 04:23
la source

Lire d'autres questions sur les étiquettes