Wyszukiwanie w witrynie

15 przydatnych poleceń Useradd z przykładami w systemie Linux


Wszyscy znamy najpopularniejsze polecenia zwane „useradd” lub „adduser” w systemie Linux. Czasami administrator systemu Linux jest proszony o utworzenie kont użytkowników w systemie Linux z określonymi właściwościami, ograniczeniami lub komentarzami.

W systemie Linux polecenie „useradd” to narzędzie niskiego poziomu używane do dodawania lub tworzenia kont użytkowników w systemie Linux i innych systemach operacyjnych typu Unix. Polecenie „adduser” jest bardzo podobne do polecenia „useradd”, ponieważ stanowi jedynie dowiązanie symboliczne do niego.

W niektórych dystrybucjach Linuksa polecenie „useradd” może mieć nieco inną wersję. Sugeruję przeczytanie dokumentacji przed skorzystaniem z naszych instrukcji dotyczących tworzenia nowych kont użytkowników w systemie Linux.

Kiedy uruchomimy polecenie „useradd” na terminalu Linux, wykonuje ono następujące główne zadania:

  • Edytuje /etc/passwd, /etc/shadow, /etc/group i /etc/gshadow pliki dla nowo utworzonych kont użytkowników.
  • Tworzy i zapełnia katalog domowy dla nowego użytkownika.
  • Ustawia uprawnienia i własność katalogu domowego.

Składnia polecenia Useradd

Podstawowa składnia polecenia „useradd” jest następująca:

useradd [options] username

W tym artykule zademonstrujemy 15 najczęściej używanych poleceń „useradd” wraz z praktycznymi przykładami w systemie Linux.

1. Jak dodać nowego użytkownika w systemie Linux

Aby dodać lub utworzyć nowego użytkownika, musisz użyć polecenia „useradd” lub „adduser”, po którym następuje „nazwa użytkownika”. „Nazwa użytkownika” to nazwa logowania, której użytkownik używa do logowania się do systemu.

Można dodać tylko jednego użytkownika, a nazwa użytkownika musi być unikalna i nie istnieć jeszcze w systemie.

Na przykład, aby dodać nowego użytkownika o nazwie „tecmint”, użyj następującego polecenia:

useradd tecmint

Kiedy dodamy nowego użytkownika w systemie Linux za pomocą polecenia „useradd”, zostanie on utworzony w stanie zablokowanym. Aby odblokować to konto użytkownika, musimy ustawić dla niego hasło za pomocą polecenia „passwd”.

passwd tecmint

Changing password for user tecmint.
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.

Po utworzeniu nowego użytkownika jego wpis jest automatycznie dodawany do pliku „/etc/passwd”. Plik ten służy do przechowywania informacji o użytkowniku i taki powinien być wpis.

tecmint:x:1000:1000:tecmint:/home/tecmint:/bin/bash

Powyższy wpis zawiera zestaw siedmiu pól oddzielonych dwukropkami, a każde pole ma swoje własne znaczenie.

Zobaczmy, czym są te pola:

  • Nazwa użytkownika – nazwa logowania użytkownika służy do logowania się do systemu. Powinien mieć długość od 1 do 32 znaków.
  • Hasło – hasło użytkownika (lub znak 'x') jest przechowywane w pliku „/etc/shadow” w zaszyfrowanym formacie.
  • Identyfikator użytkownika (UID) – każdy użytkownik musi posiadać identyfikator użytkownika (UID), który oznacza Numer identyfikacyjny użytkownika. Domyślnie UID 0 jest zarezerwowany dla użytkownika root, a identyfikatory UID od 1 do 99 są zarezerwowane dla innych predefiniowanych kont. Dodatkowo dla kont i grup systemowych zarezerwowane są identyfikatory UID z zakresu od 100 do 999.
  • Identyfikator grupy (GID) – podstawowy identyfikator grupy (GID), który oznacza Numer identyfikacyjny grupy, jest przechowywany w pliku „ /etc/group”.
  • Informacje o użytkowniku – to pole jest opcjonalne i pozwala na zdefiniowanie dodatkowych informacji o użytkowniku, takich jak jego imię i nazwisko. Informacje te można uzupełnić za pomocą polecenia palca.
  • Katalog domowy – bezwzględna lokalizacja katalogu domowego użytkownika.
  • Powłoka – bezwzględna lokalizacja powłoki użytkownika, tj. /bin/bash.

