有一個朋友問我如何批量建立用戶和設置密碼 ,我就簡單給他寫了兩個腳本,讓他本身參考下並本身根據實際狀況進行修改,畢竟他須要的用戶名和密碼都是實際生產環境的。 |
這裏分兩種狀況,一種是測試for循環批量添加用戶,一個是根據實際生產環境進行批量添加。分別寫一下案例以下:html
for添加指定類型用戶以及設置隨機密碼linux
腳本做用:批量添加user1-10用戶並設置隨機8位數隨機密碼shell
#!/bin/bash #test add user and set passwd for n in `seq 10` do useradd user$n; echo user$n |passwd `echo user$n |md5sum |cut -c1-8` done
實際生產環境批量添加用戶和設置對應密碼數組
腳本做用:在生產環境中批量添加指定用戶、設置對應密碼,並禁止sudo -s、sudo -i切換到root。bash
思路:將全部要添加的用戶名和密碼放到一個數組中,設置一個函數進行截取用戶名和密碼並進行添加用戶、設置密碼。最後用一個循環調用這個函數便可添加。dom
#!/bin/bash #adduser and set passwd userlist=( user21:123456 user22:456789 user23:876543 ) function adduser_setpasswd_sudo(){ user=`echo $1 |awk -F: '{print $1}'` passwd=`echo $1 |awk -F: '{print $2}'` useradd -m -s /bin/bash $user echo "$user:$passwd"|chpasswd sed -i "/${user}/d" /etc/sudoers echo "${user} ALL=NOPASSWD:ALL,!/usr/bin/passwd,/usr/bin/passwd [a-zA-Z]*,!/usr/bin/passwd root,!/bin/bash" >> /etc/sudoers } for n in ${userlist[@]} do adduser_setpasswd_sudo $n done
刪除要取消的帳戶以及取消sudo權限函數
#!/bin/bash cat < < EOF ############################################################## delete username and cancle sudo privileges. ############################################################## EOF read -p "Please input username which you want to del:" username userdel -r $username sed -i "/${username}/d" /etc/sudoers echo "Delete $username finished."
本文地址:https://www.linuxprobe.com/random-password-shell.html測試