useradd

Z Wikipedii, wolnej encyklopedii

useradd (od ang. add user) – polecenie służące do tworzenia nowych kont użytkowników w systemach uniksowych oraz linuksowych. Polecenie useradd w wielu systemach jest zastępowane poleceniem adduser, które po wywołaniu z nową nazwą użytkownika przepytuje o potrzebne do utworzenia konta informacje.

Składnia polecenia[edytuj | edytuj kod]

Polecenie useradd[edytuj | edytuj kod]

Dodanie nowego użytkownika odbywa się poprzez wpisanie polecenia:
     useradd [-c komentarz] [-d katalog_domowy] [-e data_wygaśnięcia] [-f czas_nieaktywności] \
     [-g początkowa_grupa] [-G grupa[,...]] [-m [-k katalog_z_profilem]] [-s powłoka] \
     [-u id_użytkownika [ -o]] [-p zakodowane_hasło] nazwa_użytkownika

Polecenie useradd z opcją -D[edytuj | edytuj kod]

Do wyświetlenia wartości domyślnych polecenia useradd służy składnia:
     useradd -D
Aby ustawić wartości domyślne należy użyć składni:
     useradd -D [-g grupa_domyślna] [-b katalog_domyślny] [-f domyślny_czas_nieaktywności] \
      [-e domyślna_data_wygaśnięcia] [-s domyślna powłoka]

Opis opcji[edytuj | edytuj kod]

Opis opcji polecenia useradd[edytuj | edytuj kod]

Argument Znaczenie
-c komentarz dodanie komentarza do pola komentarza w pliku haseł.
-d katalog domowy ustawienie katalogu domowego dla nowego użytkownika, domyślnie odbywa się to poprzez dostawienie do domyślnego katalogu nazwy użytkownika.
-e data_wygaśnięcia data, od której konto użytkownika zostanie zablokowane(wyłączone), datę należy podać w formacie YYYY-MM-DD, gdzie YYYY to rok, MM miesiąc w postaci dwucyfrowej tzn. np. maj to 05, dzień tak jak miesiąc również w postaci dwucyfrowej.
-f czas_nieaktywności ustawienie liczby dni, po której konto ma być definitywnie wyłączone, podanie wartości 0 wyłączy konto zaraz po wygaśnięciu hasła, a wartość -1 wyłącza tę funkcję, wartość -1 jest wartością domyślną.
-g początkowa_grupa numer lub nazwa początkowej grupy logowania użytkownika, grupa musi istnieć, domyślnym numerem grupy jest 1.
-G grupa[,...] grupa lub lista grup, do których również ma należeć tworzony użytkownik, każda następna grupa powinna być oddzielona od poprzedniej przecinkiem, bez spacji pomiędzy. Użytkownik domyślnie należy tylko do grupy początkowej.
-m, -k katalog_z_profilem ustawienie tej opcji spowoduje, że jeżeli katalog domowy użytkownika nie istnieje, to zostanie on utworzony. Jeśli ustawiona jest opcja -k, to z katalogu wpisanego jako wartość zostaną przekopiowane wzorcowe pliki startowe, w przeciwnym wypadku jako wzorzec posłuży katalog /etc/skel.
-s powłoka ustawienie powłoki systemowej użytkownika, domyślnie wybierana jest domyślna powłoka systemowa.
-u id_użytkownika podanie numerycznej wartości identyfikatora użytkownika (uid). Numer ten musi być dodatni, unikatowy (chyba, że zostanie użyta opcja -o). Domyślnie ustawiana jest wartość najmniejsza począwszy od wartości 100, wartości od 0 do 99 przeznaczone są dla kont systemowych.
-p zakodowane_hasło tutaj należy podać hasło w formie zakodowanej, np. takie jak utworzone poleceniem crypt.
nazwa_użytkownika tutaj należy podać nazwę nowego konta dla użytkownika.

Opis opcji polecenia useradd z opcją -D[edytuj | edytuj kod]

Argument Znaczenie
-g grupa_domyślna numer lub nazwa początkowej grupy logowania użytkownika, grupa musi istnieć.
-b katalog domyślny ustawienie ścieżki do katalogu, w który przechowywane są domyślne katalogi użytkowników.
-f domyślny_czas_nieaktywności tutaj można zmienić domyślny czas nieaktywności dla wygaśnięcia hasła dla konta użytkowników.
-e domyślna_data_wygaśnięcia ustawienie domyślnej daty wygaśnięcia, od której konto użytkownika jest wyłączane.
-s domyślna_powłoka ścieżka z nazwą domyślnej powłoki systemowej dla użytkowników.

Przykłady[edytuj | edytuj kod]

Uwaga. Aby wykonać poniższe polecenia należy mieć prawa użytkownika zaawansowanego lub być zalogowanym jako root

