web-dev-qa-db-fra.com

Supprimé moi-même du groupe d’administrateurs - maintenant une erreur se produit usermod: impossible de verrouiller / etc / passwd; Réessayez plus tard

Duplicate possible:
Impossible de verrouiller '/ etc/group' en mode de récupération

J'ai un ordinateur portable avec Ubuntu 11.10 qui est partagé entre moi et deux autres membres de la famille. Mon identifiant utilisateur a été configuré en tant que seul "administrateur" sur l'ordinateur portable. Les autres utilisateurs ont été configurés en tant qu’utilisateurs "standard". Dans ma tentative d'essayer de m'ajouter aux groupes d'utilisateurs pour les autres utilisateurs, je me suis en quelque sorte supprimé des groupes d'administrateurs. J'ai utilisé la commande "usermod" du terminal. J'ai dû négliger d'inclure les commutateurs ou la syntaxe appropriés pour la mise à jour.

Il semble que j'ai ajouté avec succès mon ID utilisateur au groupe associé au compte de ma femme. Lorsque j'utilise la commande "groups", je ne peux voir que mon identifiant et celui de ma femme dans la liste. Je ne vois plus les groupes "admin" ou "adm", et d'autres qui étaient listés auparavant. Lorsque je vais dans Paramètres système> Comptes d'utilisateurs, il semble que mon identifiant soit maintenant répertorié comme utilisateur "standard". J'aimerais remettre mon compte sur "Administrateur", mais maintenant je ne le peux pas.

J'ai fait quelques recherches pour trouver des solutions et constaté que je devrais démarrer en mode de récupération et exécuter la commande usermod à partir de la session racine. J'ai réussi à démarrer en mode de récupération et à accéder à la session racine. J'essayais d'exécuter la commande "usermod -a -G admin user1" pour rajouter mon identifiant (utilisateur1) au groupe admin.

Lorsque j'exécute la commande à partir de la session racine, le message d'erreur suivant apparaît: "usermod: ne peut pas verrouiller/etc/passwd; réessayez plus tard". J'ai essayé de faire précéder la commande usermod par "Sudo", mais cela n'a pas changé, même erreur. J'ai ensuite essayé d'ajouter un nouvel utilisateur à l'aide de adduser, en pensant que je voudrais créer un nouvel ID utilisateur et faire en sorte que le nouvel ID utilisateur fasse partie du groupe admin. Je reçois la même erreur en utilisant la commande adduser.

J'ai vu des publications recommandant de rechercher et de supprimer des fichiers se terminant par ".lock" dans le répertoire etc. Le seul fichier que j'ai trouvé était .pwd.lock que je n'ai pas touché.

Je ne sais pas quoi essayer ensuite. Ubuntu et Linux étant relativement peu expérimentés, beaucoup de choses me sont nouvelles. Toute aide que vous pourriez fournir serait très appréciée.

11
BubbaJ

J'ai enfin compris pourquoi je recevais le message d'erreur "usermod: ne peut pas verrouiller/etc/passwd; réessayer plus tard". La cause première du problème était liée au fait que lorsque j'ai démarré en mode de récupération, le système de fichiers était monté par défaut en lecture seule. le système de fichiers était monté en lecture seule, les commandes adduser et usermod n'étaient pas en mesure d'exécuter leurs fonctions et produisaient le message d'erreur.

Ce qui m'a fait penser que le problème n'était pas un fichier corrompu ni un problème lié à * .lock, c'était qu'il n'y avait aucun fichier passwd.lock, group.lock ou shadow.lock dans le dossier/etc. De plus, j'ai reçu un message d'erreur différent lorsque j'ai essayé de copier, renommer ou supprimer le fichier .pwd.lock qui se trouvait dans le dossier/etc lorsque j'ai été démarré dans la session racine en mode de récupération. J'ai reçu un message d'erreur différent, quelque chose comme impossible de renommer le fichier en lecture seule. J'ai fait des recherches sur le Web sur "Récupérer en mode lecture seule" et suis tombé sur le post suivant: http://www.linuxquestions.org/questions/linux-general-1/cannot-edit-fstab-in-recovery -mode-filesystem-is-read-only-540195 / .

