Zmieniam ostatni wiersz w / etc / passwd i nie mogę używać sudo


15

Oto co zrobiłem:

  1. Zmień nazwę użytkownika w ostatnim wierszu: tinynaabc

    • tiny@tty7:~$ sudo vim /etc/passwd
    • Zmień to:
      tiny:x:1000:1000:tiny,,,:/home/tiny:/bin/bash
      na to:
      abc:x:1000:1000:tiny,,,:/home/tiny:/bin/bash
  2. tiny@tty7:~$ sudo vim /etc/shadow

    • to pokazuje: [sudo] passwork for abc:

    • Nie zmieniłem hasła, ale nie mogę zalogować się do roota!

    • Wpisuję Ctrl+ Alt+ F1do, tty1ale ani malutki, ani abc nie mogą zalogować się za pomocą mojego hasła

i staram się na to patrzeć ls ~ -la, tutaj pokazuje to tak:

drwxr-xr-x 28 abc tiny 4096 Apr 6 03:04 .

Jak mogę zalogować się na root? i dlaczego nazwa użytkownika w pytaniu tiny@tty7nadal jest mała, podczas gdy w sudo pokazuje hasło abc?

Odpowiedzi:


18

Powodem, dla którego utknąłeś po edycji, jest to, że /etc/shadowplik zawierał wpis hasła, tinyale nie zawiera wpisu abc, podczas gdy /etc/passwdplik zawierał wpis dla, abca nie dla tiny. Kiedy sudospojrzał, zidentyfikował cię poprawnie (zgodnie z plikiem haseł) jako abcoparty na UID procesu, który uruchomiłeś, ale kiedy spojrzał na porównanie tego, co podałeś jako swoje hasło z zaszyfrowanym (zaszyfrowanym) hasłem przechowywanym /etc/shadow, nie mógł nie znalazł wpisu abc, więc musiał zgłosić awarię.

Jak powiedział shaddy w swojej odpowiedzi , nie edytuj ręcznie hasła ani plików cieni. Jeśli musisz złamać regułę, edytuj oba w jednym wywołaniu vimi nie wychodź z, vimdopóki nie udowodnisz, że zmiany są na tyle rozsądne, aby działać przy użyciu innego okna terminala, i zapisz kopie zapasowe plików przed zaczniesz je hakować i ponownie zastanów się, dlaczego łamiesz zasady, ponieważ prawdopodobnie nie jest to dobry pomysł.


22

NIGDY nie musisz ręcznie edytować pliku passwd, ponieważ zepsujesz wszystko.

Właściwy sposób zmiany nazwy użytkownika to:

usermod -l newUsername oldUsername

Następnie zmień folder domowy:

usermod -d /home/newHomeDir -m newUsername

Aby zmienić hasło należy użyć:

sudo passwd yourusername

Sugeruję, aby przywrócić plik passwd z powrotem lub jeśli nie możesz go edytować, ponieważ nie możesz się zalogować za pomocą roota - uruchom komputer z live cd i przywróć plik z powrotem. Następnie użyj właściwego sposobu.


1
dziękuję ~ Myślałem, że najtrudniejsze jest zalogowanie się przy użyciu roota, a następnie ponowne uruchomienie, wybranie trybu odnawiania, rootowanie, a następnie odzyskanie mojego pliku passwd ~ to działa ~
tinyork


-3

procedura ręcznej zmiany nazwy użytkownika (ale nie identyfikatora użytkownika):

  1. zbadaj swoją głowę, gdy to się nie powiedzie, przejdź do kroku drugiego.
  2. edytuj plik cienia powielając linię użytkownika z nową nazwą użytkownika.
  3. edytuj grupy, sudoers, pozwalając na nowe uprawnienia dla nazwy użytkownika, zachowaj stare
  4. symbolicznie połącz katalog domowy z nową nazwą
  5. edytuj plik passwd zmieniając nazwę użytkownika i katalog domowy
  6. edytuj cień, sudoery, grupy, aby usunąć stare wpisy, które trzymaliśmy w kroku trzecim
  7. edytuj aliasy i inne odniesienia do starej nazwy użytkownika.
  8. wyloguj się, przełącz się na konsolę tekstową (następny krok nie zadziała, jeśli w katalogu osobistym użytkowników, w tym menedżerowie okien, działają programy)
  9. cd do katalogu powyżej katalogu domowego.
  10. usuń dowiązanie symboliczne i zmień nazwę katalogu domowego.
  11. wyloguj się i zaloguj jak zwykle.

Zmiana nazwy użytkownika jest znacznie prostsza, choć nadal nie jest to proste.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.