Przykłady dodania nowych użytkowników[edytuj | edytuj kod]

  • Wywołanie useradd polecenia bez opcji ani nazwy użytkownika ukaże opcje dostępne dla polecenia:
     # usage: useradd  [-u uid [-o]] [-g group] [-G group,...]
                      [-d home] [-s shell] [-c comment] [-m [-k template]]
                      [-f inactive] [-e expire ] [-p passwd] name
            useradd  -D [-g group] [-b base] [-s shell]
                      [-f inactive] [-e expire ]
  • Aby dodać nowego użytkownika wystarczy podać jego nazwę jako opcję
     # useradd jimbo
Efektem wykonania powyższego polecenia będzie dodanie użytkownika z domyślnymi opcjami, bez utworzenia katalogu domowego i z pustym hasłem. Użytkownik ten przy próbie wejścia do katalogu domowego otrzyma komunikat, że katalogu nie znaleziono, ponieważ katalog nie został utworzony.
  • Dodanie użytkownika o nazwie jimbo wraz z utworzeniem katalogu domowego na bazie domyślnych ustawień:
     # useradd -m jimbo
W wyniku wykonania polecenia do systemu zostanie dodany nowy użytkownik jimbo oraz w katalogu użytkowników zostanie utworzony katalog jimbo.
  • Czasami wymagane jest utworzenie użytkownika o ograniczonej funkcjonalności np. dla aplikacji MySQL:
     # useradd -s /bin/false dummy
Powyższe polecenie umożliwia utworzenie użytkownika, który nie zaloguje się do systemu, ponieważ nie będzie miał dostępu do żadnej powłoki systemowej, gdyż powłoka /bin/false po prostu nie istnieje.
  • Przekazanie poleceniu większej liczby opcji:
     # useradd -g users -G floppy,bin,rash,lock -m -d /users/home/jimbo -e 2007/12/05 \
     -s /bin/bash -c "Użytkownik jimbo" jimbo
Wynikiem wykonania polecenia będzie utworzenie użytkownika jimbo, dodanie go do grup users oraz floppy, bin, rash i lock, utworzenie katalogu domowego /users/home/jimbo (należy pamiętać, że katalog users oraz katalog home muszą istnieć), przypisanie użytkownikowi powłoki bash, nadanie komentarza "Użytkownik jimbo". Utworzony użytkownik nadal nie ma ustawionego hasła, do nadania użytkownikowi hasła służy polecenie passwd. W poleceniu została również ustawiona data wygaśnięcia konta na dzień 5 grudnia 2007 roku.

Przykłady użycia polecenia useradd z opcją -D[edytuj | edytuj kod]

  • Wykonanie polecenia useradd -D w systemie zwróci informacje o ustawieniach domyślnych tego polecenia:
     # useradd -D
     GROUP=100
     HOME=/home
     INACTIVE=-1
     EXPIRE=
     SHELL=/bin/bash
     SKEL=/etc/skel
     GROUPS=video,dialout
     CREATE_MAIL_SPOOL=no
Jak widać z wyniku polecenia, grupą początkową jest grupa o numerze 100, katalogiem w którym zostanie utworzony katalog domowy użytkownika jest /home, opcja INACTIVE informuje iż funkcja czasu nieaktywności jest wyłączona, EXPIRE jest puste, więc konta nie mają daty wygaśniecia, wybraną powłoką systemową jest bash, katalog /etc/skel zawiera pliki wzorcowe, ustawionymi grupami są video oraz dialout.
  • Ustawienie nowej ścieżki do domyślnego katalogu domowego dla nowych użytkowników:
     # useradd -D -b /users/home
Efektem polecenia będzie ustawienie katalogu /users/home jako domyślnego miejsca dla katalogów domowych użytkowników.

Powiązane z tematem pliki[edytuj | edytuj kod]

Poniżej w tabelce wypisane są pliki, które zawierają informację o kontach użytkowników, grupach, itd...

Plik Opis
/etc/passwd plik z kontami użytkowników.
/etc/shadow zabezpieczona informacja o kontach użytkowników.
/etc/group plik z informacją o grupach.
/etc/gshadow zabezpieczona informacja o grupach.
/etc/default/useradd plik zawierający ustawienia domyślne.
/etc/skel katalog z profilem domyślnym dla użytkownika.

Inne polecenia do zarządzania kontami użytkownika[edytuj | edytuj kod]

  • usermod - polecenie służące do modyfikacji kont użytkowników.
  • userdel - polecenie służące do usuwania kont użytkowników.
  • passwd - polecenie służące do zmiany hasła do kont użytkowników.
  • users - wyświetlenie nazw zalogowanych użytkowników.
  • groups - polecenie wyświetlające do jakich grup należy konto użytkownika.
  • groupadd - polecenie służące do dodawania grup.
  • groupmod - polecenie służące do modyfikacji grup.
  • groupdel - polecenie służące do usuwania grup.
  • chfn - polecenie służące do zmiany informacji fingerowej.
  • chsh - polecenie do zmiany zgłoszeniowej powłoki systemowej.
  • adduser - konkurencyjne polecenie służące do tworzenia kont użytkowników.
  • addgroup - konkurencyjne polecenie służące do tworzenia grup.

Linki zewnętrzne[edytuj | edytuj kod]