Lösung 1:
Sie können auch mkhomedir_helper
verwenden
Usage: /sbin/mkhomedir_helper <username> [<umask> [<skeldir>]]
Lösung 2:
Sie müssen das Benutzerverzeichnis manuell erstellen. Dies erfordert drei Schritte:
- Verzeichnis in Übereinstimmung mit
/etc/passwd
erstellen , normalerweise gibt es bereits einen /home/login-Eintrag. - Anfangsdateien aus /etc/skel kopieren
-
Und schließlich die richtigen Berechtigungen festlegen:
mkdir /home/YOU
cd /home/YOU
cp -r /etc/skel/. .
chown -R YOU.YOURGROUP .
chmod -R go=u,go-w .
chmod go= .
BTW:Ich vermisse immer die -m
Option für useradd auch. Zumindest Debian-basierte Systeme sollten einen adduser
haben Befehl, den ich über useradd empfehle. Wenn Sie -m
verpasst haben Option könnte auch eine Überlegung wert sein bis deluser
und dann den Benutzer mit den richtigen Optionen neu erstellen.
Bearbeiten:-r
hinzugefügt zum Kopieren auch Verzeichnisse.
Lösung 3:
Das mag wie eine dumme Idee klingen, aber wenn die Benutzer nichts tun, könnten Sie Folgendes tun:
cat /etc/passwd | cut -f 1 -d : >/tmp/users.list
Bearbeiten Sie dann /tmp/users.list so, dass sie nur die gewünschten Benutzer enthält. Dann machen Sie:
for i in `cat /tmp/users.list`
do
userdel $i
useradd -m $i
done
Viele Redhat-basierte Distributionen erstellen Ihnen jedoch ein neues Home-Verzeichnis, wenn Sie sich zum ersten Mal anmelden, vorausgesetzt, es wird in /etc/passwd angegeben, wo sich das Verzeichnis befinden soll.
Um das zu testen, machen Sie ein "su - " und sehen Sie, ob es "das Richtige" tut. Wenn dies nicht der Fall ist, wird das obige Skript ganz gut funktionieren, denke ich.
Lösung 4:
mkdir -p /home/john
chown john:john /home/john
usermod -d /home/john john
Das sollte den Zweck erfüllen, glaube ich
Lösung 5:
Sie können so etwas wie pam_mkhomedir verwenden, um zu verhindern, dass dies in Zukunft jemals ein Problem für Benutzer darstellt. pam_mkhomedir ist ein PAM-Modul, das automatisch das Home-Verzeichnis eines Benutzers bei der Anmeldung erstellt, wenn es nicht existiert, und es mit Dateien aus /etc/skel (oder einem anderen von Ihnen angegebenen Skel-Verzeichnis) füllt.
Dies ist auch ein schön skalierbarer Ansatz, da es dieses Problem weiterhin lösen wird, wenn Sie Ihr Benutzer-Repository jemals in Zukunft auf einen Verzeichnisdienst wie LDAP umstellen.