用戶文件/mnt/username 密碼文件/mnt/passwdfile
Username文件中每一行代表一個用戶,passwdfile中每行對應username中一個密碼
通過讀取取兩個文件,自動創建用戶
#!/bin/bash
if [ -z /mnt/username ] //判斷username是否存在
then echo ERROR:/mnt/username is not exits
elif [ -z /mnt/passwdfile ] //判斷passwdfile是否存在
then echo ERROR:/mnt/passwdfile is not exits
else usernameline=`wc -l /mnt/username | cut -d " " -f 1` //統計行數
passwdfileline=`wc -l /mnt/passwdfile | cut -d " " -f 1`
if [ "$usernameline" = "0" -o "$passwdfileline" = "0" ]; //如果有任意一個文件行數爲0則無法正常創建用戶
then echo username or passwdfile is empty
elif [ "$usernameline" != "$passwdfileline" ]; //如果都不爲空,則判斷兩個文件行數是否相等,如果不相等也不能創建用戶
then echo usernameline and passwdfileline is not equal
else [ "$usernameline" = "$passwdfileline" ]; //如果行數相等,則依次提取每一行
for NUM in $( seq 1 $usernameline )
do
USERNAME=`sed -n ${NUM}p /mnt/username` //username的每一行作爲USERNAMN
PASSWD=`sed -n ${NUM}p /mnt/passwdfile` //passwdfile的每一行作爲對應密碼
USERADD=`useradd $USERNAME &> /dev/null && echo "success"||echo "failed"` //創建用戶成功則輸出success 否則failed
if [ "$USERADD" = "success" ]; //如果輸出success,說明創建用戶成功,則爲其添加密碼
then echo $PASSWD | passwd --stdin $USERNAME
echo $USERNAME create successfully
elif [ "$USERADD" = "failed" ];
then echo $USERNAME already exits //否則提示該用戶已經存在。
fi
done
fi
fi