La publication parle du mode de récupération étant en mode lecture seule par défaut. Il a suggéré de remonter en lecture-écriture pour permettre d'apporter des modifications aux fichiers du dossier/etc. Alors voici ce que j'ai fait pour résoudre le problème:

  1. Éteindre l'ordinateur
  2. Démarrez en mode de récupération - Après le chargement du BIOS, maintenez la touche Maj enfoncée pour accéder au menu Grub --Une fois dans le menu Grub, sélectionnez l'entrée se terminant par "(mode de récupération)"
  3. Dans le menu suivant, option sélectionnée pour entrer dans la session racine
  4. A la session racine, exécutez la commande suivante pour remonter le système de fichiers en lecture-écriture:

    mount -o remount,rw /
    
  5. Exécutez la commande adduser pour rajouter mon ID utilisateur au groupe admin. Commande exécutée "adduser nom d'utilisateur admin" où j'ai remplacé le nom d'utilisateur par mon nom d'utilisateur système actuel. Cette fois, je n'ai pas reçu d'erreur lors de l'exécution de la commande car le système de fichiers était monté en lecture-écriture.

  6. Quittez la session racine, quittez le mode de récupération et redémarrez.

Une fois redémarré dans Ubuntu, je pouvais voir que mon ID utilisateur était maintenant inscrit comme membre du groupe admin, en exécutant la commande "Groupes" à partir de la session de terminal normale. J'ai également vérifié la même chose dans l'interface graphique en allant à "Comptes d'utilisateurs" dans le menu Paramètres système d'Ubuntu. Là, mon ID utilisateur était également répertorié en tant qu '"administrateur".

Je suis allé plus loin pour essayer de reproduire mon problème d'origine pour voir si le redémarrage en mode de récupération et ignorer l'étape 4 ci-dessus (pour remonter le système de fichiers en lecture-écriture) reproduirait l'erreur "impossible de verrouiller/etc/passwd". fait. La cause première du problème était liée à la manière dont le système de fichiers avait été monté en mode de récupération.

En tant que nouvel utilisateur, il me semble étrange que le démarrage en mode de récupération soit en lecture seule par défaut. N’est-ce pas l’idée de la récupération, de la nécessité de faire quelques changements pour corriger les fichiers de mise à jour, des problèmes qui seraient autrement impossibles en tant qu’utilisateur normal?

Quoi qu'il en soit, je suis juste heureux d'avoir maintenant au moins un utilisateur sur l'ordinateur avec un accès administrateur. Merci encore à tous ceux qui ont répondu à mon problème.

19
BubbaJ

Vous pouvez essayer de vider le fichier /etc/.pwd.lock (nano /etc/.pwd.lock et de tout supprimer) s'il ne l'est pas et utiliser adduser your_user admin de la session racine pour réinsérer votre utilisateur dans le groupe admin. Ce fichier est destiné à contrôler l'accès aux fichiers /etc/passwd et /etc/shadow en évitant les modifications simultanées. Il devrait être vide si aucun des fichiers n'est en cours de modification.

1
laurent

Démarrez en mode de récupération, choisissez l'option Shell racine et rajoutez votre compte d'utilisateur au groupe d'administrateurs.

0
psusi

Vous devriez vraiment supprimer ce fichier de verrouillage en utilisant la console de récupération, bien que je pense que vous pourriez probablement faire la même chose en passant simplement en mode super utilisateur avec la commande su - dans un terminal de votre session utilisateur habituelle. Cela semble être un bogue connu, bien que la raison pour laquelle il apparaît soit inconnue. Vérifiez ce rapport de bogue pour plus d'informations.

En passant, utiliser Sudo sur une session root n’a aucun sens car Sudo n’exécute qu’une commande avec les privilèges root et si vous utilisez déjà le système avec root, vous exécutez déjà des commandes avec des privilèges root.

0
devius