2. Jak utworzyć użytkownika z innym katalogiem domowym

Domyślnie polecenie „useradd” tworzy katalog domowy użytkownika w katalogu „/home” zawierający nazwę użytkownika. Na przykład, jak widać powyżej, domyślny katalog domowy użytkownika „tecmint” to „/home/tecmint”.

Jednak to zachowanie można zmienić, używając opcji '-d' wraz z lokalizacją nowego katalogu domowego (np. „/data/projects”). Na przykład poniższe polecenie utworzy użytkownika „anusha” z katalogiem domowym ustawionym na „/data/projects”.

useradd -d /data/projects anusha
passwd anusha

Możesz wyświetlić katalog domowy użytkownika i inne informacje związane z użytkownikiem, takie jak identyfikator użytkownika, identyfikator grupy, powłoka i komentarze, używając następującego polecenia cat.

cat /etc/passwd | grep anusha

anusha:x:1001:1001::/data/projects:/bin/bash

3. Jak utworzyć użytkownika z określonym identyfikatorem użytkownika

W Linuksie każdy użytkownik ma swój własny UID (unikalny numer identyfikacyjny). Domyślnie, gdy tworzymy nowe konto użytkownika w Linuksie, przypisuje ono identyfikatory użytkowników 500, 501, 502 i tak dalej.

Możemy jednak tworzyć użytkowników z niestandardowymi identyfikatorami użytkowników, używając opcji '-u'. Na przykład poniższe polecenie utworzy użytkownika „navin” z niestandardowym identyfikatorem użytkownika „1002”.

useradd -u 1002 navin

Teraz sprawdźmy, czy użytkownik utworzył plik ze zdefiniowanym identyfikatorem użytkownika (1002), używając następującego polecenia.

cat /etc/passwd | grep navin

navin:x:1002:1002::/home/navin:/bin/bash

UWAGA: upewnij się, że wartość identyfikatora użytkownika musi być unikalna w porównaniu z innymi użytkownikami już utworzonymi w systemie.

4. Jak utworzyć użytkownika z określonym identyfikatorem grupy

Podobnie każdy użytkownik ma swój własny GID (Identyfikator grupy). Możemy również tworzyć użytkowników z określonymi identyfikatorami grup, korzystając z opcji '-g'.

W tym przykładzie dodamy użytkownika „tarunika” z określonym UID i GID jednocześnie za pomocą '- opcje u' i '-g'.

useradd -u 1005 -g tecmint tarunika

Teraz sprawdź przypisany identyfikator użytkownika i identyfikator grupy w pliku „/etc/passwd”.

cat /etc/passwd | grep tarunika

tarunika:x:1005:1000::/home/tarunika:/bin/bash

Aby zweryfikować GID użytkownika użyj komendy id:

id -gn tarunika

5. Jak dodać użytkownika do wielu grup

Opcja '-G' służy do dodania użytkownika do dodatkowych grup. Każda nazwa grupy jest oddzielona przecinkiem, bez spacji.

W tym przykładzie dodajemy użytkownika „tecmint” do wielu grup, takich jak administratorzy, webadmin i programiści mocny>.

groupadd admins
groupadd webadmin
groupadd developers
usermod -a -G admins,webadmin,developers tecmint
useradd -G admins,webadmin,developers paddy

Następnie sprawdź, czy do użytkownika przypisano wiele grup za pomocą polecenia id.

id tecmint

