Avec plusieurs commandes sous Linux, j'obtiens l'erreur:
cannot lock /etc/passwd; try again later.
Est-ce que quelqu'un sait comment le résoudre? De plus, je n'entre pas dans mon répertoire/etc/shadow.
Si aucun fichier .lock
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 root
, utilisez
mount -o remount,rw /
C'est parce que vous n'avez pas les autorisations pour ces opérations
/etc/shadow
/etc/passwd
Vous pouvez modifier les deux fichiers à l'aide de commandes spécialisées (par exemple, vous pouvez changer votre mot de passe).
L'utilisateur avec lequel vous exécutez les commandes n'a pas les privilèges requis. Passez à root
user en lançant la commande
su -
ou si vous avez/utilisez Sudo
Sudo <command to run>
Cela peut également être causé par un manque d'espace sur le système de fichiers racine. Utilisez strace
pour en être sûr. strace
est votre ami.
Je me suis heurté à cela lorsqu'une erreur de disque s'est produite lors d'une opération userdel et que le système devait être redémarré. Je devais supprimer les quatre fichiers suivants pour pouvoir continuer:
Sudo rm /etc/passwd.lock
Sudo rm /etc/shadow.lock
Sudo rm /etc/group.lock
Sudo rm /etc/gshadow.lock
Si vous avez ajouté -R /some/chroot
à votre commande useradd
, 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 être chrooté dans le répertoire spécifié, après quoi, bien sûr, il ne peut plus trouver/etc/passwd. Je ne suis donc pas sûr de savoir à quoi sert cette option, mais voici votre (bien, mon) problème.
Je me suis heurté à cela lorsqu'une erreur de disque s'est produite lors d'une opération userdel et que le système devait être redémarré. Je devais supprimer les quatre fichiers suivants pour pouvoir 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.
Recherchez les fichiers /etc/group.lock, /etc/passwd.lock et /etc/shadow.lock et supprimez-les.
Veillez à ne supprimer que les fichiers se terminant par "verrouiller", sinon vous pourriez endommager votre système.
Référence: https://bugs.launchpad.net/ubuntu/+source/shadow/+bug/523896
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$
Même problème, car/etc était plein. C'est pourquoi/etc/passwd n'a pas pu être écrit. Assurez-vous de disposer de suffisamment d’espace sur/etc. Sinon, agrandissez-le ou nettoyez les éléments inutiles.