GNU/Linux >> Znalost Linux >  >> Linux

Jak spravovat uživatele pomocí useradd v linuxu

useradd command je nízkoúrovňový nástroj, který se používá pro přidávání/vytváření uživatelských účtů v Linuxu a další Unixové operační systémy.

Linux je systém pro více uživatelů, což znamená, že se stejným systémem může pracovat více osob současně. Tito uživatelé musí být vytvořeni před použitím systému.

Po vyvolání useradd vytvoří nový uživatelský účet podle možností zadaných na příkazovém řádku a výchozích hodnot nastavených v /etc/default/useradd soubor. useradd také čte obsah /etc/login.defs soubor. Tento soubor obsahuje konfiguraci pro sadu stínových hesel, jako je politika vypršení platnosti hesla, rozsahy uživatelských ID používaných při vytváření systémových a běžných uživatelů a další.

Pouze root nebo uživatelé s právy sudo mohou použít příkaz useradd k vytvoření nového uživatelského účtu. Po vyvolání vytvoří useradd nový uživatelský účet podle možností zadaných na příkazovém řádku a výchozích hodnot nastavených v /etc/default/useradd soubor.

  • Upravuje /etc/passwd , /etc/shadow , /etc/group a /etc/gshadow soubory pro nově vytvořené uživatelské účty.
  • Vytvoří a naplní domovský adresář pro nového uživatele.
  • Nastaví oprávnění a vlastnictví domovského adresáře.

Obsah

  1. Vytvořit nového uživatele
  2. Přidat nového uživatele a vytvořit domovský adresář
  3. Vytvořte uživatele s jiným domovským adresářem
  4. Uživatel s konkrétním ID uživatele
  5. Uživatel s konkrétním ID uživatele
  6. Přidat uživatele do více skupin
  7. Uživatel bez domovského adresáře
  8. Uživatel s datem vypršení platnosti účtu
  9. Uživatel s datem vypršení platnosti hesla
  10. Přidávání vlastních komentářů uživateli
  11. Určení prostředí pro přihlášení uživatele
  12. Vytvoření systémového uživatele
  13. Řetězení argumentů
  14. Změna výchozích hodnot useradd
  15. Odstranění uživatele z Linuxu
  16. Přidání skupiny v systému Linux
  17. Změnit skupinu uživatele

1. Vytvořit nového uživatele

Základní syntaxe useradd příkaz je:

# sudo useradd [options] username

Příklad:

sudo useradd citizix

Když přidáme nového uživatele v Linuxu pomocí useradd příkaz se vytvoří v uzamčeném stavu a k odemknutí tohoto uživatelského účtu musíme pro tento účet nastavit heslo pomocí passwd příkaz.

$ sudo passwd citizix
Changing password for user citizix.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.

Záznam se automaticky přidá do /etc/passwd soubor:

$ cat /etc/passwd | grep citizix
citizix:x:1001:1001::/home/citizix:/bin/bash

Pole v /etc/passwd jsou odděleny dvojtečkou : a představují následující:

  • Uživatelské jméno :Přihlašovací jméno uživatele používané pro přihlášení do systému. Mělo by mít 1 až 32 znaků.
  • Heslo :Heslo uživatele (nebo znak x) uložené v /etc/shadow soubor v zašifrovaném formátu.
  • ID uživatele (UID) :Každý uživatel musí mít ID uživatele (UID ) Identifikační číslo uživatele. Ve výchozím nastavení UID 0 je vyhrazeno pro uživatele root a UID v rozsahu 1–99 jsou vyhrazeny pro jiné předdefinované účty. Další UID v rozmezí 100–999 jsou vyhrazeny pro systémové účty a skupiny.
  • ID skupiny (GID) :Primární ID skupiny (GID ) Identifikační číslo skupiny uložené v /etc/group soubor.
  • Informace o uživateli :Toto pole je volitelné a umožňuje vám definovat další informace o uživateli. Například celé jméno uživatele. Toto pole je vyplněno příkazem ‚finger‘.
  • Domovský adresář :Absolutní umístění domovského adresáře uživatele.
  • Skořápka :Absolutní umístění uživatelského prostředí, tj. /bin/bash .

2. Přidejte nového uživatele a vytvořte domovský adresář

Použijte -m (--create-home ) možnost vytvořit domovský adresář uživatele jako /home/username :

sudo useradd -m username

Výše uvedený příkaz vytvoří domovský adresář nového uživatele a zkopíruje soubory z /etc/skel adresáře do domovského adresáře uživatele.

3. Vytvořte uživatele s jiným domovským adresářem

