Artur Pyszczuk's blog...

"Komputer jest jak klimatyzacja - gdy otworzysz okna, robi sie bezużyteczny..."
Linus Torvalds
/home/linux/commands/useradd/

useradd - Dodawanie nowego użytkownika lub zmiana domyślnych ustawień

Jeśli chcemy stworzyć nowe konto użytkownika, możemy to zrobić za pomocą polecenia useradd. W zależności od potrzeb możemy utworzyć konto z różnymi opcjami takimi jak na przykład czas po którym konto zostanie wyłączone, do jakiej grupy ma użytkownik należeć, czy ma mieć katalog domowy, itp. Składnia polecenia jest następująca.

$ useradd [OPCJE] LOGIN

$ useradd -D

$ useradd -D [OPCJE]

Pierwsza z opcji polecenia useradd tworzy użytkownika, tym poleceniem zajmiemy się za chwilę. Na pierwszy ogień pójdzie druga z możliwych kombinacji. Jeśli uruchomimy ten program z opcją -D, bez dodatkowych opcji to dostaniemy informację o domyślnych ustawieniach. Przyjrzyjmy się im bliżej. Warto zauważyć, że wykonujemy operację z poziomu użytkownika root (samo wyświetlenie można robić jako zwykły użytkownik, ale zmiana ustawien dokonywana jest przez administratora). Podczas omawiania polecenia su zostało pokazane jak zalogować się jako root.

Polecenie useradd
Rys 1. Polecenie useradd - Wyświetlenie domyślnych ustawień

Gdzie:

Wszystkie domyślne dane znajdują się w pliku /etc/default/useradd. SKEL oznacza katalog, z którego będą kopiowane pliki i katalogi do katalogu domowego nowo utworzonego użytkownika, tak więc aby zobaczyć co się tam znajduje, musimy przejść do katalogu /etc/skel.

Domyślne ustawienia możemy zmienić za pomocą trzciej możliwości wywołania polecenia useradd. Zmienianie wartości domyślnych dotyczny tylko: GROUP, HOME, INACTIVE, EXPIRE oraz SHELL.

Tak więc jeśli chcemy zmienić na przykład katalog domyślny dla katalogów domowych nowo tworzonych użytkowników to musimy użyć trzeciej opcji wywołania programu useradd z opcją -b, po której nastąpi ścieżka do tego katalogu. Poniższy przykład prezentuje omówione działanie.

Polecenie useradd
Rys 2. Polecenie useradd - Zmiana domyślnego katalogu

Aby zmienić ilość dni (od wygaśnięcia hasła) po którym konto zostanie zablokowane, musimy użyć opcji -f. Jeśli (tak domyślnie było ustawione) jest wartość -1, to znaczy, że ta opcja jest wyłączona. Wartość 0 oznacza, że jeśli hasło wygaśnie danego dnia, to konto w tym samym momencie zostaje wyłączone. Każda inna dodatnia wartość oznacza ilość dni.

Polecenie useradd
Rys 3. Polecenie useradd - Zmiana czasu inactive

Aby zmienić date wyłączenia konta używamy opcji -e po której podajemy datę w formacie YYYY-MM-DD. Na przykład może wyglądać to tak. Sposób wyłączenia expire time również jest pokazany na rysunku 4.

Polecenie useradd
Rys 4. Polecenie useradd - Zmiana daty ważności konta

Zmiana domyślnej powłoki użytkownika odbywa się za pomocą opcji -s

Polecenie useradd
Rys 5. Polecenie useradd - Zmiana domyślnej powłoki

Aby zmienić dwie ostatnie pozycje, które widoczne są na wyżej wymienionych rysunkach, należy edytować plik /etc/default/useradd, w którym to na końcu pliku są aktualnie ustawione dane.


Sprawę wyświetlania domyślnych ustawień, oraz ich zmianę zamkneliśmy, teraz czas na dodawanie nowych użytkowników oraz ustawianie pewnych opcji. Do utworzenia nowego użytkownika stosuje się pierwszej z trzech wymienionych możliwości użycia polecenia useradd.

Właściwie utworzenie użytkownika składa się na wydanie jednego następującego polecenia (jako administrator).

# useradd mark

Polecenie useradd
Rys 6. Polecenie useradd - Tworzenie nowego użytkownika

Utworzyliśmy użytkownika mark, lecz nie ma on katalogu domowego, a reszta informacji bazuje na domyślnych ustawieniach. Aby zalogować się na nowo utworzone konto nalezy użyć polecenia su.

Aby utworzyć użytkownika wraz z zdefiniowanymi pozostałymi grupami (-G), katalogiem domowym (-m), datą wygaśnięcia konta (-e), powłoką systemową (-s) oraz informacjami o użytkowniku (-c) musimy wykonać następujące polecenie.

# useradd -G cdrom,plugdev -m -e 2011-04-21 -s /bin/bash -c "Mark Doe" mark

Polecenie useradd
Rys 7. Polecenie useradd - Tworzenie nowego użytkownika ze zdefiniowanymi ustawieniami

Jak widać użytkownik mark ma swój katalog domowy, do którego został skopiowany plik examples.desktop, dlaczego? Ponieważ znajduje się on w katalogu /etc/skel.

Polecenie useradd
Rys 8. Wyświetlenie zawartości /etc/skel

W powyższym poleceniu użyto tylko część opcji polecenia useradd. Aby pokazać kilka pozostałych utworzymy nowego użytkownika o nazwie charlie.

Ponieważ w poprzednim przypadku bazowaliśmy na domyślnych ustawieniach, w tym miejscu pokażę jak definiować je samodzielnie (np. katalog domowy, grupa główna).

Podczas ustawiania ustawień domyślnych, zmieniliśmy żeby katalogi domowe nowych użytkowników znajdowały się w miejscu /users/home. Teraz podczas tworzenia użytkownika podamy ścieżkę do innego miejsca. Opcja -m tworzy katalog, który podajemy po opcji -d, lub jeśli opcja -d nie występuje to tworzy według ustawień domyślnych dodając do tego katalogu katalog z nazwą użytkownika. Jeśli nie było by opcji -m to należy pamiętać, że podany katalog musi istnieć. Jeśli nie istnieje, nic się nie stanie, lecz użytkownik nie będzie miał swojego katalogu domowegoi (rys. 10).

Polecenie useradd
Rys 9. Polecenie useradd - Dodawanie nowego użytkownika ze zmienionymi ustawieniami

Jak widać było na rysunku 7, użytkownik mark jest w grupie głównej mark - jest to ustawienie standardowe. W tym przypadku użytkownik charlie należy do grupy głównej charles, jego katalogiem domowym jest /home/charlie, katalog domowy użytkownika mark znajduje się w innym miejscu.

Polecenie useradd
Rys 10. Polecenie useradd - Dodawanie nowego użytkownika bez utworzenia katalogu - katalog nie istnieje

Jeśli chcemy, aby nowy użytkownik posiadał pewne pliki (katalogi) w swoim katalogu domowym zaraz po utworzeniu i były to inne pliki niż te z katalogu /etc/skel, to możemy to zrobić z użyciem opcji -k po której następuje ścieżka do tego katalogu. Tak więc nasz nowy użytkownik james dostanie w prezencie plik: welcome.sh.

Polecenie useradd
Rys 11. Polecenie useradd - Dodawanie nowego użytkownika z przekazaniem pewnych plików


Wiecej informacji na temat programu useradd znajdziesz w podreczniku systemowym man.
Wpisujac w konsoli man useradd

Some rights reserved 2010 - 2015 Artur Pyszczuk

| Strona Główna | Kontakt |