Bei mehreren Befehlen in Linux erhalte ich den Fehler:
cannot lock /etc/passwd; try again later.
Weiß jemand, wie man es löst? Außerdem komme ich nicht in mein Verzeichnis / etc / shadow.
Bei mehreren Befehlen in Linux erhalte ich den Fehler:
cannot lock /etc/passwd; try again later.
Weiß jemand, wie man es löst? Außerdem komme ich nicht in mein Verzeichnis / etc / shadow.
Antworten:
Wenn keine .lock
Dateien vorhanden sind, Sie aber dennoch keinen Benutzer erstellen können, versuchen Sie Folgendes
sudo mount -o remount,rw /
Wenn Sie als angemeldet sind, root
verwenden Sie
mount -o remount,rw /
.lock
Akten suchen ? dank @trevorRobinson sollte man wohl mal reinschauen /etc/
, oder?
mount: cannot remount /dev/dm-0 read-write, is write-protected
. Ich bin in ChromeOS (Linux) mit aktiviertem Dev Mode.
Das liegt daran, dass Sie für diese Vorgänge keine Berechtigungen haben
/etc/shadow
/etc/passwd
Sie können beide Dateien mit speziellen Befehlen ändern (z. B. können Sie Ihr Passwort ändern).
Dies kann auch dadurch verursacht werden, dass im Root-Dateisystem nicht genügend Speicherplatz vorhanden ist. Verwenden Sie strace
, um sicher zu sein. strace
ist dein Freund.
df
stattdessen strace
. Wie würde strace
mir helfen? Ich habe es nie benutzt
strace -f -e trace=file
command, da dies normalerweise die nützlichsten Ergebnisse liefert.
Ich bin darauf gestoßen, als ein Festplattenfehler während eines Userdel-Vorgangs auftrat und das System neu gestartet werden musste. Ich musste alle vier der folgenden Dateien löschen, um fortzufahren:
sudo rm /etc/passwd.lock
sudo rm /etc/shadow.lock
sudo rm /etc/group.lock
sudo rm /etc/gshadow.lock
Wenn Sie -R /some/chroot
Ihren useradd
Befehl erweitert haben, könnte dies das Problem sein.
Ich dachte, es würde bedeuten, dass der Benutzer beim Anmelden eingesperrt wird, aber das ist nicht der Fall. Als ich mir die Ausgabe von strace ansah, sah ich, dass useradd in das angegebene Verzeichnis gechrootet wurde, wonach / etc / passwd natürlich nicht mehr gefunden werden kann. Ich bin mir also nicht sicher, wozu diese Option in Frage kommt, aber es gibt dein (naja, mein) Problem.
-R [dir]
ich die Option entfernt hatte, konnte ich den Benutzer erstellen.
useradd
nicht das ist, was Sie denken, dass es ist :) Es verwendet nur das angegebene Verzeichnis als Root für das System des Benutzers . Es ist nützlich für geklonte isolierte Sub-Betriebssysteme, was selten das ist, was Sie wollen ...
Ich bin darauf gestoßen, als ein Festplattenfehler während eines Userdel-Vorgangs auftrat und das System neu gestartet werden musste. Ich musste alle vier der folgenden Dateien löschen, um fortzufahren:
sudo rm /etc/passwd.lock
sudo rm /etc/shadow.lock
sudo rm /etc/group.lock
sudo rm /etc/gshadow.lock
Dieser Befehl hat mir wirklich geholfen. Vielen Dank.
Eine Demo dieses Fehlers unter 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 gibt Ihnen die Erlaubnis, es zu sperren.
user@mybox:/home$ sudo userdel eric
user@mybox:/home$
Suchen Sie nach den Dateien /etc/group.lock, /etc/passwd.lock und /etc/shadow.lock und entfernen Sie sie.
Entfernen Sie nur die Dateien, die mit "lock" enden, da Sie sonst Ihr System beschädigen könnten.
Referenz: https://bugs.launchpad.net/ubuntu/+source/shadow/+bug/523896
Hatte das gleiche Problem, da / etc voll war. Aus diesem Grund konnte / etc / passwd nicht geschrieben werden. Stellen Sie sicher, dass Sie genügend Speicherplatz auf / etc haben. Wenn nicht, vergrößern Sie ihn oder reinigen Sie unnötiges Material.