Zarządzanie użytkownikami jest fundamentalnym aspektem dla każdego administratora systemu Linux. Niezależnie od tego, czy nadzoruje się pojedynczą maszynę, czy sieć serwerów, utrzymanie porządku wśród kont użytkowników jest kluczowe dla kontroli i bezpieczeństwa systemu. Prawidłowe zarządzanie zapewnia dostęp wyłącznie tym, którzy go rzeczywiście potrzebują i tylko tak długo, jak to konieczne. Nieograniczone uprawnienia mogą prowadzić do potencjalnych wycieków poufnych danych lub krytycznych zasobów. W tym artykule zagłębiamy się w podstawowe narzędzia wiersza poleceń, które umożliwiają administratorom tworzenie, modyfikowanie i usuwanie kont użytkowników bezpośrednio z terminala.
Niezbędne pliki do zarządzania użytkownikami w systemie Linux
Linux przechowuje krytyczne informacje o użytkownikach i grupach w określonych plikach systemowych. Pliki te zawierają dane kont, hasła i uprawnienia grup, stanowiąc podstawę do zarządzania użytkownikami i kontroli dostępu.
| Plik/Katalog | Opis |
|---|---|
| /etc/passwd | Zawiera UID, GID, katalog domowy i domyślną powłokę. Dostępny do odczytu dla wszystkich, edytowalny tylko przez roota/sudo. |
| /etc/grupa | Wyświetla nazwy grup, identyfikatory GID i członków, co jest niezbędne do zarządzania członkostwem w grupach i uprawnieniami. |
| /etc/sudoers | Szczegóły dotyczące użytkowników/grup, którzy mogą wykonywać polecenia jako root. Wymaga starannej edycji. |
| /etc/shadow | Przechowuje skróty haseł i informacje o ich wygaśnięciu. Dostęp jest ograniczony wyłącznie do użytkownika root. |
| /etc/gshadow | Zawiera szczegóły hasła grupy i informacje o jego wygaśnięciu, dostępne tylko dla użytkownika root. |
| /etc/skel | Pliki takie jak „.bashrc” i „.profile” są automatycznie kopiowane do nowych katalogów domowych użytkownika. |
| /etc/login.defs | Konfiguruje ustawienia dotyczące starzenia się haseł, ich wygaśnięcia i różnych zasad bezpieczeństwa. |
Jak wyświetlić istniejących użytkowników
Prostym sposobem sprawdzenia istniejących użytkowników w systemie Linux jest sprawdzenie pliku „/etc/passwd”, który zawiera istotne informacje o kontach użytkowników. Aby wyświetlić ten plik, wykonaj polecenie:
sudo cat /etc/passwd
Każdy wiersz w pliku odpowiada unikalnemu kontu użytkownika.

Polecenie idpodaje UID, GID, oraz wszystkie grupy, do których należy użytkownik:
id usernamegroups usernamegetent passwd username
Alternatywnie, groupspolecenie wyświetla tylko grupy powiązane z użytkownikiem. Polecenie getentpobiera dane konta z baz danych systemu, w tym z „/etc/passwd”, LDAP lub innych skonfigurowanych źródeł.

Tworzenie użytkowników za pomocą polecenia useradd
Polecenie to useraddjest podstawowym narzędziem dostępnym w większości dystrybucji, ale generalnie uważa się je za mniej przyjazne dla użytkownika w porównaniu z adduser. Pomimo różnic, oba polecenia wykonują podobne funkcje.
Aby dowiedzieć się więcej o poleceniu useradd, skorzystaj z manpolecenia lub dodaj --helpkrótki przewodnik:
man useradd--help

Aby utworzyć nowego użytkownika i katalog domowy, możesz użyć następującego polecenia:
sudo useradd --create-home
Jeśli pominiesz tę --create-homeopcję, konto użytkownika nie będzie miało katalogu osobistego. Po utworzeniu użytkownika sprawdź jego istnienie, uruchamiając polecenie grep:
grep /etc/passwd

Tworzenie użytkowników za pomocą polecenia adduser
W przeciwieństwie do useradd, adduserpolecenie to jest skryptem Perla, który zapewnia interaktywne środowisko tworzenia użytkownika, wyświetlając między innymi monity o podanie hasła i szczegółów katalogu domowego. W wielu dystrybucjach, takich jak Red Hat i CentOS, addusersłuży jako dowiązanie symboliczne do useradd. Jednak w innych systemach, takich jak Arch Linux, oddzielny pakiet może zawierać adduser.
Po wywołaniu, to polecenie zazwyczaj generuje grupę o tej samej nazwie co użytkownik. Domyślne ustawienia dla użytkowników utworzonych za jego pomocą useraddmożna dostosować w pliku „/etc/default/useradd”, gdzie można wstępnie zdefiniować atrybuty, takie jak domyślna powłoka i katalog domowy.

