GNU/Linux >> Znalost Linux >  >> Debian

Debian – Co dělá Adduser a co Useradd ne?

Kromě rozšířenějšího useradd Systémy založené na Debianu také obsahují další adduser příkaz, který poskytuje rozhraní vyšší úrovně pro přidávání uživatelů a některé související úkoly. Na jiných stránkách SE jsou různé otázky/odpovědi, které podrobně popisují základní rozdíly mezi těmito příkazy, například:

  • ServerFault – Jaký je rozdíl mezi „useradd“ a „adduser“?
  • Superuser – Jaký je rozdíl mezi „adduser“ a „useradd“?
  • Zeptejte se Ubuntu – Jaký je rozdíl mezi adduser a useradd?

Většina odpovědí v podstatě říká, že adduser poskytuje hezčí rozhraní pro interaktivní přidávání uživatelů, ale neuvádí mnoho podrobností o tom, co se stane, když adduser je spuštěn, který se nesrovnává s useradd . Takže:

  1. Co znamená adduser udělejte to useradd ne?
  2. Jaké příkazy musím použít, abych dosáhl ekvivalentních výsledků?

Přijatá odpověď:

Za prvé, příslušné úryvky manuálové stránky zdůrazňují rozdíly mezi těmito dvěma příkazy a poskytují určité informace o tom, co se děje. Pro adduser :

adduser a addgroup přidávají uživatele a skupiny do systému podle možností příkazového řádku a konfiguračních informací v /etc/adduser.conf. Jsou přátelštější k
nástrojům nízké úrovně, jako jsou programy useradd, groupadd a usermod, ve výchozím nastavení volí hodnoty UID a GID v souladu se zásadami Debianu, vytvářejí domovský adresář se základní konfigurací, spouštějí vlastní skripty a další funkce.

Potom pro useradd :

useradd je nízkoúrovňový nástroj pro přidávání uživatelů. V Debianu by administrátoři měli místo toho obvykle používat adduser(8).

Další vyšetřování adduser odhaluje, že se jedná o skript v jazyce perl, který poskytuje rozhraní na vysoké úrovni pro následující příkazy a nabízí tak některé funkce následujících příkazů:

  • useradd
  • groupadd
  • passwd – používá se k přidání/změně uživatelských hesel.
  • gpasswd – používá se k přidání/změně hesel skupiny.
  • usermod – používá se ke změně různých parametrů souvisejících s uživatelem.
  • chfn – používá se k přidání/změně dalších informací uchovávaných o uživateli.
  • chage – používá se ke změně informací o vypršení platnosti hesla.
  • edquota – používá se ke změně kvót využití disku.

Základní běh adduser příkaz je následující:

adduser username

Tento jednoduchý příkaz provede řadu věcí:

  1. Vytvořte uživatele s názvem username .
  2. Vytvořte domovský adresář uživatele (výchozí je /home/username a zkopírujte soubory z /etc/skel do toho.
  3. Vytvořte skupinu se stejným jménem jako uživatel a umístěte uživatele do ní.
  4. Vyzvat uživatele k zadání hesla.
  5. Dotázat se na další informace o uživateli.

useradd program většinu z toho zvládne, ale ve výchozím nastavení to nedělá a potřebuje další možnosti. Některé informace vyžadují více příkazů:

useradd -m -U username
passwd username
chfn username

Všimněte si, že adduser zajišťuje, že vytvořená UID a GID odpovídají zásadám Debianu. Vytváření normálních uživatelů pomocí useradd zdá se být v pořádku, za předpokladu UID_MIN /UID_MAX v /etc/login.defs odpovídá zásadám Debianu. Problém je však v tom, že Debian specifikuje konkrétní rozsah pro UID systémových uživatelů, který se zdá být podporován pouze v /etc/adduser.conf , takže naivně přidáváte systémového uživatele pomocí useradd a neuvedení UID/GUID ve správném rozsahu ponechává potenciál pro vážné problémy.

Související:Proč funkce cd ve skriptu nefunguje?

Další běžné použití pro adduser je zjednodušit proces přidávání uživatele do skupiny. Zde následující příkaz:

adduser username newgroup

je ekvivalentní následujícímu usermod příkaz:

usermod -a -G newgroup username

Hlavní nevýhoda usermod v tomto případě je to, že zapomenete předat možnost připojení
(tj.:-a ) by skončilo odebráním uživatele ze všech skupin
před jeho přidáním do „nové skupiny“ (tj.:-G sám znamená „nahradit za“).

Jedna nevýhoda použití adduser zde však platí, že můžete zadat pouze jednu skupinu najednou.


Debian
  1. Vydán Debian 8 Jessie – Co je nového?

  2. Debian vs Ubuntu:Jaké jsou rozdíly?

  3. Co dělá „lc_all=c“?

  1. Co dělá ?

  2. Debian – Bluetooth nefunguje v Debianu 10?

  3. Co Libgl_always_indirect=1 ve skutečnosti dělá?

  1. Co dělá Bamfdaemon?

  2. Co dělá zabít -- -0?

  3. Co znamená echo $? dělat?