通過讀取用戶和密碼文件自動創建用戶腳本

 用戶文件/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 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章