Résolution de l'erreur du répertoire personnel
Maintenant que nous comprenons la cause de l'erreur "Could not chdir to home directory" pour notre utilisateur de test, corrigeons-la. Nous allons explorer plusieurs solutions qui traitent différentes causes profondes de cette erreur.
Solution 1 : Création du répertoire personnel manquant
Puisque notre diagnostic a révélé que le répertoire personnel de testuser n'existe pas, nous pouvons le créer :
sudo mkdir -p /home/testuser
Ensuite, nous devons définir la propriété correcte pour ce répertoire :
sudo chown testuser:testuser /home/testuser
Nous devons également définir les permissions appropriées :
sudo chmod 755 /home/testuser
Vérifions que le répertoire a été créé avec la propriété et les permissions correctes :
ls -ld /home/testuser
Vous devriez voir une sortie similaire à :
drwxr-xr-x 2 testuser testuser 4096 Sep 15 13:45 /home/testuser
Maintenant, essayons de repasser au compte testuser :
sudo su - testuser
Cette fois, vous devriez pouvoir vous connecter sans voir l'erreur "Could not chdir to home directory". Tapez pwd pour confirmer que vous êtes dans le répertoire correct :
pwd
La sortie devrait être :
/home/testuser
Tapez exit pour revenir à votre compte utilisateur normal :
exit
Solution 2 : Copie des fichiers utilisateur par défaut
Lorsque nous créons manuellement un répertoire personnel, il manque les fichiers de configuration par défaut. Copions ces fichiers à partir des valeurs par défaut du système :
sudo cp -r /etc/skel/. /home/testuser/
Vérifions que les fichiers ont été copiés :
ls -la /home/testuser
Vous devriez maintenant voir des fichiers cachés comme .bashrc, .profile, et d'autres.
Nous devons nous assurer que ces fichiers ont la propriété correcte :
sudo chown -R testuser:testuser /home/testuser
Solution 3 : Recréation de l'utilisateur avec un répertoire personnel
Une approche alternative consiste à supprimer et à recréer l'utilisateur avec l'option -m, qui crée automatiquement le répertoire personnel :
sudo userdel -r testuser
sudo useradd -m testuser
sudo passwd testuser
Lorsque vous y êtes invité, définissez à nouveau un mot de passe comme password123.
Vérifions que le nouveau compte utilisateur a un répertoire personnel :
ls -ld /home/testuser
La sortie devrait confirmer que le répertoire existe avec la propriété correcte.
Vérification de la correction
Pour nous assurer que notre correction a fonctionné, essayons de nous connecter en tant que testuser une fois de plus :
sudo su - testuser
Tapez pwd pour confirmer que vous êtes dans le répertoire correct :
pwd
La sortie devrait être :
/home/testuser
Tapez exit pour revenir à votre compte utilisateur normal :
exit
Vous avez réussi à résoudre l'erreur "Could not chdir to home directory" pour notre utilisateur de test.