shell批量添加新用戶的腳本
更新時間:2025年06月09日 10:40:22 作者:開挖掘機上班
寫一個腳本,實現(xiàn)批量添加20個用戶,用戶名為user1-20,密碼為user后面跟5個隨機字符,這篇文章主要介紹了shell批量添加新用戶的腳本,需要的朋友可以參考下
批量加5個新用戶,以u1到u5命名,并統(tǒng)一加一個新組,組名為class,統(tǒng)一改密碼為123
#腳本1 #!/bin/bash #判斷class組是否存在 grep -w class /etc/group &>/dev/null [ $? -ne 0 ] && groupadd class #批量創(chuàng)建5個用戶 for i in {1..5} do useradd -G class u$i echo 123|passwd --stdin u$i done #腳本2 #!/bin/bash #判斷class組是否存在 cut -d: -f1 /etc/group|grep -w class &>/dev/null [ $? -ne 0 ] && groupadd class #循環(huán)增加用戶,循環(huán)次數(shù)5次,for循環(huán),給用戶設(shè)定密碼 for ((i=1;i<=5;i++)) do useradd u$i -G class echo 123|passwd --stdin u$i done #腳本3 #!/bin/bash grep -w class /etc/group &>/dev/null test $? -ne 0 && groupadd class 或者 groupadd class &>/dev/null for ((i=1;i<=5;i++)) do useradd -G class u$i && echo 123|passwd --stdin u$i done
寫一個腳本,實現(xiàn)批量添加20個用戶,用戶名為user1-20,密碼為user后面跟5個隨機字符
腳本1
#!/bin/bash for i in {1..20}; do username="user$i" password="user$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 5 | head -n 1)" useradd "$username" && echo "$username:$password" | chpasswd echo "用戶 $username 添加成功,密碼: $password" done 功能說明: 循環(huán)創(chuàng)建user1到user20,密碼格式為user+5位隨機字符(字母數(shù)字組合) 使用/dev/urandom生成隨機字符串,tr過濾非字母數(shù)字字符 chpasswd安全設(shè)置密碼,避免明文密碼出現(xiàn)在歷史記錄中 使用方法: 保存為add_users.sh 添加執(zhí)行權(quán)限:chmod +x add_users.sh 需root權(quán)限運行:sudo ./add_users.sh 注意事項: 若用戶已存在,腳本會報錯但繼續(xù)執(zhí)行后續(xù)用戶 隨機密碼會直接打印到終端,生產(chǎn)環(huán)境建議重定向到安全文件
腳本2
以下是一個完整的 Shell 腳本,用于批量創(chuàng)建 20 個用戶,用戶名從 user1 到 user20,密碼為 user 后加上 5 個隨機字符。腳本還提供了錯誤處理功能以確保用戶不會被重復創(chuàng)建,并將用戶名和密碼記錄到文件 userinfo.txt 中 #!/bin/bash # 定義變量 USERADD="/usr/sbin/useradd" PASSWD="/usr/bin/passwd" CUT="/bin/cut" INFO_FILE="userinfo.txt" # 清空或創(chuàng)建用戶信息文件 > "$INFO_FILE" # 循環(huán)創(chuàng)建用戶 for i in {1..20}; do username="user$i" # 使用 /dev/urandom 生成隨機字符串并截取前 5 個字符作為密碼的一部分 password="user$(cat /dev/urandom | $CUT -c-5 | head -c 5)"[^3] # 嘗試添加用戶 if ! id "$username" &>/dev/null; then $USERADD "$username" && echo "$password" | $PASSWD --stdin "$username" &>/dev/null echo "$username:$password" >> "$INFO_FILE" echo "User $username created successfully." else echo "User $username already exists. Skipping..." fi done echo "All users processed. User information saved to $INFO_FILE." 腳本說明 用戶檢查:在創(chuàng)建用戶之前,使用 id 命令檢查用戶是否已存在。如果用戶已存在,則跳過該用戶的創(chuàng)建過程。 隨機密碼生成:通過 /dev/urandom 和 cut 命令生成 5 個隨機字符,并將其附加到字符串 user 后面以形成密碼。 非交互式密碼設(shè)置:使用 echo "$password" | passwd --stdin "$username" 命令以非交互方式為用戶設(shè)置密碼。 記錄用戶信息:將每個用戶的用戶名和密碼寫入文件 userinfo.txt,以便后續(xù)使用。 注意事項 確保腳本具有執(zhí)行權(quán)限。可以通過運行 chmod +x script_name.sh 來賦予腳本執(zhí)行權(quán)限。 運行腳本時需要超級用戶權(quán)限(即 root 用戶),因為 useradd 和 passwd 命令需要這些權(quán)限。 如果系統(tǒng)中已經(jīng)存在部分用戶(如 user1 到 user20 的范圍中有重復用戶),腳本會自動跳過這些用戶并繼續(xù)處理剩余的用戶
到此這篇關(guān)于shell批量添加新用戶的文章就介紹到這了,更多相關(guān)shell批量添加內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!