GNU/Linux >> Znalost Linux >  >> Linux

vytvořit domovské adresáře po vytvoření uživatelů

Řešení 1:

Můžete také použít mkhomedir_helper

Usage: /sbin/mkhomedir_helper <username> [<umask> [<skeldir>]]

Řešení 2:

Adresář uživatelů budete muset vytvořit ručně. To vyžaduje tři kroky:

  1. Vytvořte adresář v souladu s /etc/passwd , obvykle tam již bude položka /home/login.
  2. Zkopírujte počáteční soubory z /etc/skel
  3. A nakonec nastavte správná oprávnění:

    • mkdir /home/YOU
    • cd /home/YOU
    • cp -r /etc/skel/. .
    • chown -R YOU.YOURGROUP .
    • chmod -R go=u,go-w .
    • chmod go= .

BTW:Vždy mi chybí -m možnost i pro useradd. Alespoň systémy založené na Debianu by měly mít adduser příkaz, který doporučuji před useradd. Pokud jste vynechali -m možnost, kterou by také stálo za zvážení deluser a poté znovu vytvořte uživatele se správnými možnostmi.

Edit:Přidáno -r pro kopírování také adresářů.

Řešení 3:

Může to znít jako hloupý nápad, ale pokud uživatelé ve skutečnosti nic nedělají, můžete to udělat:

cat /etc/passwd | cut -f 1 -d : >/tmp/users.list

Potom upravte soubor /tmp/users.list tak, aby obsahoval pouze požadované uživatele. Pak proveďte:


for i in `cat /tmp/users.list`
do
    userdel $i
    useradd -m $i
done

Mnoho distribucí založených na Redhat vám však vytvoří nový domovský adresář při prvním přihlášení, pokud je to uvedeno v /etc/passwd, kde by měl být adresář.

Chcete-li to otestovat, proveďte "su -" a zjistěte, zda to dělá "správnou věc". Pokud ne, výše uvedený skript bude podle mě fungovat docela dobře.

Řešení 4:

mkdir -p /home/john
chown john:john /home/john
usermod -d /home/john john

To by mělo stačit, jak věřím

Řešení 5:

Můžete použít něco jako pam_mkhomedir, abyste zabránili tomu, aby to někdy v budoucnu představovalo problém s některými uživateli. pam_mkhomedir je modul PAM, který automaticky vytvoří domovský adresář uživatele při přihlášení, pokud neexistuje, a naplní jej soubory z /etc/skel (nebo jakéhokoli adresáře skel, který určíte).

Toto je také pěkně škálovatelný přístup, protože tento problém bude i nadále řešit, pokud někdy v budoucnu přepnete své uživatelské úložiště na adresářovou službu, jako je LDAP.


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

  2. Vynutit vytvoření pevných odkazů na adresář?

  3. Tajemné .adresáře v domovském adresáři?

  1. Vytvářejte, spravujte a mažte uživatele a skupiny ve službě Active Directory

  2. jak mohu rekurzivně odstranit prázdné adresáře v mém domovském adresáři?

  3. Vytvořte další zkratku `~~` jako `~` (domovský adresář)

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

  2. Jak vytvořit sdílený adresář pro všechny uživatele v Linuxu

  3. Puppet:Získejte domovský adresář uživatelů