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 sudopří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.

.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.