Vyhledávání na webu

Kompletní průvodce používáním příkazu 'usermod' – 15 praktických příkladů se snímky obrazovky


V unixových/linuxových distribucích se příkaz ‚usermod‘ používá k úpravě nebo změně jakýchkoli atributů již vytvořeného uživatelského účtu pomocí příkazového řádku. Příkaz „usermod“ je podobný příkazu „useradd“ nebo „adduser“, ale přihlášení je uděleno stávajícímu uživateli.

Příkaz „useradd“ nebo „adduser“ se používá pro vytváření uživatelských účtů v systémech Linux. Chcete-li se dozvědět více o tom, jak vytvořit uživatele systému, přečtěte si naši kompletní příručku na adrese:

  1. Kompletní průvodce příkazem „useradd“ v Linuxu

Po vytvoření uživatelských účtů v některých scénářích, kdy potřebujeme změnit atributy stávajícího uživatele, jako je změna domovského adresáře uživatele, přihlašovací jméno, přihlašovací shell, datum vypršení hesla atd., kde se v takovém případě používá příkaz „usermod“.

Když v terminálu spustíme příkaz „usermod“, použijí se a budou ovlivněny následující soubory.

  1. /etc/passwd – Informace o uživatelském účtu.
  2. /etc/shadow – Zabezpečené informace o účtu.
  3. /etc/group – Informace o skupinovém účtu.
  4. /etc/gshadow – Zabezpečené informace o skupinovém účtu.
  5. /etc/login.defs – Konfigurace sady stínových hesel.

Základní syntaxe příkazu je:

usermod [options] username

Požadavky

  1. K provedení příkazu usermod musíme mít existující uživatelské účty.
  2. Příkaz usermod může provádět pouze superuživatel (root).
  3. Příkaz usermod lze spustit v jakékoli distribuci Linuxu.
  4. Musíte mít základní znalosti příkazu usermod s volbami

Možnosti Usermod

Příkaz „usermod“ se snadno používá a má spoustu možností, jak provést změny u stávajícího uživatele. Podívejme se, jak používat příkaz usermod úpravou některých stávajících uživatelů v Linuxovém boxu pomocí následujících možností.

  1. -c=Můžeme přidat pole komentáře pro uživatelský účet.
  2. -d=Chcete-li upravit adresář pro jakýkoli existující uživatelský účet.
  3. -e=Pomocí této možnosti můžeme provést vypršení platnosti účtu v určitém období.
  4. -g=Změna primární skupiny pro uživatele.
  5. -G=Chcete-li přidat doplňkové skupiny.
  6. -a=Přidat kohokoli ze skupiny do sekundární skupiny.
  7. -l=Chcete-li změnit přihlašovací jméno z tecmint na tecmint_admin.
  8. -L=Uzamknout uživatelský účet. Tím se uzamkne heslo, abychom nemohli používat účet.
  9. -m=přesunutí obsahu domovského adresáře z existujícího domovského adresáře do nového adresáře.
  10. -p=Chcete-li pro nové heslo použít nezašifrované heslo. (NEZAJIŠTĚNO).
  11. -s=Vytvořit specifikovaný shell pro nové účty.
  12. -u=Používá se k přiřazení UID pro uživatelský účet mezi 0 až 999.
  13. -U=Odemknutí uživatelských účtů. Tím odstraníte zámek heslem a umožníte nám používat uživatelský účet.

V tomto článku uvidíme „15 příkazů usermod“ s jejich praktickými příklady a použití v Linuxu, které vám pomohou naučit se a zlepšit své dovednosti příkazového řádku pomocí těchto možností.

1. Přidání informací do uživatelského účtu

Volba ‚-c‘ slouží k nastavení krátkého komentáře (informace) o uživatelském účtu. Například pomocí následujícího příkazu přidejte informace o uživateli „tecmint“.

usermod -c "This is Tecmint" tecmint

Po přidání informací o uživateli lze stejný komentář zobrazit v souboru /etc/passwd.

grep -E --color 'tecmint' /etc/passwd

tecmint:x:500:500:This is Tecmint:/home/tecmint:/bin/sh

2. Změňte domovský adresář uživatele

Ve výše uvedeném kroku vidíme, že náš domovský adresář je pod /home/tecmint/. Pokud jej potřebujeme změnit na jiný adresář, můžeme jej změnit pomocí -d možnost s příkazem usermod.

Například chci změnit náš domovský adresář na /var/www/, ale před změnou zkontrolujte aktuální domovský adresář uživatele pomocí následujícího příkazu.

grep -E --color '/home/tecmint' /etc/passwd

tecmint:x:500:500:This is Tecmint:/home/tecmint:/bin/sh

Nyní změňte domovský adresář z /home/tecmint na /var/www/ a po změně potvrďte domovský adresář.

