Subject: pkg/16628: no USERADD or GROUPADD on Darwin
To: None <gnats-bugs@gnats.netbsd.org>
From: None <schmonz@netbsd.org>
List: netbsd-bugs
Date: 05/03/2002 12:22:22
>Number:         16628
>Category:       pkg
>Synopsis:       no USERADD or GROUPADD on Darwin
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Fri May 03 05:23:00 PDT 2002
>Closed-Date:
>Last-Modified:
>Originator:     Amitai Schlair
>Release:        Darwin 5.4
>Organization:
Schmonz Enterprises
>Environment:
Darwin g3.apart.ment 5.4 Darwin Kernel Version 5.4: Wed Apr 10 09:27:47 PDT 2002; root:xnu/xnu-201.19.3.obj~1/RELEASE_PPC  Power Macintosh powerpc
>Description:
pkgsrc on Darwin is unable to create users or groups because Darwin
lacks utilities even remotely resembling user(8) and group(8). It
appears that the only way to modify the user and group databases is
with niutil(1), the generic NetInfo utility.
>How-To-Repeat:
On a Darwin system, install a package that defines PKG_USERS and/or
PKG_GROUPS.
>Fix:
I've found that the following sequence of commands suffices to create a
user:

	niutil -create / /users/${user}
	niutil -createprop / /users/${user} realname ${comment}
	niutil -createprop / /users/${user} shell ${shell}
	niutil -createprop / /users/${user} passwd ""
	niutil -createprop / /users/${user} _shadow_passwd
	niutil -createprop / /users/${user} uid ${uid}
	niutil -createprop / /users/${user} gid ${gid}
	niutil -appendprop / /groups/staff users ${user}
	mkdir ${home}
	chown ${user}:${gid} ${home}
	niutil -createprop / /users/${user} home ${home}

(For more info, see http://www.darwinfo.org/faq.shtml#newusr .)

Having user(8) and group(8) workalikes would be of general utility. We
should probably write shell-script clones, have sysutils/user install
them when on Darwin, and pull in sysutils/user from defs.Darwin.mk if
USE_USERADD or USE_GROUPADD.
>Release-Note:
>Audit-Trail:
>Unformatted: