Seria RHCSA: Jak zarządzać użytkownikami i grupami w RHEL 7 – część 3
Zarządzanie serwerem RHEL 7, tak jak w przypadku każdego innego serwera Linux, będzie wymagało umiejętności dodawania, edytowania, zawieszania lub usuwania kont użytkowników oraz przyznawania użytkownikom niezbędnych uprawnień do plików , katalogi i inne zasoby systemowe w celu wykonywania przypisanych im zadań.
Zarządzanie kontami użytkowników
Aby dodać nowe konto użytkownika do serwera RHEL 7, możesz uruchomić jedno z dwóch poniższych poleceń jako root:
adduser [new_account]
useradd [new_account]
Po dodaniu nowego konta użytkownika domyślnie wykonywane są następujące operacje.
- Jego/jej katalog domowy zostanie utworzony (
/home/username
, chyba że określono inaczej). - Te ukryte pliki
.bash_logout
,.bash_profile
i.bashrc
są kopiowane do katalogu domowego użytkownika i będą używane do dostarczania zmiennych środowiskowych dla jego /jej sesja użytkownika. Możesz zapoznać się z każdym z nich, aby uzyskać więcej szczegółów. - Dla dodanego konta użytkownika tworzony jest katalog buforowania poczty.
- Utworzona zostanie grupa o tej samej nazwie co nowe konto użytkownika.
Pełne podsumowanie konta przechowywane jest w pliku /etc/passwd
. Plik ten zawiera rekordy dla poszczególnych kont użytkowników systemu i ma następujący format (pola oddzielone są dwukropkiem):
[username]:[x]:[UID]:[GID]:[Comment]:[Home directory]:[Default shell]
- Te dwa pola
[username]
i[Komentarz]
są oczywiste. - Drugie pole „x” wskazuje, że konto jest zabezpieczone ukrytym hasłem (w
/etc/shadow
), które służy do logowania się jako[nazwa użytkownika]
. - Pola
[UID]
i[GID]
są liczbami całkowitymi, które pokazują w równym stopniu identyfikator użytkownika i podstawowy identyfikator grupy, do której należy[nazwa użytkownika]
.
Wreszcie,
[Katalog domowy]
pokazuje bezwzględną lokalizację katalogu domowego[username]
, a[Domyślna powłoka]
to powłoka, która jest zatwierdzana dla tego użytkownika, gdy ten loguje się do systemu.
Kolejnym ważnym plikiem, z którym musisz się zapoznać, jest /etc/group
, w którym przechowywane są informacje o grupie. Podobnie jak w przypadku /etc/passwd
, w każdej linii znajduje się jeden rekord, a jego pola również są oddzielone dwukropkiem:
[Group name]:[Group password]:[GID]:[Group members]
Gdzie,
[Nazwa grupy]
to nazwa grupy.- Czy ta grupa używa hasła grupowego? („x” oznacza nie).
[GID]
: tak samo jak w/etc/passwd
.[Członkowie grupy]
: lista użytkowników oddzielonych przecinkami, którzy są członkami każdej grupy.
Po dodaniu konta, w każdej chwili możesz edytować informacje o koncie użytkownika za pomocą usermod, którego podstawowa składnia to:
usermod [options] [username]
Przeczytaj także:
15 przykładów poleceń „useradd”
15 przykładów poleceń „usermod”.
PRZYKŁAD 1: Ustalenie daty ważności konta
Jeśli pracujesz dla firmy, która ma jakąś politykę włączania konta na określony czas lub jeśli chcesz przyznać dostęp na ograniczony okres czasu, możesz użyć --expiredate
flaga, po której następuje data w formacie RRRR-MM-DD. Aby sprawdzić, czy zmiana została zastosowana, możesz porównać dane wyjściowe programu
chage -l [username]
przed i po aktualizacji daty wygaśnięcia konta, jak pokazano na poniższym obrazku.
PRZYKŁAD 2: Dodanie użytkownika do grup dodatkowych
Oprócz grupy podstawowej, która jest tworzona w momencie dodania nowego konta użytkownika do systemu, użytkownika można dodać do grup dodatkowych za pomocą kombinacji -aG lub –append –groups opcje, po których następuje lista grup oddzielonych przecinkami.
PRZYKŁAD 3: Zmiana domyślnej lokalizacji katalogu domowego użytkownika i/lub zmiana jego powłoki
Jeśli z jakiegoś powodu musisz zmienić domyślną lokalizację katalogu domowego użytkownika (inną niż /home/username), będziesz musiał użyć -d lub –home opcje, po których następuje bezwzględna ścieżka do nowego katalogu domowego.
Jeśli użytkownik chce użyć innej powłoki niż bash (na przykład sh), która jest przypisana domyślnie, użyj usermod z –shell flaga, po której następuje ścieżka do nowej powłoki.
PRZYKŁAD 4: Wyświetlanie grup, do których należy użytkownik
Po dodaniu użytkownika do grupy dodatkowej możesz sprawdzić, czy faktycznie należy on do takiej grupy:
groups [username]
id [username]
Poniższy obraz przedstawia Przykłady 2 do 4:
W powyższym przykładzie:
usermod --append --groups gacanepa,users --home /tmp --shell /bin/sh tecmint
Aby usunąć użytkownika z grupy, pomiń przełącznik --append
w powyższym poleceniu i wyświetl listę grup, do których użytkownik ma należeć, po flagi --groups
.
PRZYKŁAD 5: Wyłączenie konta poprzez zablokowanie hasła
Aby wyłączyć konto, musisz użyć opcji -L (małe L) lub –lock, aby zablokować hasło użytkownika. Uniemożliwi to użytkownikowi zalogowanie się.
PRZYKŁAD 6: Odblokowanie hasła
Jeśli chcesz ponownie włączyć użytkownika, aby mógł ponownie zalogować się do serwera, użyj opcji -U lub –odblokuj, aby odblokować hasło użytkownika, które zostało wcześniej zablokowane, jak wyjaśniono w Przykładzie 5 powyżej.
usermod --unlock tecmint
Poniższy obraz ilustruje Przykłady 5 i 6:
PRZYKŁAD 7: Usuwanie grupy lub konta użytkownika
Aby usunąć grupę, użyj groupdel, natomiast do usunięcia konta użytkownika użyj userdel (dodaj przełącznik –r jeśli chcesz także usunąć zawartość jego katalogu domowego i bufora poczty):
groupdel [group_name] # Delete a group
userdel -r [user_name] # Remove user_name from the system, along with his/her home directory and mail spool
Jeśli istnieją pliki, których właścicielem jest nazwa_grupy, nie zostaną one usunięte, ale właścicielem grupy zostanie ustawiony GID usuniętej grupy.