| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 | #!/bin/sh## Original adduser 05 Feb 2002 by Jon L. Gardner## Modified for Tor installer by Nick Mathewson# 2007-06-12 Modified for leopard by Andrew LewmanROOTPROP=/if [ "`whoami`" != "root" ]; thenecho "You must be root to execute this script."exitfiif [ "x$3" = "x" ]; thenecho 'Usage: addsysuser <username> "<full name>" <homedir>'exit 0fiusername=$1realname=$2homedir=$3if [ -x /usr/bin/dscl ]; then   # Determine the gid of the daemon group   gid=`dscl . -read /groups/daemon gid`   if [ "x`dscl . -list /users|cut -f2 -d' '|grep $username`" != "x" ]; then      echo The account $username already exists.      exit 0   fi   # home is the local path to the home directory   home=/Users/$username   echo Creating account for $username...   dscl . -create /users/$username   dscl . -create /users/$username _writers_tim_passwd $username   dscl . -create /users/$username realname $realname   dscl . -create /users/$username _writers_passwd $username   dscl . -create /users/$username gid $gid   dscl . -create /users/$username home $homedir   dscl . -create /users/$username name $username   dscl . -create /users/$username passwd '*'   dscl . -create /users/$username shell /dev/nullelse    # Determine the gid of the daemon group   gid=`niutil -readprop $ROOTPROP /groups/daemon gid`   if [ "x`niutil -list $ROOTPROP /users|cut -f2 -d' '|grep $username`" != "x" ]; then      echo The account $username already exists.      exit 0   fi   # home is the local path to the home directory   home=/Users/$username   # defhome is what goes into NetInfo   defhome="/Network/Servers/MyServer/Users"   #echo "Determining next available system uid (please be patient)..."   # Uids over 500 are for system users.   uiddef=`nidump passwd / | cut -d: -f3 | sort -n | grep -v '^[56789]..' |grep -v '^....$' | tail -n 1`   uiddef=`echo $uiddef + 1 |bc`   echo Creating account for $username...   niutil -create $ROOTPROP /users/$username   niutil -createprop $ROOTPROP /users/$username _writers_tim_passwd $username   niutil -createprop $ROOTPROP /users/$username realname $realname   niutil -createprop $ROOTPROP /users/$username _writers_passwd $username   niutil -createprop $ROOTPROP /users/$username uid $uiddef   #niutil -createprop $ROOTPROP /users/$username home_loc "<home_dir><url>afp://afp.server.com/Users/</url><path>$username</path></home_dir>"   niutil -createprop $ROOTPROP /users/$username gid $gid   niutil -createprop $ROOTPROP /users/$username home $homedir   niutil -createprop $ROOTPROP /users/$username name $username   niutil -createprop $ROOTPROP /users/$username passwd '*'   niutil -createprop $ROOTPROP /users/$username shell /dev/nullfi
 |