User mit adduser angelegt, home-Verzeichnis vergessen?

Beim herumspielen mit useradd wurde die Angabe des Home-Verzeichnisses für einen User vergessen. Das ist eigentlich nicht tragisch, kann man doch überall nachlesen, dass man das Problem schnell mit usermod beheben kann…
Denkste!

Sowohl unter Raspbian (quasi Debian für den Raspberry Pi) als auch unter openSUSE 13.2 sowie openSUSE 42.1 ging hier mal gar nichts. Das Verzeichnis wurde zwar in der /etc/shadow hinterlegt, aber es wurde kein Verzeichnis angelegt.

Schauen wir uns das mal an:

[(08.02 02:59)root@kartoffel:~]# useradd c # User "c" anlegen, dabei die Angabe von -d [Home-Verzeichnis des Users] vergessen

[(08.02 02:59)root@kartoffel:~]# passwd c  # Passwort vergeben
Geben Sie ein neues Passwort ein: 
Geben Sie das neue Passwort erneut ein: 
passwd: Passwort erfolgreich geändert

[(08.02 02:59)root@kartoffel:~]# grep c: /etc/shadow # hier stehen die Daten des Users - eigentlich
                                                     # dachte ich, das Verzeichnis würde als Klartext
                                                     # drinstehen, das wurde bei openSUSE wohl geändert
c:$6$SjA2J0LC$2G/D13o.Fzk077UYeGllJrZ0Dnuy7BlLY5l3uri5qxdpY4ZOu2eBMCuqovbFkv1v2FxVkMbLojolckzMMpKKw.:16839:0:99999:7:::

[(08.02 02:59)root@kartoffel:~]# ls -l /home # Ein Blick nach /home  und kein c
insgesamt 32
drwxr-xr-x 81 florian  users  8192  8. Feb 02:57 florian
drwx------  2 root     root  16384 25. Apr 2015  lost+found
drwxr-xr-x 10 testuser users  4096 29. Jan 01:20 testuser
drwxr-xr-x  9 usertest users  4096  8. Feb 02:41 usertest

[(08.02 03:00)root@kartoffel:~]# usermod -d /home/c c # Für den User c das Verzeichnis /home/c als
                                                      # Homeverzeichnis festlegen, so zumindest die manpage... aber:
usermod: Keine Änderungen

# Nanu??

[(08.02 03:00)root@kartoffel:~]# grep c: /etc/shadow 
c:$6$SjA2J0LC$2G/D13o.Fzk077UYeGllJrZ0Dnuy7BlLY5l3uri5qxdpY4ZOu2eBMCuqovbFkv1v2FxVkMbLojolckzMMpKKw.:16839:0:99999:7:::

# Das Verzeichnis stand wohl schon in der /etc/shadow, aber da sollte doch jetzt /home/c angelegt werden, und der
# Inhalt von /etc/skel hineinkopiert werden und die Userrechte angepaßt werden

[(08.02 03:00)root@kartoffel:~]# ls -l /home         
insgesamt 32
drwxr-xr-x 81 florian  users  8192  8. Feb 02:57 florian
drwx------  2 root     root  16384 25. Apr 2015  lost+found
drwxr-xr-x 10 testuser users  4096 29. Jan 01:20 testuser
drwxr-xr-x  9 usertest users  4096  8. Feb 02:41 usertest

# Tja, nix ist da...

So, nun gab es lange Gesichter, rätselraten… warum will das nicht?? Nach diversen Syntax-Checks und Versuchen kam dann doch einmal der Blick ins Internet. Einige scheinen das Problem zu haben, andere nicht. Es fand sich jedoch auch die Lösung: mkhomedir_helper macht das, was eigentlich usermod -d hätte machen sollen ⁎grummel⁎

[(08.02 03:00)root@kartoffel:~]# mkhomedir_helper c  
[(08.02 03:00)root@kartoffel:~]# ls -l /home       
insgesamt 36
drwxr-xr-x  9 c        users  4096  8. Feb 03:00 c
drwxr-xr-x 81 florian  users  8192  8. Feb 02:57 florian
drwx------  2 root     root  16384 25. Apr 2015  lost+found
drwxr-xr-x 10 testuser users  4096 29. Jan 01:20 testuser
drwxr-xr-x  9 usertest users  4096  8. Feb 02:41 usertest

So, Nase voll für heute, ich geh ins Bett!