49 votes

Comment puis-je réparer le sudo cassé - sudo : parse error in /etc/sudoers near line 23 ?

J'obtiens cette erreur :

sudo: parse error in /etc/sudoers near line 23
sudo: no valid sudoers sources found, quitting
sudo: unable to initialize policy plugin

J'essayais de désactiver l'authentification par mot de passe pour ne pas avoir à taper le mot de passe à chaque fois que je veux installer quelque chose, mais je l'ai probablement modifié d'une manière pas très bonne. Je suis un nouveau venu à Ubuntu, j'en ai eu marre de Windows :)

Jusqu'à présent, j'ai trouvé des personnes suggérant de démarrer en mode mono-utilisateur, mais j'ai peur de tout gâcher davantage.

Comment puis-je corriger cette erreur ?

0 votes

Si vous démarrez en mode utilisateur unique et utilisez visudo Dans ce cas, il ne vous laissera pas enregistrer un fichier incorrect, ce qui vous empêchera de faire des erreurs supplémentaires.

0 votes

Merci, comment puis-je modifier le fichier, alors ? Et, comment faire exactement pour démarrer en mode mono-utilisateur ?

0 votes

Maintenez immédiatement la touche Shift pendant le démarrage afin d'obtenir l'écran Grub. Sélectionnez le mode de récupération. Choisissez de tomber sur un terminal root. Exécutez mount -n -o remount,rw / et ensuite visudo . Ctrl+O enregistre, Ctrl+X quitte sans enregistrer. Il ne vous laissera pas enregistrer un mauvais fichier.

57voto

user196546 Points 605

Réparer cela est très simple, et il y a une réponse. ailleurs sur askubuntu .

Réponse courte, utiliser :

pkexec editor_of_choice

2 votes

C'est certainement la réponse la plus simple et la meilleure. Je n'avais aucune idée de l'existence de pkexec. Merci beaucoup à tous les deux

3 votes

Quand je fais pkexec, il donne la liste des utilisateurs à authentifier. Lorsque je tape le mot de passe, il donne l'échec de l'authentification. Veuillez m'aider.

4 votes

@Shyamkkhadka J'ai rencontré ce problème également. Cette solution sur GitHub m'a sauvé moi et une centaine d'autres personnes.

19voto

BezantSoft Points 1

Maintenez immédiatement la touche Shift pendant le démarrage afin d'obtenir l'écran Grub. Sélectionnez le mode de récupération. Choisissez de tomber sur un terminal root. Exécutez mount -n -o remount,rw / et ensuite visudo . Il vous laissera corriger vos problèmes avec le fichier et l'enregistrer. Il ne vous laissera pas enregistrer un fichier malformé.

0 votes

Shift n'a pas fonctionné pour moi, j'ai dû appuyer sur des touches pour obtenir Grub.

0 votes

@nafg Chaque configuration est différente.

0 votes

Je n'ai pas de visudo installé dans mon ubuntu. Que puis-je faire ?

3voto

Igor Parra Points 209

La solution suivante est pour les serveurs distants, elle fonctionne !

http://ubuntuforums.org/showthread.php?t=2036382&p=12144840#post12144840

il suffit alors d'utiliser visudo pour ajouter roue etc.


  1. Renommez votre fichier actuel

    mv /etc/sudoers{,.bak}

  2. Créez-en un nouveau vi /etc/sudoers avec le contenu de base suivant :

    # /etc/sudoers
    #
    # This file MUST be edited with the 'visudo' command as root.
    #
    # See the man page for details on how to write a sudoers file.
    # Defaults    env_reset
    # Host alias specification
    # User alias specification
    # Cmnd alias specification
    # User privilege specification
    root    ALL=(ALL) ALL
    # Allow members of group sudo to execute any command after they have
    # provided their password
    # (Note that later entries override this, so you might need to move
    # it further down)
    %sudo ALL=(ALL) ALL
    #
    #includedir /etc/sudoers.d
    # Members of the admin group may gain root privileges
    %admin ALL=(ALL) ALL
  3. Exécuter visudo et ajoutez vos trucs personnalisés.

3 votes

Comment le déplacer sans sudo et sudo est cassé ?

2voto

streak Points 249

Si tu as raté ton fichier sudoers, tu devras le faire :

  • Redémarrer en mode récupération (appuyer sur escape pendant le démarrage, choisir l'option mode récupération sur l'écran Grub).
  • Choisissez l'option "Activer le réseau" (si vous ne le faites pas, votre système de fichiers sera monté en lecture seule, qui l'aurait cru).
  • Choisissez l'option 'Drop to root Shell'.
  • exécutez visudo, corrigez votre fichier
  • Redémarrer avec l'option normale Grub.

source :- http://mario.net.au/content/recover-etcsudoers-ubuntu-1204

1 votes

Question de suivi : Quand je choisis le Enable networking on me demande de dire au système que je suis sûr. Je fais ça et je tombe dans le néant. Pas d'invite pour la racine, rien. Que dois-je m'attendre à voir/faire après la deuxième étape ? Merci.

2voto

ajile Points 144

Vous pouvez le faire :

Créer une copie

cp /etc/sudoers /etc/sudoers.bak

Modifier les parties problématiques ici

vim /etc/sudoers.bak

Remplacer le fichier sudoers d'origine

cp /etc/sudoers.bak /etc/sudoers

Ça marche pour moi.

0 votes

Cela a fonctionné lorsque je me suis connecté en utilisant le super utilisateur (su -) et que j'ai exécuté les étapes ci-dessus. Merci

27 votes

Mais tu dois être racine. Donc...

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X