usermod -d /var/www/ tecmint
grep -E --color '/var/www/' /etc/passwd

tecmint:x:500:500:This is Tecmint:/var/www:/bin/sh

3. Nastavte datum vypršení platnosti uživatelského účtu

Možnost „-e“ se používá k nastavení data vypršení platnosti uživatelského účtu ve formátu data RRRR-MM-DD. Před nastavením data vypršení platnosti uživatele nejprve zkontrolujte aktuální stav vypršení platnosti účtu pomocí příkazu „chage“ (změnit informace o vypršení platnosti hesla uživatele).

chage -l tecmint

Last password change					: Nov 02, 2014
Password expires					: never
Password inactive					: never
Account expires						: Dec 01, 2014
Minimum number of days between password change		: 0
Maximum number of days between password change		: 99999
Number of days of warning before password expires	: 7

Stav vypršení platnosti uživatele 'tecmint' je 1. prosince 2014, změňme jej na 1. listopadu 2014 pomocí 'usermod -e “ a potvrďte datum vypršení platnosti příkazem „chage“.

usermod -e 2014-11-01 tecmint
chage -l tecmint

Last password change					: Nov 02, 2014
Password expires					: never
Password inactive					: never
Account expires						: Nov 01, 2014
Minimum number of days between password change		: 0
Maximum number of days between password change		: 99999
Number of days of warning before password expires	: 7

4. Změňte primární skupinu uživatele

Chcete-li nastavit nebo změnit primární skupinu uživatelů, použijeme volbu ‚-g‘ s příkazem usermod. Před změnou primární skupiny uživatele nejprve zkontrolujte aktuální skupinu uživatele tecmint_test.

id tecmint_test

uid=501(tecmint_test) gid=502(tecmint_test) groups=502(tecmint_test)

Nyní nastavte skupinu babin jako primární skupinu na uživatele tecmint_test a potvrďte změny.

usermod -g babin tecmint_test
id tecmint_test

uid=501(tecmint_test) gid=502(babin) groups=502(tecmint_test)

5. Přidání skupiny ke stávajícímu uživateli

Pokud chcete přidat novou skupinu s názvem 'tecmint_test0' k uživateli 'tecmint', můžete použít volbu '-G' s příkazem usermod Jak je ukázáno níže.

usermod -G tecmint_test0 tecmint
id tecmint

Poznámka: Buďte opatrní, přidáním nové skupiny ke stávajícímu uživateli pouze pomocí možnosti '-G' odstraníte všechny existující skupiny, které uživatel patří. Takže vždy přidejte „-a“ (append) s možností „-G“, chcete-li přidat nebo přidat nové skupiny.

6. Přidání doplňkové a primární skupiny k uživateli

Pokud potřebujete přidat uživatele do některé z doplňkových skupin, můžete použít možnosti „-a“ a „-G“. Například zde přidáme uživatelský účet tecmint_test0 s uživatelem wheel.

usermod -a -G wheel tecmint_test0
id tecmint_test0

Uživatel tecmint_test0 tedy zůstává ve své primární skupině a také v sekundární skupině (kolečko). Díky tomu bude můj běžný uživatelský účet spouštět všechny privilegované příkazy root v poli Linux.

eg : sudo service httpd restart

7. Změňte přihlašovací jméno uživatele

Chcete-li změnit jakékoli stávající přihlašovací jméno uživatele, můžeme použít možnost „-l“ (nové přihlášení). V níže uvedeném příkladu měníme přihlašovací jméno tecmint na tecmint_admin. Uživatelské jméno tecmint bylo tedy přejmenováno na nové jméno tecmint_admin.

usermod -l tecmint_admin tecmint

Nyní zkontrolujte uživatele tecmint, nebude přítomen, protože jsme jej změnili na tecmint_admin.

id tecmint

Zkontrolujte účet tecmint_admin, bude tam se stejným UID a se stávající skupinou, kterou jsme přidali dříve.

id tecmint_admin

8. Uzamkněte uživatelský účet

Chcete-li zamknout jakýkoli uživatelský účet systému, můžeme použít možnost '-L' (uzamknout). Po uzamčení účtu se nemůžeme přihlásit pomocí hesla a zobrazí se ! přidaný před zašifrované heslo v souboru /etc/shadow znamená, že heslo je zakázáno.

usermod -L babin

Zkontrolujte uzamčený účet.

grep -E --color 'babin' cat /etc/shadow

9. Odemkněte uživatelský účet

Možnost „-U“ se používá k odemknutí jakéhokoli uzamčeného uživatele, odstraní se znak ! před zašifrovaným heslem.

grep -E --color 'babin' /etc/shadow
usermod -U babin

Po odemknutí ověřte uživatele.

