| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 | 
							- #!/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 Lewman
 
- # Copyright (c) 2007 Andrew Lewman
 
- #
 
- ROOTPROP=/
 
- if [ "`whoami`" != "root" ]; then
 
-   echo "You must be root to execute this script."
 
-   exit
 
- fi
 
- if [ "x$3" = "x" ]; then
 
-   echo 'Usage: addsysuser <username> "<full name>" <homedir>'
 
-   exit 0
 
- fi
 
- username=$1
 
- realname=$2
 
- homedir=$3
 
- if [ -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
 
-   if [ -x /usr/bin/nidump ]; then
 
-     uiddef=`nidump passwd / | cut -d: -f3 | sort -n | grep -v '^[56789]..' |grep -v '^....$' | tail -n 1`
 
-   else
 
-     _tmp=/tmp/_dsexport_tmp.txt.$$
 
-     rm -f $_tmp
 
-     dsexport $_tmp '/Local/Default' 'dsRecTypeStandard:Users' > /dev/null 2>&1
 
-     uiddef=`cat $_tmp | sed 's/\\\://g' | cut -d: -f6 | grep '^[0-9]' | sort -n | grep -v '^[56789]..' | grep -v '^....$' | tail -n 1`
 
-     rm -f $_tmp
 
-   fi
 
-   uiddef=`echo $uiddef + 1 | bc`
 
-   dscl . -create /users/$username uid $uiddef
 
-   # 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/null
 
- else
 
-   # 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/null
 
- fi
 
 
  |