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
Polecenie useradd
- 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
- 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
Opis opcji polecenia useradd
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
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
- 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
- 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
- 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
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
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