freebsd-dev/usr.sbin/pw
Ian Lepore 3196b50827 Re-apply r336625 which was reverted with r336638, now that the underlying
pw_scan(3) has been fixed in a way that doesn't perturb other callers of
it or the getpwnam(3) family.

Make pw(8) showuser work the same with or without -R <path> for non-root
users.  Without -R, pw(8) uses getpwnam(3), which will open master.passwd
for the root user or passwd for non-root users.  With -R <path> pw(8) was
always opening <path>/master.passwd, which would fail for a non-root user,
then falsely claim the userid you're trying to show doesn't exist.

Now for a non-root user it opens <path>/passwd, and populates the fields in
the returned struct passwd which aren't present in that file with well-known
canonical values, which duplicates the behavior of getpwnam(3).  The net
effect is that the showuser output is identical whether using -R or not.
2018-07-26 20:03:11 +00:00
..
tests Allow the "@" and "!" characters in passwd file GECOS fields. 2018-03-01 17:47:28 +00:00
bitmap.c various: general adoption of SPDX licensing ID tags. 2017-11-27 15:37:16 +00:00
bitmap.h various: general adoption of SPDX licensing ID tags. 2017-11-27 15:37:16 +00:00
cpdir.c various: general adoption of SPDX licensing ID tags. 2017-11-27 15:37:16 +00:00
grupd.c various: general adoption of SPDX licensing ID tags. 2017-11-27 15:37:16 +00:00
Makefile Add HAS_TESTS to all Makefiles that are currently using the 2017-08-02 08:50:42 +00:00
Makefile.depend DIRDEPS_BUILD: Update dependencies. 2017-10-31 00:07:04 +00:00
psdate.c pw(8): correct expiration period handling and command line overrides 2017-12-09 23:34:00 +00:00
psdate.h pw(8): correct expiration period handling and command line overrides 2017-12-09 23:34:00 +00:00
pw_conf.c pw(8): correct expiration period handling and command line overrides 2017-12-09 23:34:00 +00:00
pw_group.c various: general adoption of SPDX licensing ID tags. 2017-11-27 15:37:16 +00:00
pw_log.c various: general adoption of SPDX licensing ID tags. 2017-11-27 15:37:16 +00:00
pw_nis.c various: general adoption of SPDX licensing ID tags. 2017-11-27 15:37:16 +00:00
pw_user.c Allow the "@" and "!" characters in passwd file GECOS fields. 2018-03-01 17:47:28 +00:00
pw_utils.c Remove some unneeded headers 2016-03-26 11:41:35 +00:00
pw_vpw.c Re-apply r336625 which was reverted with r336638, now that the underlying 2018-07-26 20:03:11 +00:00
pw.8 pw(8): correct expiration period handling and command line overrides 2017-12-09 23:34:00 +00:00
pw.c various: general adoption of SPDX licensing ID tags. 2017-11-27 15:37:16 +00:00
pw.conf.5
pw.h pw(8): correct expiration period handling and command line overrides 2017-12-09 23:34:00 +00:00
pwupd.c various: general adoption of SPDX licensing ID tags. 2017-11-27 15:37:16 +00:00
pwupd.h various: general adoption of SPDX licensing ID tags. 2017-11-27 15:37:16 +00:00
README
rm_r.c various: general adoption of SPDX licensing ID tags. 2017-11-27 15:37:16 +00:00
strtounum.c Fix err pointer not initialized to NULL resulting 2015-08-21 14:28:14 +00:00

pw is a command-line driven passwd/group editor utility that provides
an easy and safe means of modifying of any/all fields in the system
password files, and has an add, modify and delete mode for user and
group records. Command line options have been fashioned to be similar
to those used by the Sun/shadow commands: useradd, usermod, userdel,
groupadd, groupmod, groupdel, but combines all operations within the
single command `pw'.

User add mode also provides a means of easily setting system useradd
defaults (see pw.conf.5), so that adding a user is as easy as issuing
the command "pw useradd <loginid>". Creation of a unique primary
group for each user and automatic membership in secondary groups
is fully supported.

This program may be FreeBSD specific, but should be trivial to port to
other bsd4.4 variants.

Author and maintainer: David L. Nugent, <davidn@blaze.net.au>

$FreeBSD$