GNU/Linux >> Znalost Linux >  >> Linux

Jak vytvořit uživatele pomocí příkazu Useradd v Linuxu

V Linuxu a operačních systémech podobných Unixu je nejběžnějším příkazem pro vytváření uživatelů 'useradd' nebo 'adduser'. Jako správce systému často vyžaduje přidávat uživatele, odebírat uživatele, vytvářet skupiny a přiřazovat uživatele.

Z hlediska funkcí není mezi výše uvedenými dvěma příkazy žádný rozdíl. Příkaz adduser je přátelštější a někteří správci Debian/Ubuntu jej rádi používají. Useradd je binárně zkompilován se systémem Linux a funguje jako backend pro adduser.

V tomto tutoriálu se naučíme, jak vytvořit uživatele v Linuxu z terminálu pomocí příkazu useradd.

Příkaz a syntaxe Useradd

Následující řádek ukazuje syntaxi příkazu useradd:

useradd [OPTIONS] username

Uživatele lze přidat jednoduše zadáním uživatelského jména následovaného příkazem. Měli byste spustit useradd buď s uživatelským oprávněním root nebo sudo.

Pojďme se dozvědět více o useradd příkaz a jeho možnosti.

1) Jak vytvořit nového uživatele v Linuxu

Jak bylo uvedeno výše, k vytvoření nového uživatele použijeme příkaz useradd.

Následující příkaz vytvoří nového uživatele s názvem 'bill' a druhý příkaz nastaví uživateli ('bill') nové heslo.

$ sudo useradd bill
$ sudo passwd bill

Tím se vytvoří uživatel s domovským adresářem jako /home/bill a zkopíruje soubory z adresáře '/etc/skel' do domovského adresáře uživatele.

$ ls -al /home/bill/
total 20
drwx------. 2 bill bill 4096 Mar  9 06:49 .
drwxr-xr-x. 4 root root 4096 Mar  9 06:49 ..
-rw-r--r--. 1 bill bill   18 Nov  8 16:21 .bash_logout
-rw-r--r--. 1 bill bill  141 Nov  8 16:21 .bash_profile
-rw-r--r--. 1 bill bill  312 Nov  8 16:21 .bashrc

Tento příkaz přidá položku do souborů /etc/passwd, /etc/shadow, /etc/group a /etc/gshadow.

Poznámka:V distribuci související s Ubuntu a Debianem useradd nevytvoří výchozí domovský adresář, pokud jej nebudete muset zadat pomocí voleb. Místo toho Debian doporučuje použít příkaz adduser.

2) Vytvořte uživatele s konkrétním domovským adresářem

Chcete-li vytvořit uživatele se specifickým domovským adresářem jako hodnotou pro přihlášení uživatele, použijte -d volba. Před spuštěním příkazu se ujistěte, že jste vytvořili základní domovský adresář pomocí příkazu mkdir.

Vytvořme základní domovský adresář s názvem 'devops':

$ sudo mkdir /devops

Nyní následující příkaz vytvoří uživatele 'bill' a nastaví jeho domovský adresář jako '/devops/billhome'.

$ sudo useradd -d /devops/billhome bill
Output
$ sudo useradd -d /devops/billhome bill
$ ls -al /devops/billhome
total 12
drwxr-xr-x  2 bill bill  100 Dec 31 05:13 .
drwxr-xr-x 17 root root 3680 Dec 31 05:13 ..
-rw-r--r--  1 bill bill  220 Apr  4  2018 .bash_logout
-rw-r--r--  1 bill bill 3771 Apr  4  2018 .bashrc
-rw-r--r--  1 bill bill  807 Apr  4  2018 .profile

K vytvoření uživatele můžete použít kombinaci obou -m (vytvoření domovského adresáře, pokud neexistuje) a -d (nastavení dané cesty jako přihlašovacího adresáře uživatele).

$ sudo useradd -m -d /home/bobhome bob

3) Vytvoření uživatele s konkrétním ID uživatele

Ve výchozím nastavení při vytváření uživatele přiřadí další dostupné UID definované v souboru login.defs. Ale pomocí -u můžete vytvořit uživatele s konkrétním UID.

