Úvod do Linux useradd příkaz

Přidání uživatele je jedním z nejvíce základní cvičení na jakémkoli počítačovém systému; tento článek se zaměřuje na to, jak to udělat v systému Linux.

Než začnete, chci zmínit tři základy, které je třeba mít na paměti. Za prvé, stejně jako u většiny operačních systémů, uživatelé Linuxu potřebují účet, aby se mohli přihlásit. Tento článek se konkrétně týká místních účtů, nikoli síťových účtů, jako je LDAP. Za druhé, účty mají jak jméno (nazývané uživatelské jméno), tak číslo (nazývané ID uživatele). Za třetí, uživatelé jsou obvykle zařazeni do skupiny. Skupiny mají také jméno a ID skupiny.

Jak byste očekávali, Linux obsahuje nástroj příkazového řádku pro přidávání uživatelů; nazývá se useradd. Můžete také najít příkaz adduser. Mnoho distribucí přidalo tento symbolický odkaz na příkaz useradd z důvodu pohodlí.

$ file `which adduser`
/usr/sbin/adduser: symbolic link to useradd

pojďme se podívat na useradd.

Poznámka: výchozí hodnoty popsané v tomto článku odrážejí výchozí hodnoty v Red Hat Enterprise Linux 8.0. Můžete najít jemné rozdíly v těchto souborech a určité výchozí hodnoty v jiných distribucích Linuxu nebo jiných operačních systémech Unix, jako je FreeBSD nebo Solaris.

Výchozí chování

základní použití useradd, je docela jednoduchý: uživatel může být přidán jen tím, že poskytuje své uživatelské jméno.

$ sudo useradd sonny

v tomto příkladu příkaz useradd vytvoří účet s názvem sonny. Vytvoří se také skupina se stejným názvem a sonny je do ní umístěn, aby byl použit jako primární skupina. Existují další parametry, jako je jazyk a shell, které se používají podle výchozích hodnot a hodnot nastavených v konfiguračních souborech / etc/default / useradd a /etc/login.defs. To je obecně dostačující pro jeden osobní systém nebo malé podnikatelské prostředí s jedním serverem.

zatímco výše uvedené dva soubory řídí chování useradd, informace o uživateli jsou uloženy v jiných souborech nalezených v adresáři / etc, na které se budu odkazovat v tomto článku.

Soubor Popis Pole (bold—nastavte pomocí useradd)
passwd Obchody uživatelský účet podrobnosti uživatelské jméno:nevyužité:uid:gid:komentář:homedir:shell
stín Obchody uživatelský účet, detaily zabezpečení uživatelské jméno:heslo:lastchange:minimální:maximální:warn:inactive:expire:nepoužité
skupina Ukládá podrobnosti o skupině název skupiny:nevyužité:gid:členové

Přizpůsobitelné chování

příkazový řádek umožňuje přizpůsobení pro časy, kdy administrátor potřebuje jemnější ovládání, jako je například zadat uživatelské číslo ID.

čísla uživatelů a skupin

ve výchozím nastavení se useradd pokusí použít stejné číslo pro ID uživatele (UID) a primární ID skupiny (GID), ale neexistují žádné záruky. I když není nutné, aby se UID a GID shodovaly, je pro administrátory snazší je spravovat, když ano.

mám jen scénář vysvětlit. Předpokládejme, že přidám další účet, tentokrát pro Timmyho. Porovnání dvou uživatelů, sonny a timmy, ukazuje, že uživatelé i jejich příslušné primární skupiny byly vytvořeny pomocí příkazu getent.

$ getent passwd sonny timmy
sonny:x:1001:1002:Sonny:/home/sonny:/bin/bash
timmy:x:1002:1003::/home/timmy:/bin/bash
$ getent group sonny timmy
sonny:x:1002:
timmy:x:1003:

bohužel se UID ani primární GID uživatelů neshodují. Je to proto, že výchozím chováním je přiřadit uživateli další dostupné UID a poté se pokusit přiřadit stejné číslo primární skupině. Pokud je však toto číslo již použito, je skupině přiřazen další dostupný GID. Abych vysvětlil, co se stalo, domnívám se, že skupina s GID 1001 již existuje, a zadejte příkaz k potvrzení.

$ getent group 1001
book:x:1001:alan

skupina zarezervujte s ID 1001 způsobil GIDs být pryč. Toto je příklad, kdy by správce systému musel převzít větší kontrolu nad procesem vytváření uživatelů. Chcete-li tento problém vyřešit, musím nejprve určit dalšího dostupného uživatele a ID skupiny, které se bude shodovat. Příkazy getent group a getent passwd budou užitečné při určování dalšího dostupného čísla. Toto číslo lze předat argumentem-u.

$ sudo useradd -u 1004 bobby
$ getent passwd bobby; getent group bobby
bobby:x:1004:1004::/home/bobby:/bin/bash
bobby:x:1004:

