Por ejemplo, si tuviera que ejecutar el comando adduser test
, ¿el .bashrc se crea automáticamente al crear el directorio de inicio del usuario test
? Si no se crea tras la creación del usuario, ¿bajo qué condiciones se crea?
Además, si agrego un archivo .bashrc al directorio de inicio de un usuario, ¿el sistema operativo lo sobrescribirá?
Gracias de antemano.
Respuesta1
En la mayoría de los casos, los archivos de usuario iniciales (incluidos .bashrc
) se crean cuando se crea el usuario. Son copias de los archivos almacenados en el directorio "esquelético", denominado /etc/skel
. Hay dos comandos principales:
useradd
es el comando back-end, si lo usa directamente (sin ninguna opción) solo se creará un usuario del sistema (y su grupo):$ sudo useradd new-user $ ls -la /home/new-user/ ls: cannot access '/home/new-user/': No such file or directory
useradd
creará un directorio de inicio y lo completará con una copia de/etc/skel
si-m
--create-home
se proporciona la opción. Gracias poreste comentarioa @jwodder.La opción
-s
--shell
cambiará el nombre del shell de inicio de sesión del nuevo usuario. No importa cuál sea el shell de inicio de sesión del nuevo usuario, todo el contenido del directorio 'esquelético'/etc/skel
se completará en el directorio de inicio del nuevo usuario.Se puede definir un directorio 'esquelético' diferente con la
-k
--create-home
opción.El archivo de configuración de este comando es
/etc/default/useradd
.
adduser
es una interfaz fácil de usar e interactiva deuseradd
. Este comando copiará los archivos al directorio/etc/skel
del usuario de forma predeterminada:$HOME
$ sudo adduser new-user Adding user `new-user' ... Adding new group `new-user' (1002) ... Adding new user `new-user' (1002) with group `new-user' ... Creating home directory `/home/new-user' ... Copying files from `/etc/skel' ... Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully Changing the user information for new-user Enter the new value, or press ENTER for the default Full Name []: New User Room Number []: Work Phone []: Home Phone []: Other []: Is the information correct? [Y/n] $ ls -a /home/new-user/ . .. .bash_logout .bashrc .config examples.desktop .profile .Xdefaults
El archivo de configuración de este comando es
/etc/adduser.conf
.El valor predeterminado para el shell de inicio de sesión del nuevo usuario lo determina la variable
DSHELL=
. También se puede especificar mediante la opción--shell
. No importa cuál sea el shell de inicio de sesión del nuevo usuario, todo el contenido del directorio 'esquelético'/etc/skel
se completará en el directorio de inicio del nuevo usuario.La
SKEL=
variable en este archivo especifica el directorio predeterminado que contiene archivos de usuario "esqueléticos".La opción
--no-create-home
obligará al comandoadduser
a no crear un directorio de inicio de usuario y, respectivamente, no se copiará el contenido del directorio 'esquelético'.Si se llama con un argumento que no sea una opción y la
--system
opción,adduser
agregará un usuario del sistema... Un directorio de inicio se crea según las mismas reglas que para los usuarios normales. El nuevo usuario del sistema tendrá el shell/bin/false
(a menos que se anule con la--shell
opción) y tendrá los inicios de sesión deshabilitados.Los archivos de configuración esqueléticos no se copian. ...desde la página del manual.
Además, cuando el usuario se crea con cualquier herramienta GUI comoUser Accounts
, el resultado es idéntico al del comando adduser
.
Referencias: