Linux下批量创建或删除用户。
程序员文章站
2022-07-14 20:03:19
...
批量创建用户:
1.创建用户名称的列表文件users.txt,每个用户单独一行。
[root@linuxprobe ~]# vim users.txt
andy
barry
carl
duke
eric
ergou
接下来编写shell脚本useradd.sh。
[[email protected] ~]# vim useradd.sh
#!/bin/bush
read -p "Enter The Users Password : " PASSWD
for UNAME in `cat users.txt`
do
id $UNAME &> /dev/null
if [ $? -eq 0 ]
then
echo "Already exists"
else
useradd $UNAME &> /dev/null
echo "$PASSWD" | passwd --stdin $UNAME &> /dev/null
if [ $? -eq 0 ]
then
echo "$UNAME , Create success"
else
echo "$UNAME , Create failure"
fi
fi
done
执行脚本(脚本里的 /dell/null是一个被称为linux黑洞的文件,把输出信息重定向到这个文件等于删除数据,可以让用户的屏幕窗口保持简洁。)。
[[email protected] ~]# bash useradd.sh
[[email protected] ~]# bash Example.sh
Enter The Users Password : 123456
andy , Create success
barry , Create success
carl , Create success
duke , Create success
eric , Create success
ergou , Create success
查看是否创建成功。
[root@linuxprobe ~]# tail -6 /etc/passwd
andy:x:1001:1001::/home/andy:/bin/bash
barry:x:1002:1002::/home/barry:/bin/bash
carl:x:1003:1003::/home/carl:/bin/bash
duke:x:1004:1004::/home/duke:/bin/bash
eric:x:1005:1005::/home/eric:/bin/bash
ergou:x:1006:1006::/home/ergou:/bin/bash
批量创建用户完成。
批量删除用户。
先创建一个要删除的用户列表文件。
[root@linuxprobe ~]# vim userdel.txt
andy
barry
carl
duke
eric
ergou
编写一个删除用户的shell脚本。
[[email protected] ~]# vim deluser.sh
#!/bin/bash
for user in `cat userdel.txt`
do
userdel -r $user
echo "The user deletc success !"
done
"deluser.sh" 6L, 100C 6,1 All
然后执行脚本。
[root@linuxprobe ~]# bash deluser.sh
The user deletc success !
The user deletc success !
The user deletc success !
The user deletc success !
The user deletc success !
The user deletc success !
[root@linuxprobe ~]#
验证是否删除成功。
[root@linuxprobe ~]# tail -6 /etc/passwd
gdm:x:42:42::/var/lib/gdm:/sbin/nologin
gnome-initial-setup:x:993:991::/run/gnome-initial-setup/:/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
linuxprobe:x:1000:1000:linuxprobe:/home/linuxprobe:/bin/bash
[root@linuxprobe ~]#
我们发现之前批量创建的用户已经被删除。