#!/bin/ksh # # configure configures the package # # it should not need modification # cat << EOF Adduser Korn Shell Script for Solaris 2.x (c) Copyright May 1997 Peter Beckman EOF # Test if running as root or die x=`id | grep root` [ -z "$x" -a -n "$1" ] && $1 "${PROGNAME}: Must run as ROOT" && qdie Checkuids() { # Taken from: # John Andrea # Computer Services # St.Francis Xavier University # Antigonish, Nova Scotia, Canada # jandrea@stfx.ca low=2000 high=2999 prev=$((low-1)) found=n awk -F: '$3>=2000&&$3<=2999{print $3}' /etc/passwd | sort -un | while read uid junk; do #...don't do any more testing if one has been found if [[ $found = "n" ]]; then prev=$((prev+1)) if (( prev != uid )); then found=y UNUSED=$prev fi fi done #...but what happens if nothing was found if [[ $found = "n" ]]; then if (( prev == low-1 )); then UNUSED=$low else if (( prev >= high )); then echo $errorstring exit 1 else prev=$((prev+1)) UNUSED=$prev fi fi fi } echo -n "Username: " read USERNAME [ -z "$USERNAME" ] && exit 2 echo -n "Realname: " read REALNAME [ -z "$REALNAME" ] && exit 2 Checkuids echo "Next unused uid = $UNUSED" echo -n "UID [$UNUSED]: " read UID [ -z "$UID" ] && UID=$UNUSED GIDDEFAULT=10 echo -n "GID [$GIDDEFAULT]: " read GID [ -z "$GID" ] && GID=$GIDDEFAULT #the below should NOT ECHO the password #echo -n "Enter Password: " #stty -echo #read PASSWORD #stty echo #[ -z "$PASSWORD" ] && exit 2 # Chose defaults... you can't change 'em (yet) HOMEDIR="/usr/home/"$USERNAME SHELL="/usr/local/bin/tcsh" echo "Homedir is $HOMEDIR" echo "Shell is $SHELL" echo -n "Adding user..." /usr/sbin/useradd -c "$REALNAME" -d "$HOMEDIR" -g "$GID" -m -k /etc/skel -u "$UID" -s "$SHELL" $USERNAME echo "Done." /usr/bin/passwd $USERNAME #expire the password /usr/bin/passwd -f $USERNAME echo "Password reqired to be changed at next login."