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 sudo
dostę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.