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:
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:
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.
Antworten:
Wenn keine
.lock
Dateien vorhanden sind, Sie aber dennoch keinen Benutzer erstellen können, versuchen Sie FolgendesWenn Sie als angemeldet sind,
root
verwenden Siequelle
.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).
quelle
Dem Benutzer, für den Sie die Befehle ausführen, fehlen die erforderlichen Berechtigungen. Wechseln Sie zu
root
Benutzer, indem Sie den Befehl absetzenoder wenn Sie haben / verwenden
sudo
quelle
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.quelle
df
stattdessenstrace
. Wie würdestrace
mir helfen? Ich habe es nie benutztstrace -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:
quelle
Wenn Sie
-R /some/chroot
Ihrenuseradd
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.
quelle
-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:
Dieser Befehl hat mir wirklich geholfen. Vielen Dank.
quelle
Eine Demo dieses Fehlers unter Ubuntu 14.04:
sudo gibt Ihnen die Erlaubnis, es zu sperren.
quelle
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
quelle
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.
quelle