Zarządzanie kontami użytkowników

Zarządzanie kontami użytkowników obejmuje tworzenie, modyfikowanie, przypisywanie im haseł oraz kasowanie ich.

Komenda dodaje wpisy do plików: passwd, group, shadow i gshadow dla każdego dodawanego użytkownika do systemu. Ponadto zakłada katalog domowy użytkownika i kopiuje pliki startowe z katalogu /etc/skel do katalogu domowego użytkownika. Najważniejsze opcje umieszczone zostały poniżej.

Opcja Opis
–b (–base-dir) Absolutna ścieżka do katalogu bazowego, w którym założony zostanie katalog domowy użytkownika.
–d (–home-dir) Absolutna ścieżka do katalogu domowego użytkownika.
–m (–create-home) Tworzy katalog domowy użytkownika jeżeli jeszcze nie istnieje.
–s (–shell) Powłoka użytkownika.
–G (–groups) Grupa, której członkiem ma zostać użytkownik.
–c (–comment)  Informacje o użytkowniku.
–D (–defaults) Wyświetla lub modyfikuje ustawienia domyślne.
  –r (–system) Tworzy konto systemowe z UID mniejszym niż 1000 i nigdy niewygasającym hasłem.
–e (–expiredate) Data, po której konto użytkownika zostanie automatycznie wyłączone. Format daty RRRR-MM-DD.

Opcje nie podane z linii komend useradd bierze z pliku /etc/default/useradd i /etc/login.def. Do pliku login.def odnoszą się w razie potrzeby także  usermod, userdel, chage i passwd. Wyświetlanie ustawień domyślnych:

Wartości domyślne można modyfikować, np. zmieńmy położenie folderu dla katalogów domowych użytkowników:

Z kolei plik /etc/login.defs zawiera dodatkowe dyrektywy z ustawieniami domyślnymi:
MAIL_DIR /var/spool/mail
PASS_MAX_DAYS 99999
PASS_MIN_DAYS 0
PASS_MIN_LEN 5
PASS_WARN_AGE 7
UID_MIN 1000
UID_MAX 60000
SYS_UID_MIN 201
SYS_UID_MAX 999
GID_MIN 1000
GID_MAX 60000
SYS_GID_MIN 201
SYS_GID_MAX 999
CREATE_HOME yes
UMASK 077
USERGROUPS_ENAB yes
ENCRYPT_METHOD SHA512

Modyfikuje atrybuty kont użytkowników. Składnia komendy jest bardzo podobna do składni useradd.

Opcje Opis
-a (–append) Dodaje użytkownika do grupy
–l (–login) Nowy login dla użytkownika.
–L (–lock) Blokuje konto użytkownika wstawiając znak wykrzyknika na początku pola  hasło w pliku shadow.
–m (–move-home) Tworzy nowy katalog domowy użytkownika i przenosi zawartość ze starego katalogu.
–U (–unlock) Odblokowuje konto użytkownika usuwając znak wykrzyknika z początku pola  hasło w pliku shadow.

 

Usuwa wpisy związane z użytkownikiem ze wszystkich plików autentykacyjnych. Jeżeli użyta zostanie opcja -r to kasowany jest także katalog domowy użytkownika. Użycie opcji -f spowoduje wymuszenie usunięcia konta nawet jeżeli użytkownik jest zalogowany.

Komenda przeznaczona do ustawienia i zmiany czasu wygasania hasła użytkownika.

Opcje Opis
–d (–lastday) Data w formacie RRRR-MM-DD lub numer dni od czasu kiedy plik był modyfikowany. Opcja -d 0 spowoduje, że klient będzie musiał zmienić hasło przy kolejnym logowaniu. Odnosi się do trzeciego pola w pliku shadow.
–E (–expiredate)  Data w formacie RRRR-MM-DD lub ilość dni do czasu gdy konto zostanie wyłączone. Z parametrem -1 ta opcja zostaje wyłączona. Odnosi się do ósmego pola w pliku shadow.
–I (–inactive)  Definiuje liczbę dni nieaktywności po której hasło wygasa a konto zostaje zablokowane. Z parametrem -1 ta opcja zostaje wyłączona. Odnosi się do siódmego pola w pliku shadow.
–l Wyświetla atrybuty wygasania hasła ustawione na koncie użytkownika.
–m (–mindays)  Minimalna ilość dni jakie muszą minąć aby hasło mogło być zmienione. Wartość 0 tej opcji spowoduje, że hasło będzie mogło być wyłączone w dowolnym momencie.  Odnosi się do czwartego pola w pliku shadow.
–M (–maxdays)  Maksymalna ilość dni ważności hasła. Po tym okresie użytkownik otrzymuje ostrzeżenia o konieczności zmiany hasła. Z parametrem -1 ta opcja zostaje wyłączona. Odnosi się do piątego pola w pliku shadow.
–W (–warndays) Ilość dni po których użytkownik otrzymuje komunikaty o konieczności zmiany hasła z powodu jego wygaśnięcia. Odnosi się do szóstego pola w pliku shadow.

 