uid=1000(tecmint) gid=1000(tecmint)
groups=1000(tecmint),1007(admins),1008(webadmin),1009(developers)
context=root:system_r:unconfined_t:SystemLow-SystemHigh

6. Jak dodać użytkownika bez katalogu domowego

W niektórych sytuacjach, gdy ze względów bezpieczeństwa nie chcemy przypisywać użytkownikowi katalogów domowych, katalog domowy użytkownika będzie katalogiem root, gdy zaloguje się on do systemu, który właśnie został ponownie uruchomiony. Gdy taki użytkownik użyje polecenia „su”, jego katalogiem logowania będzie katalog domowy poprzedniego użytkownika.

Aby utworzyć użytkowników bez ich katalogów domowych, używana jest opcja '-M'. Na przykład poniższe polecenie utworzy użytkownika „shilpi” bez katalogu domowego.

useradd -M shilpi

Teraz sprawdźmy, czy użytkownik został utworzony bez katalogu domowego, używając polecenia ls.

ls -l /home/shilpi

ls: cannot access /home/shilpi: No such file or directory

7. Jak utworzyć użytkownika z datą wygaśnięcia w systemie Linux

Domyślnie, gdy dodajemy użytkowników za pomocą polecenia „useradd”, konto użytkownika nigdy nie wygasa, co oznacza, że jego data wygaśnięcia jest ustawiona na 0 (co oznacza, że nigdy nie wygasła).

Datę wygaśnięcia możemy jednak ustawić za pomocą opcji '-e', która powinna być w formacie RRRR-MM-DD. Jest to przydatne przy tworzeniu kont tymczasowych na określony czas.

W tym przykładzie tworzymy użytkownika „aparna” z datą wygaśnięcia konta, czyli 27 sierpnia 2021, w formacie RRRR-MM-DD formatować.

useradd -e 2021-08-27 aparna

Następnie zweryfikuj informacje o wieku konta i hasła za pomocą polecenia „chage” dla użytkownika „aparna” po ustawieniu daty wygaśnięcia konta.

chage -l aparna

Last password change					: Jun 25, 2021
Password expires					: never
Password inactive					: never
Account expires						: Aug 27, 2021
Minimum number of days between password change		: 0
Maximum number of days between password change		: 99999
Number of days of warning before password expires	: 7

8. Jak utworzyć użytkownika z datą ważności hasła

Argument '-f' służy do określenia liczby dni po wygaśnięciu hasła. Wartość 0 dezaktywuje konto użytkownika zaraz po wygaśnięciu hasła. Domyślnie wartość ważności hasła jest ustawiona na -1, co oznacza, że nigdy nie wygasa.

W tym przykładzie ustawimy datę ważności hasła do konta, która wynosi 45 dni, dla użytkownika „mansi” za pomocą '-e' i '-f'.

useradd -e 2014-04-27 -f 45 mansi

9. Jak dodać użytkownika z komentarzami w systemie Linux

Opcja '-c' umożliwia dodanie niestandardowych komentarzy, takich jak imię i nazwisko użytkownika, numer telefonu itp., do pliku „/etc/passwd”. Komentarz można dodać w pojedynczej linii, bez spacji.

Na przykład poniższe polecenie doda użytkownika „mansi” i wstawi jego pełne imię i nazwisko, Manis Khurana, w polu komentarza.

useradd -c "Manis Khurana" mansi

Możesz wyświetlić wstawiony komentarz w pliku „/etc/passwd” w sekcji komentarzy za pomocą polecenia tail.

tail -1 /etc/passwd

mansi:x:1010:1013:Manis Khurana:/home/mansi:/bin/sh

10. Jak utworzyć powłokę logowania użytkownika w systemie Linux

Czasami dodajemy użytkowników, którzy nie mają nic wspólnego z powłoką logowania, a czasami musimy przypisać naszym użytkownikom różne powłoki. Każdemu użytkownikowi możemy przypisać różne powłoki logowania za pomocą opcji „-s”.

