Po kilku poleceniach w systemie Linux pojawia się błąd:
cannot lock /etc/passwd; try again later.
Czy ktoś wie jak to rozwiązać? Również nie dostaję się do mojego katalogu / etc / shadow.
Po kilku poleceniach w systemie Linux pojawia się błąd:
cannot lock /etc/passwd; try again later.
Czy ktoś wie jak to rozwiązać? Również nie dostaję się do mojego katalogu / etc / shadow.
Odpowiedzi:
Jeśli nie ma żadnych .lock
plików, ale nadal nie można utworzyć użytkownika, spróbuj wykonać następujące czynności
sudo mount -o remount,rw /
Jeśli zalogowany, root
to użyj
mount -o remount,rw /
.lock
plików? dzięki @trevorRobinson wydaje się, że należy zajrzeć /etc/
, prawda?
mount: cannot remount /dev/dm-0 read-write, is write-protected
. Jestem w ChromeOS (Linux) z włączonym trybem deweloperskim.
To dlatego, że nie masz uprawnień do tych operacji
/etc/shadow
/etc/passwd
Możesz zmienić oba pliki za pomocą specjalnych poleceń (np. Możesz zmienić hasło).
Może to być również spowodowane brakiem miejsca w głównym systemie plików. Użyj, strace
aby się upewnić. strace
jest twoim przyjacielem.
df
zamiast strace
. Jak strace
mógłbyś mi pomóc? Nigdy go nie użyłem
strace -f -e trace=file
polecenie, ponieważ zwykle daje to najbardziej przydatne wyniki.
Natknąłem się na to, gdy wystąpił błąd dysku podczas operacji userdel i system musiał zostać zrestartowany. Aby kontynuować, musiałem usunąć wszystkie cztery następujące pliki:
sudo rm /etc/passwd.lock
sudo rm /etc/shadow.lock
sudo rm /etc/group.lock
sudo rm /etc/gshadow.lock
Jeśli -R /some/chroot
dodałeś do swojego useradd
polecenia, może to być problem.
Myślałem, że oznacza to, że użytkownik zostanie skazany na więzienie przy logowaniu, ale tak nie jest. Przeglądając dane wyjściowe strace, zobaczyłem użytkownika chrootowanego w określonym katalogu, po którym oczywiście nie może już znaleźć / etc / passwd. Nie jestem więc pewien, do czego służy ta opcja, ale jest twój (mój, mój) problem.
-R [dir]
opcji udało mi się utworzyć użytkownika.
useradd
jest nie to, co myślisz, że jest :) To tylko wykorzystuje określony dir jako korzeń dla użytkownika systemu . Jest przydatny w klonowanym izolowanym podsystemie, który rzadko jest tym, czego chcesz ...
Natknąłem się na to, gdy wystąpił błąd dysku podczas operacji userdel i system musiał zostać zrestartowany. Aby kontynuować, musiałem usunąć wszystkie cztery następujące pliki:
sudo rm /etc/passwd.lock
sudo rm /etc/shadow.lock
sudo rm /etc/group.lock
sudo rm /etc/gshadow.lock
To polecenie naprawdę mi pomogło. Wielkie dzięki.
Demo tego błędu na 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 daje ci pozwolenie na zablokowanie go.
user@mybox:/home$ sudo userdel eric
user@mybox:/home$
Poszukaj plików /etc/group.lock, /etc/passwd.lock i /etc/shadow.lock i usuń je.
Uważaj, aby usunąć tylko pliki z rozszerzeniem „lock”, ponieważ możesz uszkodzić system.
Odniesienie: https://bugs.launchpad.net/ubuntu/+source/shadow/+bug/523896
Miał ten sam problem, ponieważ plik / etc był pełny. Dlatego nie można napisać / etc / passwd. Upewnij się, że masz wystarczająco dużo miejsca na / etc, jeśli nie, powiększ go lub wyczyść niepotrzebne rzeczy.