GNU/Linux >> Tutoriels Linux >  >> Linux

Créer un répertoire personnel pour un utilisateur existant sous Linux

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.


Linux
  1. Comment supprimer des comptes d'utilisateurs avec le répertoire personnel sous Linux

  2. Comment restaurer les fichiers sous le répertoire personnel de l'utilisateur par défaut sous Linux

  3. Comment créer un nouveau répertoire sous Linux

  4. Configurer Jenkins pour différents user.home

  5. Comment copier un fichier/dossier depuis le répertoire personnel d'un autre utilisateur sous Linux ?

Comment créer une clé USB amorçable pour Linux

Structure de répertoire Linux expliquée pour les débutants

Quel est le but du fichier .bash_profile sous le répertoire d'accueil de l'utilisateur sous Linux

Comment créer/ajouter des utilisateurs sous Linux

Comment trouver le répertoire personnel d'un utilisateur sous Linux ou Unix ?

Comment puis-je automatiser l'effacement et la réinitialisation du répertoire personnel d'un utilisateur Linux par défaut ?