GNU/Linux >> Znalost Linux >  >> Linux

Useradd vs Adduser:Jaký je rozdíl?

Pokud jde o vytvoření nového uživatele v Linuxu, máte možnost použít buď příkaz adduser nebo useradd.

Jaký je tedy rozdíl mezi příkazy useradd a adduser? Je jeden z nich lepší než druhý? Kterou byste měli použít? useradd nebo adduser?

Rozdíl mezi příkazy adduser a useradd

Useradd je vestavěný příkaz Linux, který lze nalézt na jakémkoli systému Linux. Vytváření nových uživatelů s touto nízkou úrovní je však únavný úkol, protože ve výchozím nastavení nevytváří domovský adresář a uživatelské heslo.

Adduser není standardní příkaz Linuxu. Je to v podstatě skript v Perlu, který na pozadí používá příkaz useradd. Tento nástroj na vysoké úrovni je efektivnější při správném vytváření nových uživatelů v systému Linux. Poskytuje vám možnost vytvořit domovský adresář, nastavit heslo spolu s několika dalšími parametry.

Pojďme se podívat na oba tyto příkazy a na to, jak vytvářejí uživatele v Linuxu.

Příkaz Useradd

Nejprve se podívejme na výchozí chování příkazu useradd. Spustili jste někdy následující příkaz?

useradd new_user

Ještě jsem neviděl distribuci, kde tento příkaz vytvořil kompletní uživatelský účet. I po nastavení hesla pro nového uživatele byste s ním museli používat další možnosti.

Například v mém systému výše uvedený příkaz přidal následující položku do souboru /etc/passwd.

Pokud jste četli článek o výpisu uživatelů v Linuxu, pravděpodobně jste již obeznámeni s obsahem souboru /etc/passwd. Zpočátku to vypadá dobře, ale když začnete kopat, brzy si všimnete, že pár věcí není úplně v pořádku.

Za prvé, druhé pole obsahuje „x“. To znamená, že zástupný symbol pro informace o hesle je v /etc/shadow. Ale nemám nastavené heslo. To znamená, že testovací uživatel se nebude moci přihlásit.

Za druhé, domovský adresář. Jde o to, že /home/test neexistuje. I po nastavení hesla dojde k chybě, pokud se uživatel přihlásí. V závislosti na jiné konfiguraci může váš systém Linux zabránit uživateli bez platného domovského adresáře v přihlášení. S největší pravděpodobností uživatel test by se mohl přihlásit do vašeho systému, alespoň v textovém režimu. Ale uživatel testuje nebude moci vytvořit svůj domovský adresář.

Za třetí, výchozí přihlašovací shell je sh, nikoli bash. Nepoužívám sh jako shell. Pravděpodobně také ne, protože bash je výchozí shell na většině distribucí Linuxu.

Zatímco chování useradd lze mírně upravit úpravou /etc/login.defs, je malá až žádná šance, že výše uvedený příkaz vytvoří kompletní uživatelský účet. Useradd je nízkoúrovňový nástroj. Přesto může být užitečné podívat se do nastavení v /etc/login.defs.

Příkaz Adduser

Příkaz Adduser není v některých distribucích Linuxu dostupný. Na ostatních je to měkký odkaz na useradd. Zatímco na některých jiných je to skript v Perlu.

Adduser je interaktivní nástroj na vysoké úrovni. Jako backend používá nízkoúrovňový nástroj useradd. Při použití příkazu adduser bude použito nastavení v /etc/login.defs. V distribucích založených na Debianu dokonce manuálová stránka doporučuje jeho použití před příkazem useradd.

Zavoláním adduser pouze pomocí uživatelského jména vás provede řadou otázek.

Po zodpovězení několika otázek bude vytvořen kompletní uživatelský účet s domovským adresářem. Nový uživatel je připraven přihlásit se prostřednictvím vašeho správce přihlášení nebo v textovém režimu.

Chcete-li dosáhnout téměř stejného výsledku pomocí nízkoúrovňového nástroje useradd, příkaz by vypadal takto:

sudo useradd -d /home/test -m -s/bin/bash \ -c FullName,Phone,OtherInfo test && passwd test

-c volby lze bez problémů odstranit, čárkami oddělený seznam, který následuje, jsou komentáře přidané do /etc/passwd. Ale i tak vám adduser ušetří dva další příkazy.

Příkaz Adduser má k dispozici seznam možností. Zde je krátký seznam, o kterém si myslím, že bude nejužitečnější znát. Další podrobnosti naleznete v nápovědě nebo na stránce manuálu.

  • systém:Přidejte uživatele systému. Ve výchozím nastavení jsou uživatelé systému umístěni do skupiny nogroup. Chcete-li přidat systémového uživatele do existující skupiny, poskytněte volbu –gid nebo –ingroup.
  • domovský DIR:Použijte DIR jako domovský adresář namísto výchozího. V případě potřeby bude vytvořen adresář a budou zkopírovány základní soubory.
  • shell SHELL:Místo výchozího použijte SHELL.
  • ingroup GROUP:Nastavte primární skupinu uživatele na GROUP
  • add_extra_groups:Přidá nového uživatele do další skupiny definované v konfiguračním souboru.

Konfigurační soubor Adduser vám umožňuje nastavit výchozí hodnoty, které se použijí při vytváření účtu. Soubor je dobře zdokumentován a umožňuje vám nastavit výchozí hodnoty, například:

  • Výchozí prostředí
  • Domovský adresář
  • Další skupiny
  • Přidat další skupiny

Závěr

Podle mé osobní zkušenosti jako správce systému je adduser mnohem lepší při vytváření nových uživatelů v Linuxu. Dávám přednost adduseru před useradd kterýkoli daný den a doporučuji totéž.

Co o tobě? Kterému z nich dáváte přednost mezi adduser a useradd?


Linux
  1. Linux vs. Unix:Jaký je rozdíl?

  2. Linux – použití volby -o v příkazu Useradd?

  3. Jaký je rozdíl mezi příkazem locate a find v Linuxu

  1. Příklady příkazů adduser v Linuxu

  2. Jaký je rozdíl mezi adduser a useradd?

  3. Jaký je rozdíl mezi přidáním uživatele do sudoers a kořenové skupiny?

  1. useradd:příkaz nenalezen

  2. Jaké je použití volby -o v příkazu useradd?

  3. Jaký je uživatel debian-+?