Impossible de verrouiller / etc / passwd; Réessayez plus tard

30

Avec plusieurs commandes sous Linux, j'obtiens l'erreur:

cannot lock /etc/passwd; try again later.

Quelqu'un sait-il comment le résoudre? De plus, je ne rentre pas dans mon répertoire / etc / shadow.

Eric Leschinski
la source
2
vous devez augmenter votre niveau d'utilisateur en utilisant la commande "sudo" ou "su".
Raptor
4
Votre répertoire / etc / shadow ?!? / etc / shadow devrait être un fichier. Veuillez donner la commande exacte que vous essayez d'exécuter.
Brian White
3
Dans mon cas, le système de fichiers racine était plein

Réponses:

22

Si aucun .lockfichier n'est présent mais que vous ne pouvez toujours pas créer d'utilisateur, essayez ce qui suit

sudo mount -o remount,rw /

Si vous êtes connecté en tant que rootpuis utilisez

mount -o remount,rw /
Syed Hassaan Abdullah
la source
Cela a résolu le problème que j'avais après le démarrage en mode de récupération en modifiant l'entrée grub
twobeers
mais où chercher les .lockfichiers? grâce à @trevorRobinson, il semble que l'on devrait regarder dedans /etc/, correct?
hello_there_andy
Et si ça disait mount: cannot remount /dev/dm-0 read-write, is write-protected. Je suis sous ChromeOS (Linux) avec le mode Dev activé.
trusktr
Pourquoi n'est-ce pas la réponse acceptée ??
math2001
9

En effet, vous ne disposez pas des autorisations pour ces opérations

  • Tu ne peux pas lire /etc/shadow
  • Vous ne pouvez pas modifier directement /etc/passwd

Vous pouvez modifier les deux fichiers via des commandes spécialisées (par exemple, vous pouvez modifier votre mot de passe).


la source
1
pour changer le mot de passe, utilisez "passwd <username>"
Raptor
9

L'utilisateur sous lequel vous exécutez les commandes n'a pas les privilèges requis. Changer d' rootutilisateur en émettant la commande

su -

ou si vous avez / utilisez sudo

sudo <command to run>
inquam
la source
6

Cela peut également être dû à un manque d'espace sur le système de fichiers racine. Utilisez stracepour être sûr. straceest votre ami.

Robin Green
la source
J'ai lu de nombreuses discussions avec mon problème et c'était en fait la solution. Cela devrait être l'une des premières choses à vérifier en cas de problème de système de fichiers, je suppose. J'utilise dfau lieu de stracebien. Comment cela pourrait-il stracem'aider? Jamais utilisé
erikbwork
2
Eh bien, si vous avez déjà deviné que le problème pouvait manquer d'espace, alors df peut vous aider. Mais strace vous dira quel était le code d'erreur lorsqu'il a essayé de verrouiller le fichier, il devrait donc supprimer les hypothèses. La façon dont j'appelle habituellement strace est la strace -f -e trace=file commande car cela donne généralement les résultats les plus utiles.
Robin Green
6

J'ai rencontré cela lorsqu'une erreur de disque s'est produite lors d'une opération userdel et que le système a dû être redémarré. J'ai dû supprimer les quatre fichiers suivants pour continuer:

sudo rm /etc/passwd.lock
sudo rm /etc/shadow.lock
sudo rm /etc/group.lock
sudo rm /etc/gshadow.lock
Trevor Robinson
la source
6

Si vous avez -R /some/chrootajouté à votre useraddcommande, cela pourrait être le problème.

Je pensais que cela signifiait que l'utilisateur serait emprisonné lors de la connexion, mais ce n'est pas le cas. En regardant la sortie strace, j'ai vu useradd chrooté dans le répertoire spécifié, après quoi bien sûr il ne peut plus trouver / etc / passwd. Je ne sais donc pas à quoi sert l'option, mais il y a votre (enfin, mon) problème.

Luc
la source
C'était exactement ce que j'essayais. Après avoir supprimé l' -R [dir]option, j'ai pu créer l'utilisateur.
Gustavo Straube
Belle supposition! Merci. J'ai également compris que le chroot useraddn'est pas ce que vous pensez qu'il est :) Il utilise uniquement le répertoire spécifié comme racine pour le système de l'utilisateur . C'est utile pour les sous-OS isolés clonés, ce qui est rarement ce que vous voulez ...
Ninj
2

J'ai rencontré cela lorsqu'une erreur de disque s'est produite lors d'une opération userdel et que le système a dû être redémarré. J'ai dû supprimer les quatre fichiers suivants pour continuer:

sudo rm /etc/passwd.lock
sudo rm /etc/shadow.lock
sudo rm /etc/group.lock
sudo rm /etc/gshadow.lock

Cette commande m'a vraiment aidé. Merci beaucoup.

LI JIM
la source
Ceci est un commentaire de remerciement à une réponse précédente.
suspectus
1

Une démo de cette erreur sur Ubuntu 14.04:

user@mybox:/home$ sudo useradd eric
user@mybox:/home$ userdel eric
userdel: Permission denied.
userdel: cannot lock /etc/passwd; try again later.

sudo vous donne la permission de le verrouiller.

user@mybox:/home$ sudo userdel eric
user@mybox:/home$
Eric Leschinski
la source
1

J'ai eu le même problème, car / etc était plein. C'est pourquoi / etc / passwd n'a pas pu être écrit. Assurez-vous d'avoir suffisamment d'espace sur / etc, sinon agrandissez-le ou nettoyez les éléments inutiles.

Boris Paperny
la source