Zarządzanie użytkownikami w Debianie

Debian posiada oczywiście typowo linuksowe polecenia do zarządzania użytkownikami jak useradd, usermod czy userdel. Jednak posiada również własne narzędzia adduser i deluser pozwalające za jednym zamachem wykonać kilka czynności wykonywanych normalnie przy dodawaniu i usuwaniu użytkowników

adduser – dodanie nowego użytkownika

Dodanie nowego użytkownika możemy dokonać w sposób tradycyjny przy pomocy polecenia useradd a następnie passwd oraz ręcznie określając takie parametry jak jego quota. Jednak w dłuższej perspektywie czasowej jest to niewygodne, dlatego istnieje skrypt adduser znacznie usprawniający czynność dodania nowego użytkownika

Nowego użytkownika dodajemy więc wydając polecenie adduser login. Skrypt automatycznie utworzy katalog domowy, zapyta o informacje dotyczące użytkownika (Imię i nazwisko, numer telefonu, nr. pokoju) i doda je do pliku /etc/password, utworzy grupę użytkownika a na koniec ustali (jeżeli jest zdefiniowana) domyślną quotę dla użytkownika.

Jeżeli odpowiednio skonfigurujemy plik ustawień dla polecenia, może ono znacząco pomóc nam w zarządzaniu dużą ilością użytkowników. Otóż katalogi domowe może również tworzyć w podkatalogach w zależności od nazwy użytkownika (w podkatalogu zaczynającym się od pierwszej litery nazwy użytkownika) albo w podkatalogu grupy (przydatne, gdy jednoznacznie możemy określić przynależność do grupy użytkownika np. księgowość albo sprzedaż).

Domyślne ustawienia dla niego znajdują się w pliku /etc/adduser.conf. Pozwalają one określić domyślną powłokę, katalog w którym znajdują się podkatalogi użytkowników, zasadę tworzenia katalogów użytkowników (wszyscy w jednym, w zależności od grupy lub pierwszej litery loginu), katalog domyślnie kopiowany jako wzorcowy dla nowego użytkownika, zakres UIDów systemowych (domyślnie 100-999), grupę (różną dla każdego lub wspólną dla wszystkich np. users) oraz tryb dostępu do katalogu, .

Domyślne pliki kopiowane do katalogu nowego użytkownika

W katalogu /etc/skel znajdują się pliki, które będą kopiowane do katalogu nowo tworzonego użytkownika. Wartość ta jest ustawiana w pliku /etc/adduser.conf i respektowana tylko przez polecenie adduser.

Ustawianie parametrów długości ważności hasła (starzenie się haseł)

Parametry dotyczące ważności hasła możemy ustawiać albo globalnie albo dla poszczególnych użytkowników. Zasady globalne ustawiamy w pliku /etc/login.defs. Znajdują się tam trzy interesujące nas zmienne: PASS_MAX_DAYS (jak długo hasło jest ważne), PASS_MIN_DAYS (minimalna ilość dni po których można zmienić hasło) i PASS_WARN_AGE (ilość dni przed upływem terminu wygaśnięcia ważności konta, kiedy zostanie wysłane przypomnienie o konieczności zmiany hasła).

Standardowe ustawienia to:

PASS_MAX_DAYS 99999
PASS_MIN_DAYS   0
PASS_WARN_AGE   7

Umożliwiają one niezmienianie haseł przez cały czas używania konta. W przypadku bardzo ważnych serwerów należy jednak wprowadzić starzenie się haseł. W przypadku istniejących już użytkowników możemy skorzystać z polecenia usermod, które pozwoli nam zmodyfikować ustalone już parametry ich kont.

Ustawianie wymagań dotyczących mocy hasła

Hasło użytkownika powinno być wystarczająco mocne, aby zapewnić bezpieczeństwo jego kontu a przez to całemu systemowi. Minimalną liczbę znaków w haśle definiujemy w pliku /etc/pam.d/login, czyli w pliku definiującym zachowanie PAMa przy tworzeniu i zmianie hasła.

password required 	pamunix.so   nullok obscure  min=4 max=8

Jeżeli używamy biblioteki pamcracklib.so (wymaga pakietu libpam-kracklib) modyfikujemy linię:

password required 	pamcracklib.so   retry=3 minlen=6 difok=3

Możemy tutaj zdefiniować również minimalną liczbę znaków (difok), która musi być różna w porównaniu do poprzedniego hasła.

Maksymalną długość hasła ustawiamy w pliku /etc/login.def. Standardowo jest to 8 znaków, ale jeżeli używamy MD5 należy ją zwiększyć.

Usuwanie użytkowników

W pliku /etc/default.conf możemy dzięki zmiennej USERDEL_CMD ustawić skrypt, który będzie wykonywany podczas usuwania użytkownika. Jeżeli już jakiś taki skrypt zastosujemy powinien on usuwać zadania z crona, kolejki drukowania itp.

Przykładowa konfiguracja to:

USERDEL_CMD    /usr/sbin/userdel_local

deluser – usuwanie użytkowników

Polecenie deluser jest charakterystyczne dla Debiana. Pozwala w wygodny sposób usuwać użytkowników systemowych. Ma możliwość usuwania katalogu domowego ( opcja –remove-home), wszystkich plików użytkownika z systemu (opcja –remove-all-file), oraz zrobienia backupu ich (opcja –backup), jeżeli któraś z poprzednich opcji została wybrana.

Domyślne opcje dla tego polecenia są zdefiniowane w pliku /etc/deluser.conf. Jeżeli ustawimy zmiennej REMOVE_HOME wartość 1 to system usunie katalog domowy użytkownika. Jeżeli zmiennej REMOVE_ALL nadamy wartość 1 to system usunie wszystkie pliki użytkownika z systemu. Jeżeli natomiast zmienna BACKUP ma wartość 1 to przed usunięciem plików zostaną one zachowane w kopii bezpieczeństwa. Ustawienie tej zmiennej ma sens jeżeli REMOVE_HOME lub REMOVE_ALL jest ustawiona na 1. Pliki użytkownika zostaną zarchiwizowane w bieżącym katalogu.

delgroup – usuwanie grupy z systemu

Polecenie delgroup pozwala usuwać grupy użytkowników z systemu.

Dodaj komentarz