Polecenie używane do ustawiania i modyfikowania haseł użytkowników. Może być także używane do blokowania i odblokowania kont użytkowników oraz ustawienia atrybutów wygasania hasła.

Opcje Opis
–d (–delete)  Kasuje hasło bez wygaszenia konta użytkownika.
–e (–expire)  Zmusza użytkownika do zmiany hasła przy następnym logowaniu.
–i (–inactive) Liczba dni nieaktywności, po których hasło wygasa a konto jest blokowane. Odnosi się do siódmego pola w pliku shadow.
–k (–keep)  Reaktywuje wygaszone konto użytkownika bez zmiany hasła.
–l (–lock)  Blokuje konto użytkownika.
–n (–minimum)  Ilość dni jaka musi upłynąć aby hasło mogło być zmienione. Odnosi się do czwartego pola w pliku shadow.
–u (–unlock)  Odblokowuje konto użytkownika.
–w (–warning)  Ilość dni po który użytkownik otrzymuje komunikaty o konieczności zmiany hasła. Odnosi się do szóstego pola w pliku shadow.
–x (maximum) Maksymalna liczba dni ważności hasła, po których użytkownik otrzymuje komunikaty o konieczności zmiany hasła. Odnosi się do piątego pola w pliku shadow.

 

Ćwiczenie 1. Utwórz konto użytkownika z domyślnymi ustawieniami.

Tworzenie konta z ustawieniami domyślnymi.

Tworzenie hasła dla użytkownika.

Grepowanie plików passwd, shadow, group i gshadow aby sprawdzić zmiany wniesione przez useradd.

 

Ćwiczenie 2. Tworzenie konta z wybranymi ustawieniami.

Tworzymy konto user3 z UID 1010 (-u), katalogiem domowym /home/user3, powłoką /bin/bash, grupą user3 z GID 1010 i domyślnymi plikami startowymi przekopiowanymi do katalogu domowego (-k):

Ustawiamy hasło (sposób nie polecany bo widać hasło na konsoli):

Grepowanie:

Testujemy konto logując się jako user3.

 

Ćwiczenie 3. Tworzenie konta użytkownika, który nie będzie miał możliwości zalogowania do systemu.

Próba przełączenia na konto user4 kończy się nie powodzeniem:

 

Ćwiczenie 4. Ustawianie wygasania hasła.

Konfigurujemy wygasanie hasła dla użytkownika user2 na min. (-n) 7 dni i maks. (-x) 28 dni i czasem, po którym będą pojawiać się ostrzeżenia (-w) 5 dni:

Potwierdzamy powyższe ustawienia komendą chage.

Konfigurujemy wygasanie hasła dla użytkownika user3 na min. (-m) 10 dni i maks. (-M) 30 dni i czasem, po którym będą pojawiać się ostrzeżenia (-W) 7 dni. Wygaśnięcie konta ustawiamy na 2015-12-31.

Sprawdzamy powyższe ustawienia.

 

Ćwiczenie 5. Modyfikowanie i kasowanie kont użytkowników.

Modyfikujemy login użytkownikowi user2 na user2new, UID na 2000 (-u), katalog domowy na /home/user2new (-m i -d) i powłokę na /sbin/nologin (-s):

Aby potwierdzić czy zmiany zostały dokonane informacje o koncie user2new uzyskujemy z pliku  passwd:

Ustawiamy 29 luty 2016 jako nową datę wygaśnięcia konta user2new.

Potwierdzamy:

Modyfikujemy konto user3 tak aby hasło użytkownik musiał zmienić przy następnym logowaniu (-d) i żeby nie mógł zmienić hasła przez 5 dni od momentu ostatniej zmiany hasła (-m). Wyłączamy wygasanie konta (-E -1):

Potwierdzamy zmiany:

Blokujemy konto user4:

Usuwamy konto user4 wraz z katalogiem domowym i spool (–r):

Potwierdzamy usunięcie konta user4:

Leave a Reply

Your email address will not be published. Required fields are marked *