天天看點

使用 shell 腳本批量建立使用者

使用for語句批量添加與删除特定使用者:

使用 shell 腳本批量建立使用者
for語句的操作對象為使用者指定名稱的變量,并通過in關鍵字為該變量預先設定了一個取值清單,多個取值之間以空格進行分隔。為于do....done之間的指令序列稱為循環體。

[root@localhost /]# vim user.txt 
zhangsan
wangwu
zhaoliu
[root@localhost /]# vim useradd.sh 
#!/bin/bash
a=$(cat /sh/user.txt)
for b in $a
do
        useradd  $b
                echo "123456"  |  passwd --stdin  $b &> /dev/null
done           
[root@localhost /]# . useradd.sh 
[root@localhost /]# tail -5 /etc/passwd
.......     省略部分
zhangsan:x:1001:1001::/home/zhangsan:/bin/bash
wangwu:x:1002:1002::/home/wangwu:/bin/bash
zhaoliu:x:1003:1003::/home/zhaoliu:/bin/bash           
[root@localhost /]# vim sh/userdel.sh
#!/bin/bash
a=$(cat /sh/user.txt)
for b in $a
do
        userdel -r $b &> /dev/null
done
[root@localhost sh]# . userdel.sh 
[root@localhost sh]# tail -5 /etc/passwd
avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
lisi:x:1000:1000:lisi:/home/lisi:/bin/bash           
[root@localhost sh]# vim while.sh
#!/bin/bash
a="user"
i=1
while [ $i -le 5 ]
do
        useradd $a$i
        echo "123456" | passwd --stdin $a$i &> /dev/null
        let i++
done           
[root@localhost sh]# ./while.sh 
[root@localhost sh]# tail -5 /etc/passwd
user1:x:1001:1001::/home/user1:/bin/bash
user2:x:1002:1002::/home/user2:/bin/bash
user3:x:1003:1003::/home/user3:/bin/bash
user4:x:1004:1004::/home/user4:/bin/bash
user5:x:1005:1005::/home/user5:/bin/bash           
[root@localhost sh]# vim whiledel.sh
#!/bin/bash
a="user"
i=1
while [ $i -le 10 ]
do
        userdel -r $a$i &> /dev/null
        let i++
done           

繼續閱讀