ref: 8fe3213889e424721d1ab8cbfa2c18ea14a84c32
dir: /newuser/
#!/bin/rc
run_newuser=t
fn usage {
echo 'usage: newuser [-n] [-d dept] [-e email] [-i postid] sponsormail user pass' >[1=2]
exit 'usage'
}
while (~ $1 -*) {
switch ($1) {
case -[dier]
x=$1 $2
shift
case -n
run_newuser=f
case -*
usage
}
shift
}
if (~ $#* 3) {
s=$1
u=$2
p=$3
auth/keyfs
if(test -w /srv/cwfs.cmd){
echo newuser $u >> /srv/cwfs.cmd
wm/chusr $x -s $s -p $p $u
if(~ $run_newuser t) {
# auth/as $u /sys/lib/newuserb # messes up with namespace
if(! test -f /env/authdom)
authdom=`{ndb/query sys $sysname authdom}
if(! test -f /env/authdom) {
echo 'newuser: no authdom variable or entry in ndb' >[1=2]
exit 'no authdom'
}
echo 'key user='$u' proto=p9sk1 dom='$authdom' role=client !password='$p >/mnt/factotum/ctl
rcpu -u $u -c /sys/lib/newuser
}
auth/enable $u
}
if not {
echo 'no cwfs.cmd or access to it'>[2=1]
exit 'no cwfs.cmd or access to it'
}
}
if not
usage