Ve výchozím nastavení useradd vytvoří domovský adresář se stejným názvem jako uživatelské jméno. Chcete-li vytvořit jiný domovský adresář, použijte -d argument s cestou k tomuto adresáři.

Tento příkaz vytvoří domovský adresář /opt/citizixone pro uživatele citizixone.

sudo useradd -d /opt/citizixone citizixone

Zkontrolujte /etc/passwd

$ cat /etc/passwd | grep citizixone
citizixone:x:1002:1002::/opt/citizixone:/bin/bash

4. Uživatel s konkrétním ID uživatele

Pokud potřebujete zadat ID uživatele pro vytvářeného uživatele, použijte argument -u (--uid ) takto:

sudo useradd -u 1009 citizix

5. ID konkrétní skupiny

Chcete-li zadat ID skupiny, použijte -g (--gid ) jako v tomto příkladu:

sudo useradd -g citizix citizixtwo

Ověřte GID uživatele pomocí tohoto příkazu:

$ sudo id citizixtwo
uid=1003(citizixtwo) gid=1001(citizix) groups=1001(citizix)

$ cat /etc/passwd | grep citizixtwo
citizixtwo:x:1003:1001::/home/citizixtwo:/bin/bash

6. Přidat uživatele do více skupin

Pokud chcete přidat uživatele do více skupin, použijte -G (--groups ) jako v tomto příkladu:

Připojte uživatele citizix do skupin admins , webadmin , developers :

sudo usermod -a -G admins,webadmin,developers citizix

Vytvořte uživatele citizixtwo přidání do skupin admins , webadmin , developers :

sudo useradd -G admins,webadmin,developers citizix

Pomocí těchto příkazů ověřte, že uživatelé byli úspěšně přidáni do skupin:

sudo id citizix
sudo id citizixtwo

7. Uživatel bez domovského adresáře

Pokud chcete vytvořit uživatele bez domovského adresáře, použijte -M možnost:

sudo useradd -M citizix

8. Uživatel s datem vypršení platnosti účtu

Někdy chcete vytvořit uživatele s datem vypršení platnosti. Tento příkaz použijte k vytvoření uživatele citizixfour jehož platnost vyprší 2021-12-30 :

sudo useradd -e 2021-12-30 citizixfour

Pro ověření stáří účtu a hesla použijte chage příkaz:

$ sudo chage -l citizixfour
Last password change                    : Oct 08, 2021
Password expires                    : never
Password inactive                   : never
Account expires                     : Dec 30, 2021
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

9. Uživatel s datem vypršení platnosti hesla

-f argument se používá k definování počtu dní, po které je uživatel deaktivován po vypršení platnosti hesla. Hodnota 0 deaktivovat uživatelský účet, jakmile vyprší platnost hesla. Ve výchozím nastavení je hodnota vypršení platnosti hesla nastavena na -1 znamená, že nikdy nevyprší.

Zde v tomto příkladu nastavíme datum vypršení platnosti hesla účtu na 45 days na uživateli citizixfive pomocí -e a -f možnosti.

sudo useradd -e 2021-12-30 -f 45 citizixfive
sudo chage -l citizixfive

10. Přidání vlastních komentářů uživateli

-c (--comment ) přidá krátký popis pro nového uživatele. Obvykle se jako komentář přidá celé jméno uživatele nebo kontaktní informace.

sudo useradd -c "Citizix User" citizixsix

Zkontrolujte /etc/passwd

$ cat /etc/passwd | grep citizixsix
citizixsix:x:1006:1006:Citizix User:/home/citizixsix:/bin/bash

11. Určení prostředí pro přihlášení uživatele

-s (--shell ) se používá k zadání přihlašovacího shellu. Buď můžeme použít jeden z nainstalovaných shellů jako /bin/bash nebo bin/zsh nebo pro uživatele, kteří nemají nic společného s přihlašovacím shellem, můžeme udělat /sbin/nologin k určení, že neexistuje žádný přihlašovací shell:

# Specify /bin/zsh
sudo useradd -s /bin/zsh citizix

# Specify no login
sudo useradd -s /sbin/nologin citizix

12. Vytvoření systémového uživatele

Někdy potřebujeme systémové uživatele, které bude používat buď systém, nebo aplikace, které nainstalujeme do systému.
Použijte -r (--system ) argument pro definování systémového uživatele:

sudo useradd -r grafana

13. Řetězení argumentů

Argumenty můžeme také řetězit při vytváření uživatele.

Podívejte se na tento příklad vytváření uživatele při vytváření zadaného domovského adresáře /var/www/citizix a definování vlastního přihlašovacího shellu /bin/zsh a přidání komentáře Citizix Web User :