grep -E --color 'babin' /etc/shadow

10. Přesuňte domovský adresář uživatele do nového umístění

Řekněme, že máte uživatelský účet „pinky“ s domovským adresářem „/home/pinky“, chcete se přesunout do nového umístění, řekněte „/var /pinky'. Pomocí voleb „-d“ a „-m“ můžete přesunout existující uživatelské soubory z aktuálního domovského adresáře do nového domovského adresáře.

Zkontrolujte účet a jeho aktuální domovský adresář.

grep -E --color 'pinky' /etc/passwd

Poté vypište soubory, které vlastní uživatel pinky.

ls -l /home/pinky/

Nyní musíme přesunout domovský adresář z /home/pinky do /var/pinky.

usermod -d /var/pinky/ -m pinky

Dále ověřte změnu adresáře.

grep -E --color 'pinky' /etc/passwd

Zkontrolujte soubory pod „/home/pinky“. Zde jsme přesunuli soubory pomocí volby -m, takže nebudou žádné soubory. Soubory uživatelů Pinky budou nyní pod /var/pinky.

ls -l /home/pinky/
ls -l /var/pinky/

11. Vytvořte nešifrované heslo pro uživatele

K vytvoření nezašifrovaného hesla používáme možnost „-p“ (heslo). Pro účely demonstrace nastavuji nové heslo „redhat“ pro uživatele pinky.

usermod -p redhat pinky

Po nastavení hesla nyní zkontrolujte stínový soubor, zda je v zašifrovaném formátu nebo nešifrovaný.

grep -E --color 'pinky' /etc/shadow

Poznámka: Viděli jste na obrázku výše, že heslo je jasně viditelné pro každého. Tuto možnost tedy nedoporučujeme používat, protože heslo bude viditelné pro všechny uživatele.

12. Změňte uživatelské prostředí

Přihlašovací shell uživatele lze změnit nebo definovat během vytváření uživatele pomocí příkazu useradd nebo změnit pomocí příkazu 'usermod' pomocí volby '-s' ( skořápka). Například uživatel 'babin' má ve výchozím nastavení shell /bin/bash, nyní jej chci změnit na /bin/sh .

grep -E --color 'babin' /etc/passwd
usermod -s /bin/sh babin

Po změně uživatelského prostředí ověřte uživatelské prostředí pomocí následujícího příkazu.

grep -E --color 'babin' /etc/passwd

13. Změna ID uživatele (UID)

V níže uvedeném příkladu můžete vidět, že můj uživatelský účet 'babin má UID 502, nyní jej chci změnit na 888 jako moje UID. UID můžeme přiřadit mezi 0999.

grep -E --color 'babin' /etc/passwd
OR
id babin

Nyní změňme UID pro uživatele babin pomocí možnosti „-u“ (uid) a ověřte změny.

usermod -u 888 babin
id babin

14. Úprava uživatelského účtu s více možnostmi

Zde máme uživatele jack a nyní chci upravit jeho domovský adresář, shell, datum vypršení platnosti, štítek, UID a skupinu najednou pomocí jediného příkazu se všemi možnostmi, jak jsme probrali výše.

Uživatel Jack má výchozí domovský adresář /home/jack, nyní jej chci změnit na /var/www/html a přiřadit jeho shell jako bash, nastavit datum vypršení platnosti na 10. prosince 2014, přidat nový štítek jako Toto je jack, změnit UID na 555 a bude členem apple group.

Podívejme se, jak nyní upravit účet jack pomocí více možností.

usermod -d /var/www/html/ -s /bin/bash -e 2014-12-10 -c "This is Jack" -u 555 -aG apple jack

Poté zkontrolujte změny UID a domovského adresáře.

grep -E --color 'jack' /etc/passwd

Kontrola vypršení platnosti účtu.

chage -l jack

Zkontrolujte skupinu, ve které byli všichni jackové členy.

grep -E --color 'jack' /etc/group

15. Změňte UID a GID uživatele

Můžeme změnit UID a GID aktuálního uživatele. Pro změnu na nové GID potřebujeme existující skupinu. Zde již existuje účet s názvem oranžový s GID 777.

Nyní chce být mému uživatelskému účtu jack přiřazeno UID 666 a GID Orange (777).

Před úpravou zkontrolujte aktuální UID a GID.

id jack

Upravte UID a GID.

usermod -u 666 -g 777 jack

Zkontrolujte změny.

id jack

Závěr

Zde jsme viděli, jak velmi podrobně používat příkaz usermod s jeho možnostmi. Než se seznámíte s příkazem usermod, měli byste znát příkaz „useradd“ a jeho možnosti použití usermod. Pokud jsem v článku vynechal nějaký bod, dejte mi vědět prostřednictvím komentářů a nezapomeňte přidat své cenné komentáře.