V následujícím příkladu je uživatelský účet vytvořen se specifickým UID (3210).

$ useradd -u 3210 bill 
$ grep bill /etc/passwd bill:x:3210:3210::/home/bill:/bin/bash

UID lze vidět v souboru '/etc/passwd', jak je ukázáno ve výše uvedeném výstupu.

4) Vytvořit uživatele se specifickým přihlašovacím prostředím

Někdy potřebujeme vytvořit uživatele se specifickým přihlašovacím shellem (jako ksh, tcsh, zsh atd.) nebo bez přihlášení do shellu ('/sbin/nologin').

Přihlašovací shell spojený s uživatelským účtem můžeme zadat pomocí -s možnost, jak je uvedeno níže:

$ useradd -s /bin/tcsh bill

Přihlašovací shell můžete ověřit grepováním uživatelského jména ze souboru /etc/passwd:

$ grep bill /etc/passwd bill:x:504:505::/home/bill:/bin/tcsh

5) Vytvořte konkrétní základní domovský adresář

Ve výchozím nastavení jsou domovské adresáře uživatelů umístěny v adresáři '/home' (proměnná v /etc/default/useradd ). Pomocí -b můžete mít pro nového uživatele jiný základní domovský adresář.

Následující příkaz nastaví adresář '/mnt' jako základní adresář a vytvoří domovský adresář uživatele 'bill' jako '/mnt/bill'.

$ useradd -b /mnt bill 
$ grep bill /etc/passwd bill:x:504:505::/mnt/bill:/bin/bash

6) Vytvořte uživatele s datem vypršení platnosti

Při vytváření nového uživatele můžete nastavit datum vypršení platnosti uživatelského účtu pomocí -e možnost.

Následující příklad nastavuje datum vypršení platnosti (formát data je RRRR-MM-DD ) pro uživatele 'účet'.

$ sudo useradd -e 2013-06-23 bill

To lze ověřit kontrolou v posledním poli souboru '/etc/shadow'. Poslední pole (15879) zobrazuje datum vypršení platnosti ve smyslu počtu dní od 1. ledna 1970, kdy byl účet deaktivován.

$ sudo grep bill /etc/shadow bill:!!:15813:0:99999:7::15879:

Jednodušší způsob, jak ověřit datum vypršení platnosti uživatele, je pomocí příkazu chage, jak je uvedeno níže:

$ sudo chage -l bill
Last password change                                    : Feb 10, 2013
Password expires                                        : never
Password inactive                                       : never
Account expires                                         : Jun 23, 2013
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

-f Tato volba poskytuje počet dní po vypršení platnosti hesla, než bude účet trvale deaktivován. Hodnota 0 deaktivuje účet, jakmile vyprší platnost hesla.

$ sudo useradd -f 20 bill

Jak je znázorněno ve stínovém souboru, počet dní je nastaven na 20 (v předposledním sloupci).

$ sudo grep bill /etc/shadow bill:!!:15813:0:99999:7:20::

7) Vytvoření uživatele a přidání do více skupin

Každý uživatel v Linuxu by měl zůstat v jedné primární skupině a žádné nebo více sekundárních skupinách (doplňková skupina).

Primární skupinu uživatele, do které patří, lze nastavit pomocí volby -g. Skupina s touto možností již musí existovat.

$ sudo useradd -g xero bill
$ sudo id bill uid=504(bill) gid=505(xero) groups=505(xero) context=root:system_r:unconfined_t:SystemLow-SystemHigh

Skupinu lze zkontrolovat pomocí příkazu id. -G možnost se používá k přidání uživatele do dalších skupin.

$ sudo useradd -G g1,g2,g3 bill

$ sudo id bill uid=504(bill) gid=509(bill) groups=509(bill),506(g1),507(g2),508(g3) context=root:system_r:unconfined_t:SystemLow-SystemHigh

Podívejme se, jak vytvořit uživatele a přiřadit jej do více skupin. Příkaz vytvoří nového uživatele s názvem 'bill' s primární skupinou 'týmy' a sekundárními skupinami 'admin' a 'apache'.

$ sudo useradd -g teams -G admin,apache bill

8) Vytvořte duplicitní ID uživatele

