3. 批量新增多個使用者
批量建立多個使用者的需求在生產環境下用的不多,但是經常會在面試時的筆試題上看到,本案例就是批量建立多個使用者。具體要求如下:
1)批量建立100個使用者;
2)使用者名稱為user_01 - user_100;
3)給所有使用者都設定一個隨機密碼,12位長度,且需要包含大小寫字母及數字;
4)並把使用者的密碼儲存到 /data/user_passwd 檔案中;
5)這100個使用者同屬於users組。
參考指令碼如下:
#!/bin/bash
#批量新增100個使用者,user_01 - user_100
#檢查是否有mkpasswd命令,沒有則安裝
if ! which mkpasswd $>/dev/null
then
echo "沒有mkpasswd命令,安裝該命令:"
yum install -y expect
fi
#判斷 /data/user_passwd 檔案是否存在
#若存在,應該先刪除
[ -f /data/user_passwd ] && rm -rf /data/user_passwd
#100為三位數,只能遍歷到99
for n in `seq -w 1 99`
do
pass=`mkpasswd -l 12 -s 0`
echo "新增使用者user_100"
useradd -g users user_$n
echo "給使用者user_$n設定密碼"
echo $pass | passwd --stdin user_$n
echo "user_$n $pass" >> /data/user_passwd
done
pass=`mkpasswd -l 12 -s 0`
echo "新增使用者user_100"
useradd -g users user_100
echo "給使用者user_100設定密碼"
echo $pass | passwd --stdin user_100
echo "user_100 $pass" >> /data/user_passwd
指令碼中,
1)mkpasswd -s 指定特殊字元個數
2)如果遍歷到100,那就是user_001 - user_100
3)passwd --stdin 從標準輸入讀取令牌,從而更改密碼(只有root使用者才能進行此操作)
相關文章
- 新增多個使用者的shell指令碼指令碼
- item2 新增多個 SSH
- C#新增多個Sheet表C#
- 在同一個頁面中新增多個CollectionViewView
- 批量按使用者expdp
- 新增多個資料夾進行同時改名
- 同一終端新增多個 git 賬號Git
- AD 批量匯入使用者(利用 for……do……dsadd user 批量建使用者)
- 一個指令碼解決AD使用者批量操作問題指令碼
- go-carbon 1.2.1 版本釋出了,新增多個方法Go
- 給一個塊元素新增多張背景圖片
- 批量關注掘金使用者
- shell指令碼批量操作使用者指令碼
- addClass()新增多個樣式屬性程式碼例項
- 配置nginx伺服器 —— Nginx新增多個二級子域名Nginx伺服器
- shell指令碼建立使用者及批量建立使用者指令碼
- Linux批量建立使用者指令碼Linux指令碼
- linux批量新增使用者指令碼Linux指令碼
- 在Linux中, 如何建立一個新使用者和新組?Linux
- Linux多個埠組合,iptables使用multiport 新增多個不連續埠Linux
- sap入門--建立一個新的使用者
- 通過shell指令碼 批量新增使用者指令碼
- 教你玩轉Linux—新增批量使用者Linux
- oracle 給使用者批量授權unlimite tablespaceOracleMIT
- linux批量建立和刪除使用者Linux
- 在Linux中,如何建立一個新使用者?Linux
- 批量匯出某個簡書使用者的所有文章列表和文章超連結
- linux下批量修改使用者密碼Linux密碼
- oracle批量刪除使用者物件新篇章Oracle物件
- 3.磁碟命令
- 3. Swift SequenceSwift
- 3. Post and Get
- win10系統怎麼新增多個桌面_win10新建多個桌面的方法Win10
- 批量的遷移一個資料庫上某使用者所有表的同義詞資料庫
- Ansible批量更新遠端主機使用者密碼 (包括Ansible批量做ssh互信)密碼
- 如何為 Eloquent 新增多語言支援
- Linux 下新增多網段方法Linux
- 利用管道批量kill 資料庫中使用者程式資料庫