Beheben des Home-Verzeichnis-Fehlers
Nachdem wir nun die Ursache des Fehlers "Could not chdir to home directory" für unseren Testbenutzer verstanden haben, wollen wir ihn beheben. Wir werden mehrere Lösungen untersuchen, die sich mit verschiedenen Ursachen dieses Fehlers befassen.
Lösung 1: Erstellen des fehlenden Home-Verzeichnisses
Da unsere Diagnose ergab, dass das Home-Verzeichnis für testuser nicht existiert, können wir es erstellen:
sudo mkdir -p /home/testuser
Als Nächstes müssen wir den korrekten Eigentümer für dieses Verzeichnis festlegen:
sudo chown testuser:testuser /home/testuser
Wir müssen auch die entsprechenden Berechtigungen festlegen:
sudo chmod 755 /home/testuser
Überprüfen wir, ob das Verzeichnis mit dem korrekten Eigentümer und den korrekten Berechtigungen erstellt wurde:
ls -ld /home/testuser
Sie sollten eine Ausgabe ähnlich der folgenden sehen:
drwxr-xr-x 2 testuser testuser 4096 Sep 15 13:45 /home/testuser
Versuchen wir nun erneut, zum testuser-Konto zu wechseln:
sudo su - testuser
Dieses Mal sollten Sie sich anmelden können, ohne den Fehler "Could not chdir to home directory" zu sehen. Geben Sie pwd ein, um zu bestätigen, dass Sie sich im richtigen Verzeichnis befinden:
pwd
Die Ausgabe sollte sein:
/home/testuser
Geben Sie exit ein, um zu Ihrem regulären Benutzerkonto zurückzukehren:
exit
Lösung 2: Kopieren der Standardbenutzerdateien
Wenn wir ein Home-Verzeichnis manuell erstellen, fehlen ihm die Standardkonfigurationsdateien. Kopieren wir diese Dateien von den Systemstandards:
sudo cp -r /etc/skel/. /home/testuser/
Überprüfen wir, ob die Dateien kopiert wurden:
ls -la /home/testuser
Sie sollten jetzt versteckte Dateien wie .bashrc, .profile und andere sehen.
Wir müssen sicherstellen, dass diese Dateien den korrekten Eigentümer haben:
sudo chown -R testuser:testuser /home/testuser
Lösung 3: Neuerstellen des Benutzers mit einem Home-Verzeichnis
Ein alternativer Ansatz ist das Löschen und Neuerstellen des Benutzers mit dem Flag -m, das das Home-Verzeichnis automatisch erstellt:
sudo userdel -r testuser
sudo useradd -m testuser
sudo passwd testuser
Legen Sie bei der Aufforderung erneut ein Passwort wie password123 fest.
Überprüfen wir, ob das neue Benutzerkonto ein Home-Verzeichnis hat:
ls -ld /home/testuser
Die Ausgabe sollte bestätigen, dass das Verzeichnis mit dem korrekten Eigentümer existiert.
Überprüfen der Korrektur
Um sicherzustellen, dass unsere Korrektur funktioniert hat, versuchen wir uns noch einmal als testuser anzumelden:
sudo su - testuser
Geben Sie pwd ein, um zu bestätigen, dass Sie sich im richtigen Verzeichnis befinden:
pwd
Die Ausgabe sollte sein:
/home/testuser
Geben Sie exit ein, um zu Ihrem regulären Benutzerkonto zurückzukehren:
exit
Sie haben den Fehler "Could not chdir to home directory" für unseren Testbenutzer erfolgreich behoben.