Zarządzanie użytkownikami systemu Linux za pomocą wiersza poleceń: kompleksowy przewodnik

Zarządzanie użytkownikami systemu Linux za pomocą wiersza poleceń: kompleksowy przewodnik

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.

Wyświetl informacje o użytkowniku

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ł.

Wyświetl informacje o istniejących użytkownikach

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

Pomoc dotycząca dodawania użytkowników w systemie Linux

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

Utwórz i zweryfikuj użytkownika

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.

Konfiguruj ustawienia domyślne dla użytkownika

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.

Utwórz użytkownika za pomocą Adduser

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.

Ustaw hasło aktualizacji

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.

Linux Pam Auth Man

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.

Dodaj użytkownika do grupy

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

Usuń użytkownika

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

Wyświetl dzienniki użytkowników

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.

Źródło i obrazy

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *