欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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 ~]# 

我们发现之前批量创建的用户已经被删除。