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:
- Crea una directory conforme a
/etc/passwd
, di solito ci sarà già una voce /home/login. - Copia i file iniziali da /etc/skel
-
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.