GNU/Linux >> Tutoriales Linux >  >> Linux

Crear directorio de inicio para usuarios existentes en Linux

Esta breve guía explica cómo crear un directorio de inicio para usuarios existentes en sistemas operativos Linux y similares a Unix usando mkhomedir_helper comando.

Introducción

Como ya sabe, podemos crear un nuevo usuario en sistemas Linux y similares a Unix usando adduser comando, ¿verdad? ¡Sí, así es! Cuando agregamos un nuevo usuario, el directorio de inicio para el usuario respectivo se crea automáticamente de forma predeterminada.

También hay otro comando para crear usuarios en Linux. Se llama useradd .

Después de crear algunos usuarios usando useradd comando en Alpine Linux, noté que los directorios $HOME para los usuarios no se crean. No soy consciente de ello antes.

Después de leer el useradd las páginas man del comando, me di cuenta de que debería haber incluido -m (o --create-home ) opción para crear nuevos usuarios con el directorio $HOME como se muestra a continuación:

$ sudo useradd -m user_name

O,

$ sudo useradd --create-home user_name

Pero olvidé incluir esta opción y continué creando algunos usuarios nuevos. Si eres como yo, no elimines los usuarios existentes y vuelve a crearlos con -m opción.

Puede crear fácilmente un directorio de inicio para un usuario existente en Linux usando mkhomedir_helper comando, sin eliminar y volver a crear el usuario.

Crear directorio de inicio para usuarios existentes en Linux

El mkhomedir_helper es un programa auxiliar para pam_mkhomedir módulo. El pam_mkhomedir El módulo PAM creará el directorio de inicio de un usuario si no existe cuando comienza la sesión.

Primero, este módulo crea los directorios de inicio y luego los llena con el contenido del directorio skel especificado. El valor predeterminado de umask es 0022 y el valor predeterminado de path-to-skel es /etc/skel .

Permítame mostrarle un ejemplo para explicar cómo crear el directorio de inicio para un usuario existente con la ayuda de mkhomedir_helper comando.

Primero, creemos un nuevo usuario llamado ostechnix usando useradd comando:

$ useradd ostechnix

Establecer contraseña para el usuario:

$ passwd ostechnix

Ahora cambia al nuevo usuario:

$ su - ostechnix

Encontrará el siguiente mensaje de error:

su: warning: cannot change directory to /home/ostechnix: No such file or directory

Como puede ver en el resultado anterior, el directorio de inicio para el usuario ostechnix no existe, de ahí este error.

Permítanos verificarlo mirando en /home directorio:

$ ls -l /home/
total 0
drwx------ 1 vagrant vagrant 72 Dec 15 13:19 vagrant

Bueno, es cierto que no existe un directorio de inicio para el usuario ostechnix.

Así que vamos a crear el directorio de inicio para el usuario existente (es decir, ostechnix en nuestro caso) con mkhomedir_helper dominio.

Para hacerlo, primero cierre la sesión del usuario ostechnix si ya inició sesión:

$ exit

Y ejecute el siguiente comando para crear un directorio de inicio para el usuario llamado ostechnix :

$ sudo mkhomedir_helper ostechnix

Tenga en cuenta que debe ejecutar el comando anterior como root usuario o diferente sudo usuario.

Ahora cambia al usuario ostechnix:

$ su - ostechnix

Esta vez no recibirá ningún mensaje de advertencia, porque el directorio de inicio para el usuario llamado ostechnix se ha creado con mkhomedir_helper comando.

[[email protected] ~]$ pwd
/home/ostechnix

Para obtener más detalles, consulte las páginas man:

$ man mkhomedir_helper

Ahora sabe cómo crear directorios de inicio después de crear los usuarios. Esto puede ser útil cuando olvidó incluir -m opción al crear usuarios con useradd dominio.

En lugar de usar useradd , puede usar adduser comando que creará los directorios de inicio del usuario automáticamente sin ninguna opción.

Lectura relacionada:

  • Cómo mover el directorio de inicio a una nueva partición o disco en Linux
  • Agregar, eliminar y otorgar privilegios de Sudo a usuarios en Alpine Linux
  • Agregar, eliminar y otorgar privilegios de Sudo a usuarios en Arch Linux
  • Agregar, eliminar y otorgar privilegios de Sudo a usuarios en Fedora
  • Agregar, eliminar y otorgar privilegios de Sudo a usuarios en CentOS
  • Agregar, eliminar y otorgar privilegios de Sudo a usuarios en Ubuntu

Imagen destacada de FreeCliparts de Pixabay.


Linux
  1. 20 comandos esenciales de Linux para cada usuario

  2. Cómo crear un usuario Sudo en Rocky Linux 8

  3. ¿Cuál es el propósito del archivo .bash_profile en User Home Directory en Linux?

  4. Configure Jenkins para diferentes usuarios.

  5. ¿Cómo copio un archivo/carpeta del directorio de inicio de otro usuario en Linux?

Cómo crear una unidad USB de arranque para Linux

Estructura de directorios de Linux explicada para principiantes

Cómo crear/agregar usuarios en Linux

¿Cómo encontrar el directorio de inicio de un usuario en Linux o Unix?

¿Cómo puedo automatizar la limpieza y el restablecimiento del directorio de inicio de un usuario de Linux a un valor predeterminado?

Edite el directorio de inicio para un usuario LDAP en Linux