Solución 1:
También puedes usar mkhomedir_helper
Usage: /sbin/mkhomedir_helper <username> [<umask> [<skeldir>]]
Solución 2:
Deberá crear el directorio de usuarios manualmente. Esto requiere tres pasos:
- Crear directorio de acuerdo con
/etc/passwd
, normalmente ya habrá una entrada /home/login. - Copiar archivos iniciales de /etc/skel
-
Y finalmente establezca los permisos correctos:
mkdir /home/YOU
cd /home/YOU
cp -r /etc/skel/. .
chown -R YOU.YOURGROUP .
chmod -R go=u,go-w .
chmod go= .
Por cierto:siempre echo de menos el -m
opción para useradd también. Al menos los sistemas basados en Debian deberían tener un adduser
comando, que recomiendo sobre useradd. Si te perdiste -m
opción también podría valer la pena considerar deluser
y luego vuelva a crear el usuario con las opciones adecuadas.
Editar:Añadido -r
para copiar también directorios.
Solución 3:
Esto puede sonar como una idea tonta, pero si los usuarios en realidad no están haciendo nada, podrías hacer:
cat /etc/passwd | cut -f 1 -d : >/tmp/users.list
Luego edite /tmp/users.list para que solo contenga los usuarios que desee. Luego haz:
for i in `cat /tmp/users.list`
do
userdel $i
useradd -m $i
done
Sin embargo, muchas distribuciones basadas en Redhat le crearán un nuevo directorio de inicio cuando inicie sesión por primera vez, siempre que se especifique en /etc/passwd donde debería estar el directorio.
Para probar eso, haga un "su -" y vea si hace "lo correcto". Si no es así, creo que la secuencia de comandos anterior funcionará bastante bien.
Solución 4:
mkdir -p /home/john
chown john:john /home/john
usermod -d /home/john john
Eso debería hacer el truco, creo
Solución 5:
Puede usar algo como pam_mkhomedir para evitar que esto sea un problema para los usuarios en el futuro. pam_mkhomedir es un módulo PAM que crea automáticamente el directorio de inicio de un usuario al iniciar sesión si no existe, y lo llena con archivos de /etc/skel (o cualquier directorio skel que especifique).
Este también es un enfoque muy escalable porque continuará resolviendo este problema si alguna vez cambia su repositorio de usuarios a un servicio de directorio como LDAP en el futuro.