X-Git-Url: https://arthur.barton.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=useradd.macosx.sh;h=0949d520380d154b608ae97db98acef1690d6ad5;hb=6c7b37265f31469124b96d264748e2a6c85161ab;hp=0bebb0c3c2a05c5ac5892d3aae8c5077fdc65fa6;hpb=eb5ed4011fa56c1a0f826f6747e371d30a0d6309;p=usertools.macosx.git diff --git a/useradd.macosx.sh b/useradd.macosx.sh index 0bebb0c..0949d52 100755 --- a/useradd.macosx.sh +++ b/useradd.macosx.sh @@ -3,11 +3,6 @@ # useradd.macosx # Copyright (c)2008 Barton IT-Consulting, Alexander Barton # -# 2008-07-28, alex@barton-it.de - R2 -# - start directory services when not running (e. g. single user mode) -# 2008-07-28, alex@barton-it.de - R1 -# - initial version. -# NAME=`basename $0` RELEASE="2" @@ -111,6 +106,8 @@ done [ -n "$home_dir" ] || home_dir="/Users/$user_name" [ -n "$shell" ] || shell="/bin/bash" +[ "$UID" -eq 0 ] || Abort "This script must be run as root!" + # Check that directory services are running launchctl list 2>/dev/null | fgrep "com.apple.DirectoryServices" >/dev/null 2>&1 if [ $? -ne 0 ]; then @@ -126,13 +123,8 @@ fi # No user ID given, generate it if [ $user_id -lt 0 ]; then # search next free user ID - declare -i new_id=501 - id "$new_id" >/dev/null 2>&1 - while [ $? -eq 0 ]; do - new_id=$new_id+1; - id "$new_id" >/dev/null 2>&1 - done - user_id=$new_id + user_id=`echo $[$(dscl . -list /Users uid | awk '{print $2}' \ + | sort -n | tail -n1)+1]` fi # Validate user name, user id and group id @@ -184,4 +176,4 @@ chmod 755 "$home_dir" || Abort echo "User '$user_name' ($user_id) has been created." exit 0 -# -eof- \ No newline at end of file +# -eof-