usermod jest narzędziem wiersza poleceń, które umożliwia modyfikowanie informacji logowania użytkownika.

Ten artykuł omawia, jak używać polecenia usermod do dodawania użytkownika do grupy, zmiany powłoki użytkownika, nazwy logowania, katalogu domowego i innych.

polecenie usermod #

Składnia polecenia usermod przyjmuje następującą postać:

usermod USER

Tylko root lub użytkownicy z sudodostępem mogą wywołać polecenie usermod i zmodyfikować konto użytkownika. W przypadku powodzenia polecenie nie wyświetla żadnych danych wyjściowych.

Add a User to a Group #

Najbardziej typowym przypadkiem użycia polecenia usermod jest dodanie użytkownika do grupy.

Aby dodać istniejącego użytkownika do grupy drugorzędnej, użyj opcji -a -G, a następnie nazwy grupy i nazwy użytkownika:

usermod -a -G GROUP USER

Jeśli chcesz dodać użytkownika do wielu grup jednocześnie, określ grupy po opcji -G, oddzielając je , (przecinkami) bez odstępów między białymi znakami.

Na przykład, aby dodać użytkownika linuxize do grupy games, należy wykonać następujące polecenie:

sudo usermod -a -G games linuxize

Zawsze używaj opcji -a (dołącz) podczas dodawania użytkownika do nowej grupy. Jeśli pominięta zostanie opcja -a, użytkownik zostanie usunięty z grup nie wymienionych po opcji -G.

Jeśli użytkownik lub grupa nie istnieje, polecenie wyświetli ostrzeżenie.

Zmień grupę podstawową użytkownika #

Aby zmienić grupę podstawową użytkownika, należy wywołać polecenie usermod z opcją -g, po której następuje nazwa grupy i nazwa użytkownika:

sudo usermod -g GROUP USER

W poniższym przykładzie zmieniamy grupę podstawową użytkownika linuxize na developers:

usermod -g developers linuxize

Każdy użytkownik może należeć do dokładnie jednej grupy podstawowej i zero lub więcej grup drugorzędnych.

Zmiana informacji o użytkowniku #

Aby zmienić informacje GECOS (pełną nazwę użytkownika), należy uruchomić polecenie z opcją -c, a następnie podać nowy komentarz i nazwę użytkownika:

usermod -c "GECOS Comment" USER

Tutaj znajduje się przykład pokazujący, jak dodać dodatkowe informacje do użytkownika linuxize:

usermod -c "Test User" linuxize

Informacje te są przechowywane w pliku /etc/passwd.

Zmiana katalogu domowego użytkownika #

W większości systemów Linux katalogi domowe użytkowników są nazwane po nazwie użytkownika i utworzone w katalogu /home.

Jeśli z jakiegoś powodu chcesz zmienić katalog domowy użytkownika, wywołaj polecenie usermod z opcją -d, a następnie podaj bezwzględną ścieżkę do nowego katalogu domowego i nazwę użytkownika:

usermod -d HOME_DIR USER

Domyślnie polecenie to nie przenosi zawartości katalogu domowego użytkownika do nowego katalogu. Aby przenieść zawartość, należy użyć opcji -m. Jeśli nowy katalog jeszcze nie istnieje, jest tworzony:

usermod -d HOME_DIR -m USER

Tutaj znajduje się przykład pokazujący, jak zmienić katalog domowy użytkownika www-data na /var/www:

usermod -d /var/www www-data

Zmiana domyślnej powłoki użytkownika #

Domyślna powłoka to powłoka, która jest uruchamiana po zalogowaniu się do systemu. Domyślnie, w większości systemów Linux, domyślna powłoka jest ustawiona na powłokę Bash.

Aby zmienić domyślną powłokę użytkownika, wykonaj polecenie z opcją -s, po której następuje bezwzględna ścieżka powłoki i nazwa użytkownika:

usermod -s SHELL USER

W poniższym przykładzie zmieniamy powłokę użytkownika na Zsh:

sudo usermod -s /usr/bin/zsh linuxize

Możesz dowiedzieć się, jakie powłoki są dostępne w twoim systemie, wyświetlając zawartość pliku /etc/shells.

Zmiana UID użytkownika #

UID (identyfikator użytkownika) to numer przypisany do każdego użytkownika. Jest on używany przez system operacyjny do odnoszenia się do użytkownika.

Aby zmienić identyfikator UID użytkownika, należy wywołać polecenie z opcją -u, a następnie podać nowy identyfikator UID i nazwę użytkownika:

usermod -u UID USER

Poniższy przykład pokazuje, jak zmienić numer „UID” na „1050”:

sudo usermod -u 1050 linuxize

UID plików należących do użytkownika i znajdujących się w katalogu domowym użytkownika oraz pliku skrzynki pocztowej użytkownika zostaną zmienione automatycznie. Własność wszystkich innych plików musi być zmieniona ręcznie.

Zmiana nazwy użytkownika #

Chociaż niezbyt często, czasami możesz chcieć zmienić nazwę istniejącego użytkownika. Opcja -l jest używana do zmiany nazwy użytkownika:

usermod -l NEW_USER USER

W poniższym przykładzie zmieniamy nazwę użytkownika linuxize na lisa na „1050”:

sudo usermod -l linuxize lisa

Podczas zmiany nazwy użytkownika możesz również chcieć zmienić katalog domowy użytkownika, aby odzwierciedlić nową nazwę użytkownika.

Ustawianie daty wygaśnięcia użytkownika #

Data wygaśnięcia jest datą, w której konto użytkownika zostanie wyłączone. Aby ustawić datę wygaśnięcia użytkownika, użyj opcji -e:

sudo usermod -e DATE USER

Data wygaśnięcia musi być ustawiona przy użyciu formatu YYYY-MM-DD.

Na przykład, aby wyłączyć użytkownika linuxize na koncie 2022-02-21, należy wykonać następujące polecenie:

sudo usermod -e "2022-02-21" linuxize

Aby wyłączyć wygaśnięcie konta, należy ustawić pustą datę wygaśnięcia:

sudo usermod -e "" linuxize

Użyj polecenia chage -l, aby wyświetlić datę wygaśnięcia użytkownika:

sudo chage -l linuxize
Last password change: Jul 24, 2018Password expires: neverPassword inactive: neverAccount expires: neverMinimum number of days between password change: 0Maximum number of days between password change: 99999Number of days of warning before password expires: 7

Data wygaśnięcia jest przechowywana w pliku /etc/shadow.

Zablokowanie i odblokowanie konta użytkownika #

Opcja -L umożliwia zablokowanie konta użytkownika:

usermod -L USER

Komendy wstawią wykrzyknik (!) przed zaszyfrowanym hasłem. Gdy pole hasła w pliku /etc/shadow zawiera wykrzyknik, użytkownik nie będzie mógł zalogować się do systemu przy użyciu uwierzytelniania za pomocą hasła. Inne metody logowania, takie jak uwierzytelnianie oparte na kluczach lub przełączanie na użytkownika, są nadal dozwolone. Jeśli chcesz zablokować konto i wyłączyć wszystkie metody logowania, musisz również ustawić datę wygaśnięcia na 1.

Następujące przykłady pokazują, jak zablokować użytkownika linuxize:

sudo usermod -L linuxize
sudo usermod -L -e 1 linuxize

Aby odblokować użytkownika, uruchom polecenie usermod z opcją -U:

usermod -U USER

Zakończenie #

Pokazaliśmy, jak używać polecenia usermod do ustawiania informacji o koncie użytkownika.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.