Par exemple, si je devais exécuter la commande adduser test
, le fichier .bashrc est-il créé automatiquement lors de la création du répertoire de base de l'utilisateur test
? S'il n'est pas créé lors de la création de l'utilisateur, dans quelles conditions est-il créé?
De plus, si j'ajoute un fichier .bashrc au répertoire de base d'un utilisateur, sera-t-il écrasé par le système d'exploitation?
Merci d'avance.
Dans la plupart des cas, les fichiers utilisateur initiaux (y compris .bashrc
) sont créés lors de la création de l'utilisateur. Ce sont des copies des fichiers stockés dans le répertoire 'squelettique', nommé /etc/skel
. Il y a deux commandes principales:
useradd
est la commande dorsale, si vous l'utilisez directement (sans aucune option), seul un utilisateur système (et ses groupe) sera créé:
$ Sudo useradd new-user
$ ls -la /home/new-user/
ls: cannot access '/home/new-user/': No such file or directory
useradd
va créer un répertoire de base et le remplir avec une copie de /etc/skel
si l'option -m
--create-home
est fournie. Merci pour ce commentaire à @jwodder.
L'option -s
--Shell
modifiera le nom du nouvel identifiant Shell de l'utilisateur. Quel que soit le shell de connexion du nouvel utilisateur, l'intégralité du contenu du répertoire 'squelettique' /etc/skel
sera renseignée dans le répertoire de base du nouvel utilisateur.
Un répertoire 'squelettique' différent peut être défini avec l'option -k
--create-home
.
Le fichier de configuration de cette commande est /etc/default/useradd
.
adduser
est une interface conviviale et interactive de useradd
. Cette commande copiera les fichiers de /etc/skel
dans le répertoire $HOME
de l'utilisateur par défaut:
$ 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
Le fichier de configuration de cette commande est /etc/adduser.conf
.
La valeur par défaut du nouvel utilisateur de connexion Shell est définie par la variable DSHELL=
. Il pourrait également être spécifié via l'option --Shell
. Quel que soit le shell de connexion du nouvel utilisateur, l'intégralité du contenu du répertoire 'squelettique' /etc/skel
sera renseignée dans le répertoire de base du nouvel utilisateur.
La variable SKEL=
de ce fichier spécifie le répertoire par défaut contenant les fichiers utilisateur "squelettiques".
L'option --no-create-home
force la commande adduser
à ne pas créer de répertoire de base utilisateur. Le contenu du répertoire "skeletal" ne sera pas copié.
S'il est appelé avec un argument non-option et l'option --system
, adduser
ajoutera un utilisateur système ... Un répertoire de base est créé selon les mêmes règles que pour les utilisateurs normaux. Le nouvel utilisateur du système aura le Shell /bin/false
(sauf en cas de substitution avec l’option --Shell
) et les connexions seront désactivées. Les fichiers de configuration squelettiques ne sont pas copiés. ... à partir de la page de manuel.
De plus, lorsque l'utilisateur est créé avec n'importe quel outil graphique en tant que User Accounts
, le résultat est identique à celui de la commande adduser
.
Références: