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.