3196b50827
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. |
||
---|---|---|
.. | ||
tests | ||
bitmap.c | ||
bitmap.h | ||
cpdir.c | ||
grupd.c | ||
Makefile | ||
Makefile.depend | ||
psdate.c | ||
psdate.h | ||
pw_conf.c | ||
pw_group.c | ||
pw_log.c | ||
pw_nis.c | ||
pw_user.c | ||
pw_utils.c | ||
pw_vpw.c | ||
pw.8 | ||
pw.c | ||
pw.conf.5 | ||
pw.h | ||
pwupd.c | ||
pwupd.h | ||
README | ||
rm_r.c | ||
strtounum.c |
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$