Próbowałem zmienić moją nazwę użytkownika, a także katalog domowy ( /home/username
) i mój system zaczął się zawieszać. Usunąłem passwd
plik, ale miałem kopię zapasową o nazwie passwd_bkp
. Próbowałem zmienić nazwę tego passwd_bkp
na passwd
i to nie działało. Żadne polecenia nie były wykonywane ... Byłem w oknie terminala.
Zrestartowałem system i teraz nie mogę się zalogować. GRUB daje dwie opcje: Linux i tryb odzyskiwania.
Próbowałem otworzyć sesję jako root, ale mówi, że system plików jest uszkodzony. Nie mogę uzyskać dostępu do moich plików.
Czy straciłem wszystkie moje pliki?
login
authentication
users
passwd-file
joao rodrigo leao
źródło
źródło
/etc/passwd
pliku , nie można również zresetować hasła. Musisz przywrócić (lub odtworzyć)passwd
plik. Po wykonaniu tej czynności na ogół nie trzeba resetować hasła.Odpowiedzi:
Nie, biorąc pod uwagę opis, nie straciłeś żadnych plików (oprócz tych
/etc/passwd
, które usunąłeś, ale których kopię zapasową utworzyłeś).Uruchom Live CD / DVD Ubuntu lub dysk flash USB na żywo. Wybierz
Try Ubuntu
(nieInstall Ubuntu
). Po załadowaniu pulpitu otwórz okno Nautilus (przeglądarka plików). Możesz znaleźć partycję dla swojego systemu Ubuntu podDevices
. Kliknij, aby go zamontować.Teraz możesz przywrócić kopię zapasową. Musisz to jednak zrobić jako root. Oto jeden dość łatwy sposób, aby to zrobić.
Otwórz okno terminala ( Ctrl+ Alt+ T). W Terminalu wpisz
cd
i wpisz Spaceklucz, ale jeszcze nie naciskaj Enter.W Nautilus znajdź
etc
katalog wewnątrz zainstalowanego systemu Ubuntu. (To nie jest to samo, coetc
katalog Live CD.etc
Katalog wewnątrz zainstalowanego systemu Ubuntu znajduje się na partycji, którą właśnie zamontowałeś.)Przeciągnij ten
etc
katalog do terminala, który wklei pełną ścieżkę do terminala, wykonująccd ...
polecenie.Naciśnij, Enteraby uruchomić polecenie. Teraz jesteś w katalogu, który zawierał twój
passwd
plik. Zakładam, że twój plik kopii zapasowejpasswd_bkp
, również znajduje się tutaj.Uruchom to polecenie:
To przywraca
passwd
plik z kopii zapasowej, więc teraz powinieneś być w stanie ponownie uruchomić komputer, usunąć dysk CD / DVD lub dysk flash USB i ponownie uruchomić system w zainstalowanym systemie Ubuntu. Zainstalowany system Ubuntu powinien ponownie działać.Na przyszłość, należy zdawać sobie sprawę, że nie jest zalecany do ręcznej edycji
/etc/passwd
,/etc/group
,/etc/shadow
, lub/etc/gshadow
. Zamiast tego powinieneś użyć narzędzi dostarczonych jako część Ubuntu, aby wprowadzić wszelkie potrzebne zmiany dla użytkowników i grup w twoim systemie. Prawdopodobnie wiesz, że możesz to edytować w Ustawieniach systemu lub za pomocąusers-admin
. Istnieją jednak również bardzo wydajne narzędzia wiersza polecenia, które są o wiele bezpieczniejsze i łatwiejsze niż samodzielne edytowanie plików konfiguracyjnych. Oto dokumentacja na temat najbardziej odpowiednich takich narzędzi w Ubuntu:adduser
/addgroup
deluser
/delgroup
usermod
groupmod
useradd
(niższy poziom niżadduser
zwykle powinieneś używaćadduser
zamiast tego)userdel
(niższy poziom niżdeluser
zwykle powinieneś używaćdeluser
zamiast tego)groupadd
(niższy poziom niżaddgroup
zwykle powinieneś używaćaddgroup
zamiast tego)groupdel
(niższy poziom niżdelgroup
zwykle powinieneś używaćdelgroup
zamiast tego)passwd
gpasswd
pwck
grpck
Możesz zmienić swoją nazwę użytkownika za pomocą niektórych z tych narzędzi. Ta odpowiedź wyjaśnia szczegółowo jeden sposób. Należy jednak pamiętać (co jest obecnie poruszone w komentarzu), że niektóre aplikacje zakładają, że nazwa użytkownika pozostaje taka sama. Dlatego zmiana nazwy użytkownika może powodować pewne problemy.
źródło
/etc/passwd-
lub/var/backups/passwd.bak
. Pamiętaj, aby ustawić prawidłowe uprawnienia. Przykład:sudo install -m644 /etc/passwd- /etc/passwd
Jako alternatywę dla uruchamiania pliku live, możesz nacisnąć
e
menu GRUB, aby edytować wpis trybu ratunkowego i dodaćinit=/bin/sh
do argumentów jądra. Spowoduje to przeniesienie Cię bezpośrednio do powłoki głównej, w której możesz skopiować plik kopii zapasowej z powrotem do oryginału po ponownym zamontowaniu systemu plików do odczytu i zapisumount -o remount,rw /
.źródło
/etc/passwd
, nie ma o nazwie użytkownik root, a nie użytkownik z UID = 0 . Czy potrzebne narzędzia będą działać w tych niecodziennych warunkach?cp
lubmv
nie potrzebujesz / etc / passwd.Powinieneś przeczytać najpierw odpowiedź Eliasza Kagana, zanim przejrzysz tę odpowiedź. Wyjaśnia, jak poradzić sobie z sytuacją i dlaczego zazwyczaj nie trzeba ręcznie zmieniać / etc / passwd.
W każdym razie, jeśli naprawdę wiesz, co robisz i musisz edytować
/etc/passwd
ręcznie , możesz to zrobić, ale nadal nie powinieneś po prostu zmieniać plików za pomocą swojego ulubionego edytora. Zamiast tego jest narzędzieZe stron podręcznika:
Na przykład, jeśli chcesz zmienić identyfikator użytkownika, o ile mi wiadomo, ręczna edycja plików jest jedynym sposobem. Również jeśli chcesz zmienić hasło użytkownika, a następnie powrócić do poprzedniego, nie wiedząc o tym, nie da się tego
usermod
zrobić. Ale jeśli zapiszesz zaszyfrowane hasło z pliku cienia, zmień hasło użytkownika, które możesz później dodać zaszyfrowane hasło ponownie edytując plik cieniavipw -s
.źródło
Po otrzymaniu odpowiedzi @ EliahKagan nie udało mi się zalogować,
lightdm
a mojego konta nie ma na liście. Odkryłem, że uprawnienia dopasswd
pliku nie zostały poprawnie skonfigurowane; użytkownik lightdm nie miał do niego dostępu. Oto jak to naprawiłem :.Zaloguj się na tty Ctrl+ Alt+F1
przejdź do
/etc
kataloguNastępnie zmień uprawnienia na
644
Więc zrób
ls -la
ciąg uprawnień powinien wyglądać tak
źródło
Jeśli możesz się zalogować, po prostu otwórz terminal i spróbuj tego:
Jeszcze
Uruchom komputer w trybie odzyskiwania lub z Ubuntu Live Cd. Następnie zamontuj stary dysk:
następnie uruchom ponownie. To nie ustawi hasła dla roota.
Następnie możesz się zalogować, ponownie utworzyć wszystkie konta itp.
Możesz także użyć kopii zapasowej, która nazywa się (myślę)
/etc/passwd-
Edycja : (inna metoda, której wcześniej nie próbowałem, ale myślę, że powinna również działać)
init=/bin/bash
cp /etc/passwd- /etc/passwd
init=/bin/bash
mount -o remount,rw /
passwd YOURUSERNAMEHERE
(jeśli nie znasz typu swojej nazwy użytkownikals /home
(to jest mała litera L i mała litera S) dla listy użytkowników)Źródło
źródło