Sur un système Ubuntu moderne (et de nombreuses autres distributions GNU / Linux), réparer un sudoers
fichier corrompu est en fait assez simple et ne nécessite pas de redémarrage, d’utilisation d’un CD live ou d’accès physique à la machine.
Pour ce faire via SSH, connectez-vous à la machine et exécutez la commande pkexec visudo
. Si vous avez un accès physique à la machine, SSH n'est pas nécessaire. ouvrez simplement une fenêtre de terminal et lancez cette pkexec
commande.
En supposant que vous (ou un autre utilisateur) êtes autorisé à exécuter des programmes comme root
avec PolicyKit, vous pouvez entrer votre mot de passe, puis il s'exécutera en visudo
tant que root
, et vous pourrez y remédier /etc/sudoers
.
Si vous avez besoin de modifier l'un des fichiers de configuration /etc/sudoers.d
(ce qui est rare dans cette situation, mais possible), utilisez .pkexec visudo -f /etc/sudoers.d/filename
Si vous rencontrez une situation connexe dans laquelle vous devez exécuter des commandes d'administration système supplémentaires en tant que root pour résoudre le problème (également rare dans ce cas, mais commun dans d'autres), vous pouvez démarrer un shell racine interactif avec pkexec bash
. De manière générale, toute commande non graphique que vous exécuteriez sudo
peut être exécutée à la pkexec
place.
(S'il existe plus d'un compte utilisateur sur le système autorisé à exécuter des programmes comme root
avec PolicyKit, il vous sera demandé de sélectionner celui que vous souhaitez utiliser avant de vous demander votre mot de passe.)
Si cela ne fonctionne pas - par exemple, si aucun utilisateur n'est autorisé à exécuter des programmes en tant que root via PolicyKit - démarrez à partir d'un live CD Ubuntu (comme le CD que vous avez probablement utilisé pour installer Ubuntu) et montez le système de fichiers pour le système installé. Vous pouvez le faire en exécutant
sudo parted -l
pour afficher vos partitions - il n'y a probablement qu'une partition ext4, et c'est le système de fichiers racine.
Supposons que le système de fichiers racine du système Ubuntu installé se trouve sur / dev / sda1. Ensuite, vous pouvez le monter avec sudo mount /dev/sda1 /mnt
. Ensuite, vous pouvez éditer le fichier sudoers du système installé avec sudo nano -w /mnt/etc/sudoers
. Ou, mieux encore, vous pouvez le modifier avec
sudo visudo -f /mnt/etc/sudoers
(ce qui vous empêchera de sauvegarder un fichier sudoers avec une syntaxe incorrecte).