Ce bref guide explique comment créer un répertoire personnel pour un utilisateur existant dans les systèmes d'exploitation Linux et Unix à l'aide de mkhomedir_helper
commande.
Présentation
Comme vous le savez déjà, nous pouvons créer un nouvel utilisateur dans les systèmes Linux et Unix en utilisant adduser
commande, non ? Oui c'est vrai! Lorsque nous ajoutons un nouvel utilisateur, le répertoire personnel de l'utilisateur respectif est automatiquement créé par défaut.
Il existe également une autre commande pour créer des utilisateurs sous Linux. Il s'appelle useradd
.
Après avoir créé quelques utilisateurs en utilisant useradd
commande dans Alpine Linux, j'ai remarqué que les répertoires $HOME pour les utilisateurs ne sont pas créés. Je ne suis pas au courant avant.
Après avoir lu le useradd
les pages de manuel de la commande, je me suis rendu compte que j'aurais dû inclure -m
(ou --create-home
) option pour créer de nouveaux utilisateurs avec le répertoire $HOME comme ci-dessous :
$ sudo useradd -m user_name
Ou,
$ sudo useradd --create-home user_name
Mais, j'ai oublié d'inclure cette option et j'ai continué à créer quelques nouveaux utilisateurs. Si vous êtes comme moi, ne supprimez pas les utilisateurs existants et recréez-les avec -m
option.
Vous pouvez facilement créer un répertoire personnel pour un utilisateur existant sous Linux en utilisant mkhomedir_helper
commande, sans supprimer et recréer l'utilisateur.
Créer un répertoire personnel pour un utilisateur existant sous Linux
Le mkhomedir_helper
est un programme d'aide pour le pam_mkhomedir
module. Le pam_mkhomedir
Le module PAM créera le répertoire personnel d'un utilisateur s'il n'existe pas au début de la session.
Tout d'abord, ce module crée les répertoires personnels, puis les remplit avec le contenu du répertoire skel spécifié. La valeur par défaut de umask
est 0022
et la valeur par défaut de path-to-skel est /etc/skel
.
Permettez-moi de vous montrer un exemple pour expliquer comment créer le répertoire personnel d'un utilisateur existant à l'aide de mkhomedir_helper
commande.
Tout d'abord, créons un nouvel utilisateur nommé ostechnix en utilisant useradd
commande :
$ useradd ostechnix
Définissez le mot de passe de l'utilisateur :
$ passwd ostechnix
Passez maintenant au nouvel utilisateur :
$ su - ostechnix
Vous rencontrerez le message d'erreur suivant :
su: warning: cannot change directory to /home/ostechnix: No such file or directory
Comme vous le voyez dans la sortie ci-dessus, le répertoire personnel de l'utilisateur ostechnix n'existe pas, d'où cette erreur.
Vérifions-le en examinant le /home
répertoire :
$ ls -l /home/ total 0 drwx------ 1 vagrant vagrant 72 Dec 15 13:19 vagrant
Eh bien, il est vrai qu'il n'y a pas de répertoire personnel pour l'utilisateur ostechnix.
Créons donc le répertoire personnel de l'utilisateur existant (c'est-à-dire ostechnix dans notre cas) avec mkhomedir_helper
commande.
Pour ce faire, déconnectez-vous d'abord de l'utilisateur ostechnix si vous êtes déjà connecté :
$ exit
Et exécutez la commande suivante pour créer le répertoire personnel de l'utilisateur appelé ostechnix :
$ sudo mkhomedir_helper ostechnix
Veuillez noter que vous devez exécuter la commande ci-dessus en tant que root
utilisateur ou sudo
différent utilisateur.
Passez maintenant à l'utilisateur ostechnix :
$ su - ostechnix
Cette fois, vous ne recevrez aucun message d'avertissement, car le répertoire personnel de l'utilisateur appelé ostechnix a été créé avec mkhomedir_helper
commande.
[[email protected] ~]$ pwd /home/ostechnix
Pour plus de détails, reportez-vous aux pages de manuel :
$ man mkhomedir_helper
Vous savez maintenant comment créer des répertoires personnels après avoir créé les utilisateurs. Cela peut être utile lorsque vous avez oublié d'inclure -m
option lors de la création d'utilisateurs avec useradd
commande.
Au lieu d'utiliser useradd
, vous pouvez utiliser adduser
commande qui créera automatiquement les répertoires personnels de l'utilisateur sans aucune option.
Lire connexe :
- Comment déplacer le répertoire personnel vers une nouvelle partition ou un nouveau disque sous Linux
- Ajouter, supprimer et accorder des privilèges Sudo aux utilisateurs sous Alpine Linux
- Ajouter, supprimer et accorder des privilèges Sudo aux utilisateurs sous Arch Linux
- Ajouter, supprimer et accorder des privilèges Sudo aux utilisateurs dans Fedora
- Ajouter, supprimer et accorder des privilèges Sudo aux utilisateurs dans CentOS
- Ajouter, supprimer et accorder des privilèges Sudo aux utilisateurs d'Ubuntu
Image sélectionnée par FreeCliparts de Pixabay.