GNU/Linux >> Tutoriales Linux >  >> Linux

crear directorios de inicio después de crear usuarios

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:

  1. Crear directorio de acuerdo con /etc/passwd , normalmente ya habrá una entrada /home/login.
  2. Copiar archivos iniciales de /etc/skel
  3. 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.


Linux
  1. 5 ejemplos para crear múltiples directorios en Linux

  2. ¿Crear por la fuerza enlaces duros de directorio?

  3. ¿Simulando un enlace duro a un directorio?

  4. Directorios misteriosos en el directorio de inicio?

  5. Crear un nuevo árbol de directorios vacío a partir de un árbol existente con archivos

Cómo crear un directorio compartido para todos los usuarios en Linux

Cómo crear directorios en Linux (comando mkdir)

Cree accesos directos a los directorios de uso frecuente en Linux

Crear directorio de inicio para usuarios existentes en Linux

Cómo crear/agregar usuarios en Linux

Cree un nuevo usuario de vsftpd y bloquéelo en (especifique) el directorio de inicio/inicio de sesión