Kann / etc / passwd nicht sperren; versuchen Sie es später erneut


30

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.


2
Sie müssen Ihre Benutzerebene mit dem Befehl "sudo" oder "su" erhöhen.
Raptor

4
Dein / etc / shadow Verzeichnis ?!? / etc / shadow sollte eine Datei sein. Bitte geben Sie den genauen Befehl ein, den Sie ausführen möchten.
Brian White

3
In meinem Fall war das Root-Dateisystem voll :-p

Antworten:


22

Wenn keine .lockDateien vorhanden sind, Sie aber dennoch keinen Benutzer erstellen können, versuchen Sie Folgendes

sudo mount -o remount,rw /

Wenn Sie als angemeldet sind, rootverwenden Sie

mount -o remount,rw /

Dies löste das Problem, das ich hatte, nachdem ich in den Wiederherstellungsmodus gebootet hatte, indem ich den Grub-Eintrag
bearbeitete

aber wo soll man nach den .lockAkten suchen ? dank @trevorRobinson sollte man wohl mal reinschauen /etc/, oder?
Hallo_Hier_undy

Was ist, wenn es heißt mount: cannot remount /dev/dm-0 read-write, is write-protected. Ich bin in ChromeOS (Linux) mit aktiviertem Dev Mode.
Trusktr

Warum ist das nicht die akzeptierte Antwort?
Math2001

9

Das liegt daran, dass Sie für diese Vorgänge keine Berechtigungen haben

  • Du kannst nicht lesen /etc/shadow
  • Sie können nicht direkt ändern /etc/passwd

Sie können beide Dateien mit speziellen Befehlen ändern (z. B. können Sie Ihr Passwort ändern).


1
Um das Passwort zu ändern, benutze "passwd <Benutzername>"
Raptor

9

Dem Benutzer, für den Sie die Befehle ausführen, fehlen die erforderlichen Berechtigungen. Wechseln Sie zu rootBenutzer, indem Sie den Befehl absetzen

su -

oder wenn Sie haben / verwenden sudo

sudo <command to run>

6

Dies kann auch dadurch verursacht werden, dass im Root-Dateisystem nicht genügend Speicherplatz vorhanden ist. Verwenden Sie strace, um sicher zu sein. straceist dein Freund.


Ich habe viele Themen mit meinem Problem gelesen und das war eigentlich die Lösung. Sollte eines der ersten Dinge sein, die überprüft werden müssen, wenn Probleme mit dem Dateisystem auftreten, denke ich. Ich benutze dfstattdessen strace. Wie würde stracemir helfen? Ich habe es nie benutzt
erikbwork

2
Nun, wenn Sie bereits vermutet haben, dass das Problem möglicherweise nicht mehr genügend Speicherplatz bietet, kann df Abhilfe schaffen. Aber strace wird Ihnen sagen, wie der Fehlercode lautete, als versucht wurde, die Datei zu sperren, sodass das Rätselraten beseitigt werden sollte. Die Art, wie ich normalerweise strace nenne, ist strace -f -e trace=file command, da dies normalerweise die nützlichsten Ergebnisse liefert.
Robin Green

6

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

6

Wenn Sie -R /some/chrootIhren useraddBefehl 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.


Genau das habe ich versucht. Nachdem -R [dir]ich die Option entfernt hatte, konnte ich den Benutzer erstellen.
Gustavo Straube

Schön zu raten! Vielen Dank. Ich habe auch verstanden, dass das chroot für useraddnicht 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 ...
Ninj

2

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.


Dies ist ein Dankeskommentar zu einer früheren Antwort.
Verdächtiger

1

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$


1

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.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.