GNU/Linux >> Linux Esercitazione >  >> Linux

creare home directory dopo aver creato gli utenti

Soluzione 1:

Puoi anche usare mkhomedir_helper

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

Soluzione 2:

Sarà necessario creare manualmente la directory degli utenti. Ciò richiede tre passaggi:

  1. Crea una directory conforme a /etc/passwd , di solito ci sarà già una voce /home/login.
  2. Copia i file iniziali da /etc/skel
  3. E infine imposta le autorizzazioni corrette:

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

A proposito:mi manca sempre l'-m opzione anche per useradd. Almeno i sistemi basati su Debian dovrebbero avere un adduser comando, che consiglio su useradd. Se ti sei perso -m opzione che potrebbe valere la pena considerare anche a deluser e quindi ricreare l'utente con le opzioni appropriate.

Modifica:aggiunto -r per copiare anche directory.

Soluzione 3:

Potrebbe sembrare un'idea sciocca, ma se gli utenti non stanno effettivamente facendo nulla, potresti fare:

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

Quindi modifica /tmp/users.list per contenere solo gli utenti desiderati. Quindi esegui:


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

Tuttavia, molte distribuzioni basate su Redhat ti creeranno una nuova home directory al primo accesso, a condizione che sia specificata in /etc/passwd dove dovrebbe essere la directory.

Per verificarlo, fai un "su -" e vedi se fa "la cosa giusta". In caso contrario, penso che lo script sopra funzionerà abbastanza bene.

Soluzione 4:

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

Questo dovrebbe fare il trucco, credo

Soluzione 5:

Puoi usare qualcosa come pam_mkhomedir per evitare che questo diventi un problema con qualsiasi utente in futuro. pam_mkhomedir è un modulo PAM che crea automaticamente la home directory di un utente all'accesso, se non esiste, e la popola con i file da /etc/skel (o qualsiasi directory skel specificata).

Questo è anche un approccio ben scalabile perché continuerà a risolvere questo problema se in futuro passerai al tuo repository utente su un servizio di directory come LDAP.


Linux
  1. Come creare un collegamento a una directory

  2. Crea un nuovo albero di directory vuoto dall'albero esistente con i file

  3. directory home e shell per gli utenti autenticati di Active Directory

  4. come posso eliminare in modo ricorsivo le directory vuote nella mia home directory?

  5. Crea un'altra scorciatoia `~~` come `~` (home directory)

Come creare una directory condivisa per tutti gli utenti in Linux

Come creare directory in Linux (comando mkdir)

Crea collegamenti alle directory utilizzate di frequente in Linux

Crea directory home per utenti esistenti in Linux

Come creare un utente con una home directory personalizzata in Linux

Come creare/aggiungere utenti in Linux