#!/bin/sh #set -e #set -x [ $# -ne 1 ] && { echo "$0 user"; exit 1; } P_FILE="/etc/passwd" G_FILE="/etc/group" USER="$1" #GROUP="$2" #GROUP="pureftp" echo "Add user \"$USER\"" echo -n "Check if user or usergroup already exsist ..." grep -q -e "^$USER:" $G_FILE && echo "UserGroup already exsists!" && exit 1 grep -q -e "^$USER:" $P_FILE && echo "User already exists!" && exit 1 echo "OK" # look for next free UID ... for UID in $(seq 500 1000) do grep -q -e "$UID" $P_FILE || break done [ $GID -eq 1000 ] && exit 1 echo "New GID for user \"$USER\" is: \"$GID\"" echo "$USER:x:$GID:xxxxxxxxx,xxxxxx" >> $G_FILE echo "$USER:!:$UID:$GID:$USER:/home/$USER:/bin/ash" >> $P_FILE echo -n "add new user \"$USER\" to pure-ftp user group ... " TMP=`grep -i "pureftp" $G_FILE` LINE="$TMP,$USER" echo "Line: $LINE" sed '/pureftp/d' $G_FILE > tmp.txt echo "$LINE" >> tmp.txt mv tmp.txt $G_FILE echo "done" echo -n "create \"$USER\" home directory ..." mkdir -p "/home/$USER" chown $USER:$USER "/home/$USER" chmod 755 "/home/$USER" echo "done" echo -n "create \"$USER\" ftp directory ..." mkdir -p /ftp/$USER chown $USER:$USER "/ftp/$USER" chmod 770 "/ftp/$USER" echo "done" #echo "Give system user password for user: \"$USER\"..." #passwd $USER echo "Give pure-ftp password for user \"$USER\" to pure-ftpd db" pure-pw useradd $USER -u $USER -D /ftp echo "make db..." pure-pw mkdb