使用shell指令碼批量建立使用者

2021-09-25 23:31:52 字數 2577 閱讀 6344

1、使用for語句批量新增與刪除特定使用者:

for語句的操作物件為使用者指定名稱的變數,並通過in關鍵字為該變數預先設定了乙個取值列表,多個取值之間以空格進行分隔。為於do…done之間的命令序列稱為迴圈體。

①新增使用者:

[root@localhost ~]# vim list.txt #準備乙個使用者名稱列表檔案

zhangsan

lisi

wangwu

zhaoliu

#儲存退出。

[root@localhost ~]# vim useradd.sh

#!/bin/bash

a=$(cat /root/list.txt)

for b in $a

douseradd $

echo 「123456」 | passwd --stdin $ &> /dev/null

done

#儲存退出。

[root@localhost ~]# . useradd.sh

[root@localhost ~]# tail -5 /etc/passwd

benet❌1000:1000:benet:/home/benet:/bin/bash

zhangsan❌1001:1001::/home/zhangsan:/bin/bash

lisi❌1002:1002::/home/lisi:/bin/bash

wangwu❌1003:1003::/home/wangwu:/bin/bash

zhaoliu❌1004:1004::/home/zhaoliu:/bin/bash

②刪除剛剛新增的使用者:

[root@localhost ~]# vim userdel.sh

#!/bin/bash

a=$(cat /root/list.txt)

for b in $a

douserdel -r $ &> /dev/null

done

#儲存退出

[root@localhost ~]# . userdel.sh #執行指令碼

[root@localhost ~]# tail -1 /etc/passwd

benet❌1000:1000:benet:/home/benet:/bin/bash

2、使用while語句批量新增和刪除使用者名稱有規律的賬號:

使用shell指令碼批量建立使用者

使用while語句是,有兩個特殊的條件測試操作,即true(真)和false(假)。使用true作為條件時,表示條件永遠成立,迴圈體內的命令將無限執行下去,除非強制終止指令碼,或通過exit語句退出指令碼;反之,若使用false作為條件,則迴圈體將不會被執行,這兩個特殊條件也可以用在if語句的條件測試中。

①新增:

[root@localhost ~]# vim piliang.sh

#!/bin/bash

name=「user」

i=1while [ $i -le 10 ]

douseradd nam

ena

meiecho 「123456」 | passwd --stdin nam

ena

mei &> /dev/null

let i++

done

儲存退出

[root@localhost ~]# . piliang.sh #執行指令碼

[root@localhost ~]# tail /etc/passwd #檢視使用者

user1❌1001:1001::/home/user1:/bin/bash

user2❌1002:1002::/home/user2:/bin/bash

user3❌1003:1003::/home/user3:/bin/bash

user4❌1004:1004::/home/user4:/bin/bash

user5❌1005:1005::/home/user5:/bin/bash

user6❌1006:1006::/home/user6:/bin/bash

user7❌1007:1007::/home/user7:/bin/bash

user8❌1008:1008::/home/user8:/bin/bash

user9❌1009:1009::/home/user9:/bin/bash

user10❌1010:1010::/home/user10:/bin/bash

②刪除剛才建立的使用者:

[root@localhost ~]# vim pish.sh

…#!/bin/bash

name=「user」

i=1while [ $i -le 10 ]

douserdel -r nam

ena

mei &> /dev/null

let i++

done

#儲存退出

[root@localhost ~]# . pish.sh

[root@localhost ~]# tail -2 /etc/passwd

tcpdump❌72:72:?:/sbin/nologin

benet❌1000:1000:benet:/home/benet:/bin/bash

Shell指令碼 批量建立使用者

格式為 使用者名稱 空格 tab 密碼 就是將資料分為兩列 users.txt文字內容示例 新建文字命令 touch create users.sh 編譯文字命令 vim create users.sh bin bash 批量建立使用者 while read line do 讀取line列表中的資料...

shell指令碼批量建立使用者

bin bash date date f t user file user.txt echo color 如果使用者檔案存在並大小大於0就備份 if s user file then mv user file bak echo color green user file exist,rename b...

shell指令碼 批量建立和刪除使用者

一 編寫shell指令碼批量新增使用者 實現方法 判斷使用者是否存在,存在則返回錯誤提示,同時判斷使用者檔案是否存在,不存在則退出 1 建立新增使用者指令碼 root localhost vim useradd.sh bin bash if eq 0 then echo 你沒有輸入任何檔案 exit...