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:
- 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.
- /etc/passwd – Informace o uživatelském účtu.
- /etc/shadow – Zabezpečené informace o účtu.
- /etc/group – Informace o skupinovém účtu.
- /etc/gshadow – Zabezpečené informace o skupinovém účtu.
- /etc/login.defs – Konfigurace sady stínových hesel.
Základní syntaxe příkazu je:
usermod [options] username
Požadavky
- K provedení příkazu usermod musíme mít existující uživatelské účty.
- Příkaz usermod může provádět pouze superuživatel (root).
- Příkaz usermod lze spustit v jakékoli distribuci Linuxu.
- 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í.
- -c=Můžeme přidat pole komentáře pro uživatelský účet.
- -d=Chcete-li upravit adresář pro jakýkoli existující uživatelský účet.
- -e=Pomocí této možnosti můžeme provést vypršení platnosti účtu v určitém období.
- -g=Změna primární skupiny pro uživatele.
- -G=Chcete-li přidat doplňkové skupiny.
- -a=Přidat kohokoli ze skupiny do sekundární skupiny.
- -l=Chcete-li změnit přihlašovací jméno z tecmint na tecmint_admin.
- -L=Uzamknout uživatelský účet. Tím se uzamkne heslo, abychom nemohli používat účet.
- -m=přesunutí obsahu domovského adresáře z existujícího domovského adresáře do nového adresáře.
- -p=Chcete-li pro nové heslo použít nezašifrované heslo. (NEZAJIŠTĚNO).
- -s=Vytvořit specifikovaný shell pro nové účty.
- -u=Používá se k přiřazení UID pro uživatelský účet mezi 0 až 999.
- -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 0 až 999.
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.