Aby utworzyć nowego użytkownika, wykonaj następujące polecenie:
sudo adduser testuser
Zostaniesz poproszony o ustawienie i potwierdzenie hasła, podanie dodatkowych informacji o użytkowniku i sfinalizowanie tworzenia konta.

Aktualizowanie haseł użytkowników
Po utworzeniu konta użytkownika możesz zmienić jego hasło, używając passwdnastępującego polecenia:
sudo passwd
Wykonanie tego polecenia spowoduje wyświetlenie monitu o podanie i potwierdzenie nowego hasła. Zwykli użytkownicy mogą zmienić swoje hasło tylko wtedy, gdy uruchomią polecenie bez sudo.

Wymagania dotyczące złożoności hasła są egzekwowane przez moduły PAM (Pluggable Authentication Modules) i zazwyczaj można je skonfigurować w pliku „/etc/pam.d/common-password” w systemach Ubuntu. Więcej informacji można znaleźć w podręczniku pam-auth-update.

Korzystanie z polecenia usermod do zarządzania użytkownikami
Polecenie usermodudostępnia mechanizm zmiany atrybutów istniejących kont użytkowników. Obejmuje to aktualizację identyfikatorów użytkowników, nazw logowania, katalogów domowych lub członkostwa w grupach. Na przykład, aby zmienić UID użytkownika, użyj:
sudo usermod -u
Zmiana UID lub GID może mieć wpływ na właściciela pliku oraz uprawnienia w całym systemie.
Aby zmienić katalog domowy użytkownika, należy wykonać następujące czynności:
sudo usermod -d
Dodatkowo możesz blokować i odblokowywać konta użytkowników za pomocą następujących poleceń:
sudo usermod -L sudo usermod -U
Na koniec możesz ustawić datę wygaśnięcia konta, korzystając z --expiredateopcji:
sudo usermod --expiredate
Dzięki tym zmianom możesz skutecznie zarządzać dostępem użytkowników i ich atrybutami, bez konieczności usuwania konta.
Integrowanie użytkowników w grupach
Grupy ułatwiają dzielenie się uprawnieniami między wieloma użytkownikami, co jest szczególnie przydatne przy zbiorowym zarządzaniu plikami, uruchamianiu usług lub wykonywaniu zadań administracyjnych.
Aby zintegrować użytkownika z określoną grupą, użyj następującego usermodpolecenia z opcjami -ai -G:
sudo usermod -a -G
Flaga -ajest bardzo ważna, ponieważ dołącza użytkownika do istniejących grup; jej pominięcie może spowodować nadpisanie bieżących członkostw w grupach.

Alternatywnie, gpasswdpolecenie może również zarządzać członkostwem w grupach:
sudo gpasswd -a username groupname
Aby usunąć użytkownika z grupy, wykonaj:
sudo gpasswd -d username groupname
Usuwanie kont użytkowników
Gdy konto użytkownika nie jest już potrzebne, można je usunąć za pomocą userdelpolecenia:
sudo userdel username

To polecenie usuwa konto użytkownika, ale zachowuje jego katalog domowy. Aby całkowicie usunąć konto, łącznie z katalogiem domowym, użyj:
sudo userdel -r username
Należy pamiętać, że polecenie userdelnie zostanie wykonane, jeśli na koncie użytkownika uruchomione są aktywne procesy.
Śledzenie aktywności logowania użytkownika
Monitorowanie aktywności logowania jest niezbędne dla administratorów systemu, aby identyfikować nieautoryzowane próby dostępu i rozwiązywać problemy z uwierzytelnianiem. W systemach Ubuntu i Debian próby logowania są rejestrowane w pliku „/var/log/auth.log”.Aby sprawdzić najnowsze wpisy, użyj:
sudo tail /var/log/auth.log

W systemach Red Hat lub CentOS rekordy logowania można znaleźć w katalogu „/var/log/secure”.Ponadto systemy korzystające z systemd mogą oferować inną metodę przeglądania logów uwierzytelniania:
sudo journalctl | grep ssh
Proaktywne podejście do zarządzania kontami użytkowników pozwala zachować porządek w systemie i chroni go przed nieautoryzowanym dostępem.
Dodaj komentarz