GNU/Linux >> Tutoriels Linux >  >> Linux

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

Le problème

Si accidentellement le contexte ou l'autorisation de fichier des fichiers sous le répertoire personnel de l'utilisateur avait été modifié, des erreurs d'autorisation ou un comportement inattendu de l'application pourraient survenir après ce système de connexion de l'utilisateur.

Par exemple, si l'autorisation de fichier de /home/user1/.bash_profile est erronée, l'utilisateur de connexion1 recevra l'invite "/home/user1/.bash_profile :autorisation refusée" :

login as: user1
user1@geeklab's password:
Last login: Mon Dec 15 15:08:20 2014 from geeklab2.example.com
-bash: /home/user1/.bash_profile: Permission denied
-bash-3.2$

Ce message explique comment restaurer les fichiers/sous-répertoires sous le répertoire personnel de l'utilisateur par défaut.

La solution

Il y a 2 fichiers/répertoires importants qui sont nécessaires pour restaurer le répertoire de base de l'utilisateur par défaut. Ce sont principalement :
1. /etc/skel répertoire
2. /etc/default/useradd

Le répertoire skel

Répertoire /etc/skel/ (skel est dérivé du "squelette") est utilisé pour lancer le répertoire personnel lors de la première création de l'utilisateur. Exemple de mise en page de fichiers utilisateur "squelette" :

# ls -lart /etc/skel
total 32
drwxr-xr-x    4 root root  4096 Feb  4  2016 .mozilla
-rw-r--r--    1 root root   124 Feb 15  2017 .bashrc
-rw-r--r--    1 root root   176 Feb 15  2017 .bash_profile
-rw-r--r--    1 root root    18 Feb 15  2017 .bash_logout
drwxr-xr-x.   3 root root  4096 Aug 22  2017 .
drwxr-xr-x. 112 root root 12288 Feb 26 03:09 ..
Remarque  :le répertoire "skeleton" est défini dans le fichier /etc/default/useradd.
# cat /etc/default/useradd
# useradd defaults file
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes

Restaurer un fichier sous le répertoire personnel

1. Par exemple, si le fichier .bash_profile est supprimé du répertoire personnel de l'utilisateur, comme indiqué ci-dessous.

$ rm ~/.bash_profile
# ls -lart /etc/skel
total 32
drwxr-xr-x    4 root root  4096 Feb  4  2016 .mozilla
-rw-r--r--    1 root root   124 Feb 15  2017 .bashrc
-rw-r--r--    1 root root    18 Feb 15  2017 .bash_logout
drwxr-xr-x.   3 root root  4096 Aug 22  2017 .
drwxr-xr-x. 112 root root 12288 Feb 26 03:09 ..

2. Pour restaurer le fichier .bash_profile d'origine, copiez le fichier par défaut du répertoire "skeleton" :

$ cp /etc/skel/.bash_profile ~/
# ls -lart ~/
total 32
drwxr-xr-x    4 root root  4096 Feb  4  2016 .mozilla
-rw-r--r--    1 root root   124 Feb 15  2017 .bashrc
-rw-r--r--    1 root root   176 Feb 15  2017 .bash_profile
-rw-r--r--    1 root root    18 Feb 15  2017 .bash_logout
drwxr-xr-x.   3 root root  4096 Aug 22  2017 .
drwxr-xr-x. 112 root root 12288 Feb 26 03:09 ..
Remarque :Copiez le fichier sous le privilège d'utilisateur correspondant. Si vous avez copié le fichier via l'utilisateur root, vous devez ensuite modifier manuellement la propriété et l'autorisation du fichier.

Restaurer un sous-répertoire sous le répertoire personnel

Par exemple, pour restaurer un sous-répertoire .mozilla, copiez-le avec l'option –recursive (-r) :

$ cp -r /etc/skel/.mozilla/ ~/

Restaurer tout le répertoire personnel à partir de zéro

Voyons comment nous pouvons restaurer l'intégralité du répertoire personnel d'un utilisateur. Pour les besoins de cet exemple, nous allons supprimer le répertoire personnel de user1.
1. Vérifiez l'UID et le GID de l'utilisateur :

$ id user1
uid=54324(user1) gid=54325(user1) groups=54325(user1)

2. Supprimez le répertoire personnel de l'utilisateur et l'utilisateur via le privilège root :

# rm -rf /home/user1

3. Copiez tous les fichiers du répertoire /etc/skel dans le répertoire personnel de l'utilisateur.

# cp -r /etc/skel/* ~/
# ls -lart /home/user1/
total 32
drwxr-xr-x    4 root root  4096 Feb  4  2016 .mozilla
-rw-r--r--    1 root root   124 Feb 15  2017 .bashrc
-rw-r--r--    1 root root   176 Feb 15  2017 .bash_profile
-rw-r--r--    1 root root    18 Feb 15  2017 .bash_logout
drwxr-xr-x.   3 root root  4096 Aug 22  2017 .
drwxr-xr-x. 112 root root 12288 Feb 26 03:09 ..


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

  2. Comment restaurer le répertoire /tmp supprimé sous Linux

  3. Comment créer un utilisateur avec un répertoire personnel personnalisé sous Linux

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

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

Comment lister tous les utilisateurs sous Linux

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

Comment lister les fichiers de manière récursive sous Linux

Comment compter les fichiers dans le répertoire sous Linux

Comment compter le nombre de fichiers dans un répertoire sous Linux

Comment créer/ajouter des utilisateurs sous Linux