shell應用之批量新增使用者例項
阿新 • • 發佈:2018-11-07
這裡要實現功能介紹
讀取一個使用者列表檔案
給列表中的使用者新增隨機密碼需要包含大小寫字元和數字
儲存對應的使用者和密碼檔案
這些使用者屬於同個使用者組
1、列表檔案
[[email protected] ~]# cat listuser.txt
andy
tom
ailis
wate
job
eils
2、這裡我們用mkpasswd 命令生成,沒有這個命令安裝以下
expect這個包
[[email protected] ~]# mkpasswd -d 3 -l 13 -s 0 -C 2
Ppkvy0pOwg6m1
3、給使用者設定密碼或修改密碼
第一種 echo -e "123123\n123123\n" | passwd root #>echo-e 是接收特殊符號,\n是換換行 第二種 echo -e "123123" |passwd --stdin root
指令碼例項1
#!/bin/bash
if [ $# -eq 0 ] ;then
echo "input file path"
exit 1
fi
if [ ! -f $1 ] ;then
echo "input file name"
exit 1
fi
while read aa ;do
pd=`mkpasswd -l 12 -s 0`
useradd $aa
echo $pd |passwd --stdin $aa
echo "$aa \and\ $pd" >> user_passwd.txt
done < $1
[ [email protected] sbin]# sh mkku.sh /home/rrad/listuser.txt
更改使用者 andy 的密碼 。
passwd:所有的身份驗證令牌已經成功更新。
更改使用者 tom 的密碼 。
passwd:所有的身份驗證令牌已經成功更新。
更改使用者 ailis 的密碼 。
passwd:所有的身份驗證令牌已經成功更新。
更改使用者 wate 的密碼 。
passwd:所有的身份驗證令牌已經成功更新。
更改使用者 job 的密碼 。
passwd:所有的身份驗證令牌已經成功更新。
更改使用者 eils 的密碼 。
passwd:所有的身份驗證令牌已經成功更新。
[ [email protected] ~]$ cat listuser.txt
andy
tom
ailis
wate
job
eils
[[email protected] ~]$
指令碼例項2
[[email protected] sbin]# cat user.sh
#!/bin/bash
if ! which mkpasswd &> /dev/null
then
echo "need mkpasswd"
yum install -y expect
fi
for i in `seq -w 1 10`
do
pd=`mkpasswd -l 12 -C 6 -d 3 -s 0`
echo "add_$i"
useradd add_$i
echo $pd |passwd --stdin add_$i
echo "add_$i : $pd" >> ./user_passwd
done
[[email protected] sbin]# cat user_passwd
add_01 : PR5jBW1GdiH4
add_02 : uwM2LD4ZQF8l
add_03 : k1KTLuKc8G2Q
add_04 : B06lMOOikL7N
add_05 : 1ex68WCNKWJe
add_06 : HK8CWV0eA3sy
add_07 : MvE23Q9BUeiD
add_08 : 9vLY6FzLGgZ8
add_09 : TCuV13VZEs9l
add_10 : 6KUVPv5cB8yA
簡書連結
-----END----