usermod
je nástroj příkazového řádku, který umožňuje měnit přihlašovací údaje uživatele.
V tomto článku se dozvíte, jak pomocí příkazu usermod
přidat uživatele do skupiny, změnit uživatelské prostředí, přihlašovací jméno, domovský adresář a další.
Příkaz usermod #
Syntaxe příkazu usermod
má následující podobu:
usermod USER
Příkaz usermod
může vyvolat a změnit uživatelský účet pouze root nebo uživatelé s sudo
přístupem. V případě úspěchu příkaz nezobrazí žádný výstup.
Přidání uživatele do skupiny #
Nejtypičtějším případem použití příkazu usermod
je přidání uživatele do skupiny.
Chcete-li přidat existujícího uživatele do sekundární skupiny, použijte volby -a -G
následované názvem skupiny a uživatelským jménem:
usermod -a -G GROUP USER
Chcete-li přidat uživatele do více skupin najednou, zadejte skupiny za volbou -G
oddělené ,
(čárkami) bez mezery.
Příklad pro přidání uživatele linuxize
do skupiny games
byste spustili následující příkaz:
sudo usermod -a -G games linuxize
Při přidávání uživatele do nové skupiny vždy použijte volbu -a
(append). Pokud volbu -a
vynecháte, bude uživatel odstraněn ze skupin, které nejsou uvedeny za volbou -G
.
Pokud uživatel nebo skupina neexistuje, příkaz vás upozorní.
Změna primární skupiny uživatele #
Chcete-li změnit primární skupinu uživatele, vyvoláte příkaz usermod
s volbou -g
následovanou názvem skupiny a uživatelským jménem:
sudo usermod -g GROUP USER
V následujícím příkladu měníme primární skupinu uživatele linuxize
na developers
:
usermod -g developers linuxize
Každý uživatel může patřit přesně do jedné primární skupiny a do nuly nebo více sekundárních skupin.
Změna informací o uživateli #
Chcete-li změnit informace GECOS (celé jméno uživatele), spusťte příkaz s volbou -c
následovanou novým komentářem a uživatelským jménem:
usermod -c "GECOS Comment" USER
Tady je příklad ukazující, jak přidat další informace k uživateli linuxize:
usermod -c "Test User" linuxize
Tyto informace jsou uloženy v souboru /etc/passwd
.
Změna domovského adresáře uživatele #
Ve většině systémů Linux jsou domovské adresáře uživatelů pojmenovány podle jména uživatele a vytvořeny v adresáři /home
.
Pokud chcete z nějakého důvodu změnit domovský adresář uživatele, zavolejte příkaz usermod
s volbou -d
následovanou absolutní cestou k novému domovskému adresáři a jménem uživatele:
usermod -d HOME_DIR USER
Příkaz standardně nepřesune obsah domovského adresáře uživatele do nového. Chcete-li obsah přesunout, použijte volbu -m
. Pokud nový adresář ještě neexistuje, vytvoří se:
usermod -d HOME_DIR -m USER
Tady je příklad ukazující, jak změnit domovský adresář uživatele www-data
na /var/www
:
usermod -d /var/www www-data
Změna výchozího shellu uživatele #
Výchozí shell je shell, který se spustí po přihlášení do systému. Ve výchozím nastavení je ve většině systémů Linux výchozí shell nastaven na Bash Shell:
Pro změnu výchozího shellu uživatele spusťte příkaz s volbou -s
, za kterou následuje absolutní cesta k shellu a jméno uživatele:
usermod -s SHELL USER
V níže uvedeném příkladu měníme shell uživatele na Zsh:
sudo usermod -s /usr/bin/zsh linuxize
Zobrazením obsahu souboru /etc/shells
můžete zjistit, jaké shelly jsou ve vašem systému k dispozici.
Změna UID uživatele #
UID (identifikátor uživatele) je číslo přidělené každému uživateli. Operační systém jej používá k označení uživatele.
Chcete-li změnit UID uživatele, zavolejte příkaz s volbou -u
následovanou novým UID a jménem uživatele:
usermod -u UID USER
Následující příklad ukazuje, jak změnit číslo „UID“ na „1050“:
sudo usermod -u 1050 linuxize
UID souborů, které uživatel vlastní a jsou umístěny v jeho domovském adresáři, a soubor poštovní schránky uživatele se změní automaticky. Vlastnictví všech ostatních souborů je třeba změnit ručně.
Změna jména uživatele #
Ačkoli to není příliš časté, někdy můžete chtít změnit jméno existujícího uživatele. Ke změně uživatelského jména se používá volba -l
:
usermod -l NEW_USER USER
V níže uvedeném příkladu přejmenujeme uživatele linuxize
na lisa
na „1050“:
sudo usermod -l linuxize lisa
Při změně uživatelského jména můžete také změnit domovský adresář uživatele tak, aby odrážel nové uživatelské jméno.
Nastavení data vypršení platnosti uživatele #
Datum vypršení platnosti je datum, kdy bude uživatelský účet deaktivován. Chcete-li nastavit datum vypršení platnosti uživatele, použijte volbu -e
:
sudo usermod -e DATE USER
Datum vypršení platnosti musí být nastaveno pomocí formátu YYYY-MM-DD
.
Chcete-li například zakázat uživatele linuxize
na 2022-02-21
, spusťte následující příkaz:
sudo usermod -e "2022-02-21" linuxize
Chcete-li zakázat platnost účtu, nastavte prázdné datum platnosti:
sudo usermod -e "" linuxize
Pro zobrazení data platnosti uživatele použijte příkaz chage -l
:
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
Datum platnosti je uloženo v souboru /etc/shadow
.
Zamčení a odemčení uživatelského účtu #
Příkaz -L
umožňuje uzamknout uživatelský účet:
usermod -L USER
Příkazy vloží před zašifrované heslo vykřičník (!
). Pokud pole hesla v souboru /etc/shadow
obsahuje vykřičník, uživatel se nebude moci přihlásit do systému pomocí ověřování hesla. Jiné metody přihlašování, například ověřování pomocí klíčenebo přepnutí na uživatelejsou stále povoleny. Pokud chcete účet uzamknout a zakázat všechny metody přihlašování, musíte také nastavit datum vypršení platnosti na 1.
Následující příklady ukazují, jak uzamknout uživatele linuxize
:
sudo usermod -L linuxize
sudo usermod -L -e 1 linuxize
Chcete-li uživatele odemknout, spusťte příkaz usermod
s volbou -U
:
usermod -U USER
Závěr #
Ukázali jsme si, jak pomocí příkazu usermod
nastavit informace o uživatelském účtu.
.