X-Git-Url: https://arthur.barton.de/gitweb/?p=usertools.macosx.git;a=blobdiff_plain;f=useradd.macosx.sh;h=0949d520380d154b608ae97db98acef1690d6ad5;hp=518aef341413a2cedd7ec7ca53567645bc6e8733;hb=ad11b55631e98958603f15acb2566a3c30a160d2;hpb=950f0ccd9490aec7e6f5d8672ccb2eb4c19b2c31;ds=sidebyside diff --git a/useradd.macosx.sh b/useradd.macosx.sh index 518aef3..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 @@ -168,7 +160,7 @@ dscl . -create /Users/"$user_name" PrimaryGroupID "$group_id" || Abort dscl . -create /Users/"$user_name" NFSHomeDirectory "$home_dir" || Abort dscl . -create /Users/"$user_name" UserShell "$shell" || Abort dscl . -create /Users/"$user_name" RealName "$real_name" || Abort -dscl . -passwd /Users/"$user_name" "maccc" || Abort +#dscl . -passwd /Users/"$user_name" "maccc" || Abort if [ "$become_admin" -ne 0 ]; then [ "$verbose" -ne 0 ] && echo "Adding user to 'admin' group ..." dscl . -append /Groups/admin GroupMembership "$user_name" || Abort @@ -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-