@!/bin/sh(定義使用sh shell)
groupadd users(建立用戶組)
@T_class code(定義第一個參數為總組代碼,賦予變量“T_class”)
T_class={GetProperty(Content)}
@class code(定義第二個參數為分組代碼,賦予變量“num_class”)
num_class=`expr $2 + 0`
if (test $num_class -le 9)(以下代碼是為了保證分組代碼的位數為兩位)
then
num_class="0"$num_class
fi
@max user id(定義第三個參數為該分組用戶的最大ID號,賦予變量“max_stid”)
max_stid=`expr $3 + 0`
@init user id(該分組用戶ID號從1開始)
num_userid =1
@mkdir user home(在“/home”目錄為所有用/總組戶建立名為"fst"的公共目錄)
if [ ! -x /home/fst ]
then
mkdir /home/fst
fi
if [ ! -x /home/fst/{GetProperty(Content)}$num_class ] (在總組公共目錄下為每個分組建立以該分組代碼命名的目錄)
then
mkdir /home/fst/{GetProperty(Content)}$num_class
fi
while (test $num_userid -le $max_stid)(從用戶ID號1開始循環,直到最大ID號)
do
if (test $num_userid -le 9) (以下保證用戶代碼的位數為兩位)
then
num_userid="0"$num_userid
fi
user_name=$T_class$num_class$num_userid(把總組、分組、用戶ID號三部分代碼組合成用戶名,並賦予變量user_name)
@save user passwd to file user_pwlist(按“name:passwd”的格式逐行追加寫入“user_pwlist”文件,以備初始化用戶密碼)
echo $user_name":"$user_name >> user_pwlist
@add user(建立該用戶,同時賦予“users”組,創建該用戶目錄)
adduser -g users -d /home/fst/{GetProperty(Content)}$num_class/$user_name $user_name
@set quota(為該用戶設置配額,限制最大容量為20MB,沒有文件數限制)
setquota -u $user_name 10240 20480 0 0 /home
@set directory mode(設置該用戶目錄的權限為755)
chmod 755 /home/fst/{GetProperty(Content)}$num_class/$user_name
@current user id add one(用戶ID號加1,准備下一次循環,建立下一個用戶)
num_userid=`expr $num_userid + 1`
done
chpasswd < user_pwlist(以下兩行為剛才建立的所有用戶設置密碼)
pwconv
rm user_pwlist -f(刪除“user_pwlist”文件