#!/bin/sh # adduser script for use with shadow passwords and useradd command. # by Hrvoje Dogan , Dec 1995. # Modified by Patrick Volkerding, Oct 1997, Mar 1999. echo echo -n "Login name for new user (8 characters or less) []: " read LOGIN if [ -z "$LOGIN" ]; then echo "Come on, man, you can't leave the login field empty..." exit fi echo echo -n "User id for $LOGIN [ defaults to next available]: " read ID GUID="-u $ID" if [ -z "$ID" ]; then GUID="" fi echo echo -n "Initial group for $LOGIN [users]: " read GID if [ -z "$GID" ]; then GID="users" fi GGID="-g $GID" echo echo "Additional groups for $LOGIN (seperated" echo -n "with commas, no spaces) []: " read AGID GAGID="-G $AGID" if [ -z "$AGID" ]; then GAGID="" fi echo echo -n "$LOGIN's home directory [/home/$LOGIN]: " read HME if [ -z "$HME" ]; then HME="/home/$LOGIN" fi GHME="-d $HME" echo echo -n "$LOGIN's shell [/bin/bash]: " read SHL GSHL="-s $SHL" if [ -z "$SHL" ]; then GSHL="-s /bin/bash" SHL="/bin/bash" fi echo echo -n "$LOGIN's account expiry date (YYYY-MM-DD) []: " read EXP GEXP="-e $EXP" if [ -z "$EXP" ]; then GEXP="" fi echo echo "OK, I'm about to make a new account. Here's what you entered so far:" echo echo New login name: $LOGIN if [ -z "$GUID" ]; then echo New UID: [Next available] else echo New UID: $UID fi if [ -z "$GGID" ]; then echo Initial group: users else echo Initial group: $GID fi if [ -z "$GAGID" ]; then echo Additional groups: [none] else echo Additional groups: $AGID fi if [ -z "$GHME" ]; then echo Home directory: /home/$LOGIN else echo Home directory: $HME fi if [ -z "$GSHL" ]; then echo Shell: /bin/bash else echo Shell: $SHL fi if [ -z "$GEXP" ]; then echo Expiry date: [no expiration] else echo Expiry date: $EXP fi echo echo "This is it... if you want to bail out, hit Control-C. Otherwise, press" echo "ENTER to go ahead and make the account." read FOO echo echo Making new account... /usr/sbin/useradd $GHME -m $GEXP $GGID $GAGID $GSHL $GUID $LOGIN if [ -d $HME ]; then chmod 711 $HME fi echo /usr/bin/chfn $LOGIN echo /usr/bin/passwd $LOGIN echo "Done..."