Jak dodać użytkownika bez polecenia useradd?

11

Czy można dodać użytkownika do systemu Ubuntu Linux bez komendy useradd? Myślę, że jest to możliwe, dodając wpisy, /etc/passwd and /etc/shadowale nie znam dokładnych kroków, aby to zrobić, a użytkownik powinien także pobrać katalog domowy i powłokę bash.

mr_eclair
źródło

Odpowiedzi:

19

Nie zaleca się ręcznie modyfikować /etc/passwd, /etc/shadow, /etc/grouplub /etc/gshadowz powodu ryzyka uszkodzenia. Jeśli szukasz alternatywnego polecenia, które jest łatwiejsze w użyciu, spójrz na adduser(8). Wszystko, co musisz uruchomić, to:

sudo adduser user

Powłoka będzie /bin/bashdomyślnie na /etc/adduser.conf.

Zwykle, jeśli chcesz dodać użytkownika za pomocą powłoki bash, a tym samym utworzyć katalog domowy /home/useri grupę użytkowników, użyj:

sudo useradd --create-home --shell /bin/bash --user-group user

To polecenie zasadniczo określa bezpłatny identyfikator użytkownika $UIDi identyfikator grupy, $GIDa następnie wykonuje kolejne polecenia:

echo "user:x:$UID:$GID::/home/user:/bin/bash" | sudo tee -a /etc/passwd
echo "user:x:$GID:" | sudo tee -a /etc/group
echo "user:!:$DATE_OF_LAST_PASS_CHANGE:0:99999:7:::" | sudo tee -a /etc/shadow
echo "user:!::" | sudo tee -a /etc/gshadow

.. i tym samym możliwe wykonanie kopii zapasowej plików.

Kolejne strony podręcznika na temat formatów plików mogą Cię zainteresować:

Lekensteyn
źródło
hej, Lekensteyn, tęskniłeś za pierwszą częścią ich postu? „Czy można dodać użytkownika do systemu Ubuntu Linux bez polecenia useradd ...” Chcą rozwiązania bez useradd: /
Thomas Ward
1
@TheEvilPhoenix: Myślałem, że pyta o alternatywę dla adduser. Podałem teraz adduserjako odpowiedź. Rzeczywiście jest to „bez
dodawania użytkownika
Nie ma problemu, chciałem to podkreślić, to wszystko. i wybaczcie mi, że jestem półkonkurencyjny ... długie, złe dni w pracy z awarią serwera kaskadowego to robi ...
Thomas Ward
@Wszystko chcę utworzyć użytkownika bez dodawania użytkownika przez dodanie możliwych wpisów w / etc / passwd i / etc / shadow
mr_eclair
2
@ m59 >>próbuje otworzyć plik jako bieżący użytkownik (inny niż root), co zakończy się niepowodzeniem z powodu błędu odmowy uprawnień. Korzystanie z sudo teeobejścia tego. Alternatywnie możesz zawinąć polecenie w, sudo sh -c '...'aby uniknąć tego problemu.
Lekensteyn,
1

Chociaż zwykle nie jest to konieczne ani zalecane, należy użyć odpowiedzi na pytanie, jak dodać użytkownika bez polecenia useraddsudo vipw

Spowoduje to uruchomienie edytora zdefiniowanego przez system podczas blokowania pliku passwd. Wprowadź wiersz dla nowego użytkownika. (W vi, Shift-G, aby przejść do ostatniego wiersza, a następnie yy p, aby go zduplikować.) Edytuj nazwę użytkownika i utwórz unikalny numer identyfikacyjny użytkownika.

Po zapisaniu pliku i wyjściu z edytora pojawi się monit o edycję / etc / shadow. Użyj tej samej techniki, aby utworzyć nowy wiersz i użyj „*” dla skrótu hasła. Nowe konto jest zablokowane. Użyj, passwd usernameaby odblokować i ustawić hasło.

Konieczne jest również utworzenie katalogu domowego, skopiowanie plików z katalogu szkieletowego, ustawienie uprawnień grupowych itp. Ale vipwto jest twój główny zasób. Zobacz także vigr.

Źródło: http://itguykelly.wordpress.com/2011/04/19/manually-add-new-user-to-red-hatfedoracentos/ (tak, te polecenia działają w różnych odmianach * nix)

DrumEater
źródło
0

Kiedy użytkownik jest tworzony w systemie, ma on wpływ na pliki takie jak / etc / pass, / etc / group, / etc / shadow, więc przejrzyj te pliki i wprowadź ręcznie. I na koniec z pliku / etc / skel dodaj szkielet użytkownika w katalogu osobistym użytkownika, który musisz utworzyć w katalogu domowym.

govind saraf
źródło