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:
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.
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:
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.
Réponses:
Si aucun
.lock
fichier n'est présent mais que vous ne pouvez toujours pas créer d'utilisateur, essayez ce qui suitSi vous êtes connecté en tant que
root
puis utilisezla source
.lock
fichiers? grâce à @trevorRobinson, il semble que l'on devrait regarder dedans/etc/
, correct?mount: cannot remount /dev/dm-0 read-write, is write-protected
. Je suis sous ChromeOS (Linux) avec le mode Dev activé.En effet, vous ne disposez pas des autorisations pour ces opérations
/etc/shadow
/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
L'utilisateur sous lequel vous exécutez les commandes n'a pas les privilèges requis. Changer d'
root
utilisateur en émettant la commandeou si vous avez / utilisez
sudo
la source
Cela peut également être dû à un manque d'espace sur le système de fichiers racine. Utilisez
strace
pour être sûr.strace
est votre ami.la source
df
au lieu destrace
bien. Comment cela pourrait-ilstrace
m'aider? Jamais utiliséstrace -f -e trace=file
commande car cela donne généralement les résultats les plus utiles.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:
la source
Si vous avez
-R /some/chroot
ajouté à votreuseradd
commande, 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.
la source
-R [dir]
option, j'ai pu créer l'utilisateur.useradd
n'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 ...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:
Cette commande m'a vraiment aidé. Merci beaucoup.
la source
Une démo de cette erreur sur Ubuntu 14.04:
sudo vous donne la permission de le verrouiller.
la source
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 «lock», sinon vous pourriez endommager votre système.
Référence: https://bugs.launchpad.net/ubuntu/+source/shadow/+bug/523896
la source
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.
la source