-o možnost umožňuje vytvořit uživatelský účet s duplicitním uživatelským (nejedinečným) ID. Musíte zadat číslo UID s -u možnost.

Zkontrolujte následující příklad:

$ sudo useradd -o -u 503 bill

Zde vidíme, že existují dva účty s ID 503.

$ sudo grep 503 /etc/passwd 
jenny:x:503:503::/home/jenny:/bin/bash 
bill:x:503:505::/home/bill:/bin/bash

9) Vytvořte uživatele jako systémový účet

Normálně jsou UID do 500 nebo 1000 rezervována pro systémové účty a nejsou přidělována běžným uživatelům. Pomocí -r možnost, je vytvořenému uživateli přidělen účet s ID v rozsahu systémových uživatelů.

$ sudo useradd -r bill 
$ sudo grep bill /etc/passwd bill:x:101:102::/home/bill:/bin/bash

Zde není vytvořen domovský adresář pro uživatele. Musí být vytvořen ručně nebo poskytnut s -m možnost.

10) Vytvořte uživatele bez domovského adresáře

Pokud si nepřejete vytvářet domovský adresář sám, -M možnost může být poskytnuta.

$ sudo useradd -M bill 
$ sudo grep bill /etc/passwd 
bill:x:504:505::/home/bill:/bin/bash
$ ls /home/bill 
ls: /home/bill: No such file or directory

Ve výstupu příkazu ls je vidět, že domovský adresář pro uživatele účtu neexistuje.

11) Vytvořte uživatele s heslem

Heslo uživatele je ve výchozím nastavení zakázáno. Heslo můžete nastavit ručně pomocí příkazu passwd. Pokud však chcete zadat heslo při vytváření uživatele, můžete použít -p možnost.

Zde uvedené heslo však musí být zašifrováno, jak vrací crypt(3).

$ sudo useradd -p '$1$ZsQB81$RCCVDuI5VR6q905nUPz4a/' bill

12) Změna výchozích možností

Když je do systému přidán uživatel, některé hodnoty se berou jako výchozí, například shell, základní adresář atd. Základní adresář je adresář, kde jsou umístěny domovské adresáře uživatelů. Na většině systémů Linux jsou domovské adresáře uživatelů umístěny v adresáři /home.

Například domovský adresář uživatele tom bude ve výchozím nastavení '/home/tom'. Takže /home bude jeho základním adresářem. Tyto výchozí možnosti jsou definovány v souboru '/etc/defaults/useradd'. Tyto výchozí hodnoty lze zobrazit pomocí -D možnost příkazu useradd:

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

Výše uvedený příkaz mohou spustit i normální uživatelé (ne root uživatelé). -D Tato možnost se používá nejen k zobrazení výchozích nastavení, ale také ke změně výchozích nastavení.

13) Vytvořte uživatele s vlastním komentářem

Při vytváření uživatele můžeme poskytnout celé jméno nebo krátký popis uživatele (komentář). Musíte použít -c možnost přidat vlastní komentáře.

Dovolte mi ukázat vám příklad:

$ sudo useradd -c "Bill Drape" bill

Tento komentář lze vidět v záznamu uživatele v souboru '/etc/passwd'.

$ sudo grep bill /etc/passwd bill:x:504:505:Bill Drape:/home/bill:/bin/bash

Závěr

V tomto tutoriálu jsme se naučili vytvářet uživatele v Linuxu a různé možnosti příkazu useradd. Doufám, že se vám čtení líbilo a zanechte prosím své návrhy v sekci komentářů níže.


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

  2. Jak odstranit / odebrat uživatele v Linuxu pomocí příkazu userdel

  3. Jak vytvořit skript příkazu Linux

  1. Jak vytvořit uživatele Linuxu pomocí Ansible

  2. Jak vytvořit snímky systému souborů pomocí příkazu Snapper v systému Linux

  3. Jak vytvořit řídké soubory v Linuxu pomocí příkazu „dd“.

  1. Jak vytvořit soubor v Linuxu pomocí terminálu/příkazového řádku

  2. Jak spravovat uživatele pomocí useradd v linuxu

  3. Jak vytvořit uživatele v linuxu pomocí pythonu