sudo useradd -m -d /var/www/citizix -s /bin/zsh -c "Citizix Web User" -U citizix

14. Změna výchozích hodnot useradd

useradd výchozí hodnoty jsou uloženy v souboru /etc/default/useradd .

Pokladna obsahu /etc/default/useradd :

$ cat /etc/default/useradd
# useradd defaults file
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes

Můžete je také dotazovat pomocí argumentu -D pro useradd příkaz:

$ sudo useradd -D
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes

Chcete-li tyto hodnoty aktualizovat nebo změnit, upravte soubor nebo použijte useradd -D předávání hodnot.

Příklad změny přihlašovacího shellu z /bin/bash do /bin/zsh

sudo useradd -D -s /bin/zsh

Ověřte, že byl aktualizován:

$ sudo useradd -D | grep -i shell
SHELL=/bin/zsh

15. Odstranění uživatele z Linuxu

Chcete-li odstranit uživatele, použijte userdel příkaz:

sudo userdel citizixfive

16. Přidání skupiny v Linuxu

Chcete-li ručně vytvořit skupinu, použijte příkaz.

Tím se vytvoří skupina sftp-users v našem systému:

sudo groupadd sftp-users

Potvrďte, že skupina byla vytvořena

$ sudo grep sftp-users /etc/group
sftp-users:x:1007:

Použijte příkaz -G pro ostatní skupiny (-G přidá uživatele do nové skupiny, ale také jej ponechá ve staré (append).

Použijte id příkaz k potvrzení

sudo id citizix

17. Změnit skupinu uživatele

Chcete-li vytvořit uživatele a změnit jeho primární skupinu na uvedenou, použijte -g možnost:

sudo useradd -g citizix citizixseven

Závěr

Prozkoumali jsme, jak provádět základní operace s useradd příkazy. Podařilo se nám vytvořit uživatele, přidat je do skupin a upravit je nebo smazat.

Chcete-li se dozvědět více o příkazu useradd, můžete použít manuálové stránky:

man useradd

Chcete-li zkontrolovat všechny možnosti pro useradd, zadejte příkaz do terminálu bez možnosti:

$ useradd
Usage: useradd [options] LOGIN
       useradd -D
       useradd -D [options]

Options:
  -b, --base-dir BASE_DIR       base directory for the home directory of the
                                new account
  -c, --comment COMMENT         GECOS field of the new account
  -d, --home-dir HOME_DIR       home directory of the new account
  -D, --defaults                print or change default useradd configuration
  -e, --expiredate EXPIRE_DATE  expiration date of the new account
  -f, --inactive INACTIVE       password inactivity period of the new account
  -g, --gid GROUP               name or ID of the primary group of the new
                                account
  -G, --groups GROUPS           list of supplementary groups of the new
                                account
  -h, --help                    display this help message and exit
  -k, --skel SKEL_DIR           use this alternative skeleton directory
  -K, --key KEY=VALUE           override /etc/login.defs defaults
  -l, --no-log-init             do not add the user to the lastlog and
                                faillog databases
  -m, --create-home             create the user's home directory
  -M, --no-create-home          do not create the user's home directory
  -N, --no-user-group           do not create a group with the same name as
                                the user
  -o, --non-unique              allow to create users with duplicate
                                (non-unique) UID
  -p, --password PASSWORD       encrypted password of the new account
  -r, --system                  create a system account
  -R, --root CHROOT_DIR         directory to chroot into
  -P, --prefix PREFIX_DIR       prefix directory where are located the /etc/* files
  -s, --shell SHELL             login shell of the new account
  -u, --uid UID                 user ID of the new account
  -U, --user-group              create a group with the same name as the user
  -Z, --selinux-user SEUSER     use a specific SEUSER for the SELinux user mapping

Linux
  1. Správa uživatelů Linuxu a skupin Linuxu

  2. Jak vytvořit uživatele s vlastním domovským adresářem v Linuxu

  3. Jak spravovat oprávnění/vlastnictví souborů a adresářů v Linuxu

  1. Spravujte domovské adresáře uživatelů Linuxu pomocí systemd-homed

  2. Jak odstranit uživatelské účty pomocí domovského adresáře v systému Linux

  3. Jak vytvořit více uživatelských účtů v Linuxu

  1. Jak spravovat úložiště v Linuxu pomocí LVM

  2. Přidat uživatele do skupiny v Linuxu, jak na to (s příklady)

  3. Jak pracovat s uživateli a skupinami v Linuxu