关于用户的批量删除和删除不彻底
Linux在联系创建用户的时候,创建了多个用户时不免觉得杂乱无章,这时候就要用到了删除用户
删除用户我们可以使用userdel –r zhangsan(假设zhangsan是要删除的用户之一),但是如果我们在练习的时候创建了多个用户,这样一个个的删工作量大而且浪费时间,这时候我们就会思考怎样才能批量删除用户呢?
我们可以编写一个简单的shell来实现:
假设要删除的用户是 shangsan 、wangwu 、lisi、abc、kkk…
Shell如下:
[root@localhost ~]# vi userdel.sh
#/bin/bash
#filename:userdel.sh
userdel –r zhangsan
userdel –r wangwu
userdel –r lisi
userdel –r abc
userdel –r kkk
然后保存退出
执行此shell 然后[root@localhost ~]# ls /home 会发现这些账户都不存在了
同理我们也知道了如何批量删除用户组 依然是编写shell来完成
还有一个重要的问题就是,在我们创建新用户的时候,系统会在哪些目录下自动生成文件呢?
拿redhat或者centos举例:在通过useradd建立新用户zhangsan时候,系统会添加如下信息:/etc/passwd(用户信息),/etc/shadow(口令信息),/etc/group(用户组信息),/home/zhangsan(用户家目录),/var/spool/mail/zhangsan(用户邮箱目录)
当我们使用userdel删除用户的时候,如果不加-r 会出现什么样的情况呢? 不加-r的时候,删除命令依旧行,不过该用户的家目录/home/zhangsan和邮箱目录/var/spool/mail/zhangsan不会被删除,这就导致了用户在执行
[root@localhost ~]#userdelzhangsan然后又创建[root@localhost ~]#useradd zhangsan 报错 提示用户邮箱目录和用户家目录已经存在等 这就是说之前的删除操作没有完全删除该用户的所有信息
那么当我们出现了这种情况该怎样解决呢?换句话说就是该如何将用户的残留删除呢 ? 分析问题所在 是用户zhangsan的家目录和邮箱目录没有被删除,那么我们执行下面两条命令即可:
[root@localhost ~]#rm–rf /var/spool/mail/zhangsan
[root@localhost~]#rm –rf /home/zhangsan
这时候再查看用户信息 或者 重新创建zhangsan用户的时候,就不会出问题啦