Další dobrý důvod, proč zadat ID je pro uživatele, který bude přístup k souborům na vzdáleném systému pomocí Network File System (NFS). NFS je jednodušší spravovat, když všechny klientské a serverové systémy mají stejné ID nakonfigurované pro daného uživatele. I pokrýt to v trochu podrobněji v mém článku o používání autofs připojit NFS akcií.

více přizpůsobení

velmi často však musí být pro uživatele zadány další parametry účtu. Zde jsou stručné příklady nejběžnějších úprav, které budete možná muset použít.

komentář

volba komentář je pole prostého textu pro poskytnutí krátkého popisu nebo jiných informací pomocí argumentu-c.

$ sudo useradd -c "Bailey is cool" bailey
$ getent passwd bailey
bailey:x:1011:1011:Bailey is cool:/home/bailey:/bin/bash

skupiny

uživateli lze přiřadit jednu primární skupinu a více sekundárních skupin. Argument-g určuje název nebo GID primární skupiny. Pokud to není specifikováno, useradd vytvoří primární skupinu se stejným jménem uživatele (jak je ukázáno výše). Argument-G (velká písmena) se používá k předání čárkami odděleného seznamu skupin, do kterých bude uživatel umístěn; tyto jsou známé jako sekundární skupiny.

$ sudo useradd -G tgroup,fgroup,libvirt milly
$ id milly
uid=1012(milly) gid=1012(milly) groups=1012(milly),981(libvirt),4000(fgroup),3000(tgroup)

domovský adresář

výchozí chování useradd je vytvořit uživatele domovský adresář v /home. Různé aspekty domovského adresáře však lze přepsat následujícími argumenty. -B nastavuje další adresář, kam lze umístit uživatelské domy. Například /home2 místo výchozího /home.

$ sudo useradd -b /home2 vicky
$ getent passwd vicky
vicky:x:1013:1013::/home2/vicky:/bin/bash

– d umožňuje zadat domovský adresář s jiným názvem od uživatele.

$ sudo useradd -d /home/ben jerry
$ getent passwd jerry
jerry:x:1014:1014::/home/ben:/bin/bash

adresář kostry

– k nařídí novému domovskému adresáři uživatele, aby byl naplněn libovolnými soubory v adresáři/etc / skel. Jedná se obvykle o konfigurační soubory shellu, ale mohou to být cokoli, co by správce systému chtěl zpřístupnit všem novým uživatelům.

Shell

argument-s lze použít ke specifikaci shellu. Výchozí hodnota se použije, pokud není zadáno nic jiného. Například v následujícím je shell bash definován ve výchozím konfiguračním souboru, ale Wally požádal zsh.

$ grep SHELL /etc/default/useradd
SHELL=/bin/bash
$ sudo useradd -s /usr/bin/zsh wally
$ getent passwd wally
wally:x:1004:1004::/home/wally:/usr/bin/zsh

zabezpečení

zabezpečení je nezbytnou součástí správy uživatelů, takže je k dispozici několik možností s příkazem useradd. Uživatelskému účtu může být přiděleno datum vypršení platnosti ve tvaru RRRR-MM-DD pomocí argumentu-e.

$ sudo useradd -e 20191231 sammy
$ sudo getent shadow sammy
sammy:!!:18171:0:99999:7::20191231:

účet lze také automaticky deaktivovat, pokud heslo vyprší. Argument-f nastaví počet dní po vypršení platnosti hesla před deaktivací účtu. Nula je okamžitá.

$ sudo useradd -f 30 willy
$ sudo getent shadow willy
willy:!!:18171:0:99999:7:30::

příklad z reálného světa

v praxi lze při vytváření nového uživatelského účtu použít několik těchto argumentů. Například, pokud potřebuji vytvořit účet pro Perry, mohl bych použít následující příkaz:

$ sudo useradd -u 1020 -c "Perry Example" \
-G tgroup -b /home2 \
-s /usr/bin/zsh \
-e 20201201 -f 5 perry

Viz oddíly výše pochopit každou možnost. Ověřte výsledky pomocí:

$ getent passwd perry; getent group perry; getent shadow perry; id perry
perry:x:1020:1020:Perry Example:/home2/perry:/usr/bin/zsh
perry:x:1020:
perry:!!:18171:0:99999:7:5:20201201:
uid=1020(perry) gid=1020(perry) groups=1020(perry),3000(tgroup)

některé závěrečné rady

příkaz useradd je „must-know“ pro každého unixového (nejen linuxového) administrátora. Je důležité pochopit všechny jeho možnosti, protože vytváření uživatelů je něco,co chcete poprvé napravit. To znamená mít dobře promyšlenou konvenci pojmenování, která zahrnuje vyhrazený rozsah UID / GID vyhrazený pro vaše uživatele v celém podniku, nejen na jediném systému-zejména když pracujete v rostoucí organizaci.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *