Bug 216224 - [regression] `pw usermod $username -m` doesn't work after r286196
Summary: [regression] `pw usermod $username -m` doesn't work after r286196
Status: Closed FIXED
Alias: None
Product: Base System
Classification: Unclassified
Component: bin (show other bugs)
Version: CURRENT
Hardware: Any Any
: --- Affects Only Me
Assignee: freebsd-bugs (Nobody)
URL:
Keywords: regression
Depends on:
Blocks:
 
Reported: 2017-01-18 11:24 UTC by Andrey V. Elsukov
Modified: 2017-02-25 19:29 UTC (History)
2 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Andrey V. Elsukov freebsd_committer freebsd_triage 2017-01-18 11:24:04 UTC
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
Comment 1 commit-hook freebsd_committer freebsd_triage 2017-01-22 18:55:31 UTC
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
Comment 2 commit-hook freebsd_committer freebsd_triage 2017-01-28 17:41:17 UTC
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
Comment 3 Victor Sudakov 2017-02-05 06:52:14 UTC
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"
Comment 4 Baptiste Daroussin freebsd_committer freebsd_triage 2017-02-05 23:07:40 UTC
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
Comment 5 commit-hook freebsd_committer freebsd_triage 2017-02-25 19:29:50 UTC
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