pw usermod -m doesn't work after r286196. Now it requires directory name. An old FreeBSD 9: # pw user show btr btr:*:6666:20::0:0:Andrey Elsukov:/home/btr:/bin/csh # rm -rf /home/btr # pw usermod btr -m # ls -l /home/btr total 10 -rw-r--r-- 1 btr staff 898 Jan 18 14:02 .cshrc -rw-r--r-- 1 btr staff 186 Jan 18 14:02 .login -rw-r--r-- 1 btr staff 91 Jan 18 14:02 .login_conf -rw------- 1 btr staff 301 Jan 18 14:02 .mail_aliases -rw-r--r-- 1 btr staff 267 Jan 18 14:02 .mailrc -rw-r--r-- 1 btr staff 680 Jan 18 14:02 .profile -rw------- 1 btr staff 212 Jan 18 14:02 .rhosts -rw-r--r-- 1 btr staff 909 Jan 18 14:02 .shrc Recent FreeBSD 12 (stable/11 too): # pw user show btr btr:*:6666:0:russian:0:0:Andrey V. Elsukov:/home/btr:/bin/csh # rm -rf /home/btr # pw usermod btr -m # ls -l /home/btr ls: /home/btr: No such file or directory # pw usermod btr -d /home/btr -m # ls -l /home/btr ls: /home/btr: No such file or directory # pw usermod btr -d /home/btr/../btr -m # pw user show btr btr:*:6666:0:russian:0:0:Andrey V. Elsukov:/home/btr/../btr:/bin/csh # ls -l /home/btr total 10 -rw-r--r-- 1 btr wheel 983 18 янв. 14:22 .cshrc -rw-r--r-- 1 btr wheel 182 18 янв. 14:22 .login -rw-r--r-- 1 btr wheel 91 18 янв. 14:22 .login_conf -rw------- 1 btr wheel 301 18 янв. 14:22 .mail_aliases -rw-r--r-- 1 btr wheel 267 18 янв. 14:22 .mailrc -rw-r--r-- 1 btr wheel 728 18 янв. 14:22 .profile -rw------- 1 btr wheel 212 18 янв. 14:22 .rhosts -rw-r--r-- 1 btr wheel 909 18 янв. 14:22 .shrc
A commit references this bug: Author: bapt Date: Sun Jan 22 18:55:01 UTC 2017 New revision: 312644 URL: https://svnweb.freebsd.org/changeset/base/312644 Log: Readd a feature lost in pw(8) refactoring pw usermod foo -m It used to be able to (re)create the home directory if it didn't exists PR: 216224 Reported by: ae MFC after: 3 days Changes: head/usr.sbin/pw/pw_user.c
A commit references this bug: Author: bapt Date: Sat Jan 28 17:40:37 UTC 2017 New revision: 312931 URL: https://svnweb.freebsd.org/changeset/base/312931 Log: MFC r312644, r312650 r312644: Readd a feature lost in pw(8) refactoring pw usermod foo -m It used to be able to (re)create the home directory if it didn't exists PR: 216224 Reported by: ae MFC after: 3 days r312650: Really restore the old behaviour for pw usermod -m It again reinstall missing skel files without overwriting changed one Add a regression test about it Reported by: ae MFC after: 3 days Changes: _U stable/11/ stable/11/usr.sbin/pw/psdate.c stable/11/usr.sbin/pw/pw_user.c stable/11/usr.sbin/pw/tests/pw_usermod.sh
Sorry, it still does not work on 10.3-RELEASE # id sudakov uid=3001(sudakov) gid=2000(user) groups=2000(user) # grep sudakov /etc/passwd sudakov:*:3001:2000:Victor Sudakov:/home/sudakov:/bin/tcsh # pw usermod sudakov -m # pw usermod sudakov -m -d /home/sudakov # ls -al /home/ total 8 drwxr-xr-x 2 root wheel 512 5 фев 13:44 . drwxr-xr-x 20 root wheel 512 5 фев 13:45 .. # As you can see, the homedir for sudakov was not created, no matter with or without "-d"
There was no errata for that, so it does not work on 10.3-RELEASE and 11.0-RELEASE but will be in next releases. I'll see what I can do to provide an errata
A commit references this bug: Author: bapt Date: Sat Feb 25 19:28:49 UTC 2017 New revision: 314277 URL: https://svnweb.freebsd.org/changeset/base/314277 Log: MFC r312644, r312650 r312644: Readd a feature lost in pw(8) refactoring pw usermod foo -m It used to be able to (re)create the home directory if it didn't exists r312650: Really restore the old behaviour for pw usermod -m It again reinstall missing skel files without overwriting changed one Add a regression test about it PR: 216224 Reported by: ae Changes: _U stable/10/ stable/10/usr.sbin/pw/psdate.c stable/10/usr.sbin/pw/pw_user.c stable/10/usr.sbin/pw/tests/pw_usermod.sh