W tym przykładzie zostanie dodany użytkownik „tecmint” bez powłoki logowania, tj. powłoki „/sbin/nologin”.

useradd -s /sbin/nologin tecmint

Możesz sprawdzić powłokę przypisaną do użytkownika w pliku „/etc/passwd”.

tail -1 /etc/passwd

tecmint:x:1011:1014::/home/tecmint:/sbin/nologin

11. Jak utworzyć użytkownika z określonym domem, powłoką i komentarzem

Poniższe polecenie utworzy użytkownika „ravi” z katalogiem domowym „/var/www/tecmint”, domyślną powłoką /bin/bash oraz dodatkowe informacje o użytkowniku.

useradd -m -d /var/www/ravi -s /bin/bash -c "TecMint Owner" -U ravi

W powyższym poleceniu opcje '-m' i '-d' tworzą użytkownika z określonym katalogiem domowym, a '-s' ustawia domyślną powłokę użytkownika na /bin/bash. Opcja '-c' dodaje dodatkowe informacje o użytkowniku, a argument '-U' tworzy/dodaje grupę o tej samej nazwie co użytkownik.

12. Jak utworzyć użytkownika ze zdefiniowanym domem, powłoką, komentarzem, UID/GID

Polecenie jest bardzo podobne do powyższego, ale tutaj definiujemy powłokę jako „/bin/zsh” i ustawiamy niestandardowe UID i GID dla użytkownika „tarunika”. Opcja '-u' definiuje UID nowego użytkownika (tj. 100), a opcja '-g' definiuje GID (tj. , 1000).

useradd -m -d /var/www/tarunika -s /bin/zsh -c "TecMint Technical Writer" -u 1000 -g 100 tarunika

13. Jak utworzyć użytkownika z domem, bez powłoki, komentarza i UID

Poniższe polecenie jest bardzo podobne do dwóch powyższych poleceń. Jedyna różnica polega na tym, że tutaj wyłączyliśmy powłokę logowania dla użytkownika o nazwie „avishek” z niestandardowym identyfikatorem użytkownika (tj. 1019).

Opcja '-s' ustawia domyślną powłokę na /bin/bash, ale w tym przypadku ustawiamy powłokę logowania na '/usr/sbin/ nologin”. Oznacza to, że użytkownik „avishek” nie będzie mógł zalogować się do systemu.

useradd -m -d /var/www/avishek -s /usr/sbin/nologin -c "TecMint Sr. Technical Writer" -u 1019 avishek

14. Jak utworzyć użytkownika z określonym domem, powłoką, szkieletem i UID

Jedyna zmiana w tym poleceniu polega na tym, że użyliśmy opcji '-k', aby ustawić niestandardowy katalog szkieletu na /etc/custom.skell zamiast domyślnego, /etc/skel. Użyliśmy także opcji '-s', aby zdefiniować inną powłokę /bin/tcsh dla użytkownika „navin”.

useradd -m -d /var/www/navin -k /etc/custom.skell -s /bin/tcsh -c "No Active Member of TecMint" -u 1027 navin

15. Jak utworzyć użytkownika bez domu, powłoki lub grupy, z komentarzem

Poniższe polecenie bardzo różni się od pozostałych poleceń wyjaśnionych powyżej. Tutaj użyliśmy opcji '-M', aby utworzyć użytkownika bez katalogu domowego użytkownika, a opcja '-N' została użyta do poinstruowania systemu, aby tylko utworzył nazwa użytkownika (bez grupy). Opcja '-r' służy do tworzenia użytkownika systemowego.

useradd -M -N -r -s /bin/false -c "Disabled TecMint Member" clayton

Aby uzyskać więcej informacji i opcji dotyczących „useradd”, uruchom polecenie „useradd” w terminalu, aby zobaczyć dostępne opcje

useradd

Jeśli chcesz zmodyfikować atrybuty konta użytkownika, takie jak nazwa użytkownika, identyfikator użytkownika (UID), katalog domowy, powłoka i inne, użyj komendy usermod.