Linux下完全删除用户
实验环境:Centos7虚拟机
首先创建一个普通用户gubeiqing。
[root@localhost ~]# useradd gubeiqing
[root@localhost ~]# passwd gubeiqing
Changing password for user gubeiqing.
New password:
BAD PASSWORD: The password is a palindrome
Retype new password:
passwd: all authentication tokens updated successfully.
这样就成功创建了一个普通用户,然后来删除这个用户。
[root@localhost ~]# userdel gubeiqing
[root@localhost ~]#
使用useradd命令就删除了,但是,,,问题来了,当我们再次创建gubeiqing这个用户时:
[root@localhost ~]# useradd gubeiqing
useradd: warning: the home directory already exists.
Not copying any file from skel directory into it.
Creating mailbox file: File exists
文件已存在,无法创建,这是为什么?因为在创建用户时会默认生成用户的家目录,密码文件,用户组(不指定用户组的情况下),以及邮箱文件,而使用userdel命令删除时仅仅是删除了这个用户,而这个用户的文件还在,那么就需要完全删除这些文件。我看了一下大概有四个地方需要处理。
- 在
/home目录下的文件 - 在
/etc/passwd下的用户 - 在
/etc/group下的用户组 - 在
/var/spool/mail下的邮箱文件
下面依次来删除这些文件。
1.删除/home目录下的文件
[root@localhost ~]# cd /home
[root@localhost home]# ls
gubeiqing
[root@localhost home]# rm -rf gubeiqing
[root@localhost home]# ls
[root@localhost home]#
2.删除/etc/passwd下的用户
我们可以查看一下这个文件。
[root@localhost ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:999:997:User for polkitd:/:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
chrony:x:998:996::/var/lib/chrony:/sbin/nologin
dockerroot:x:997:994:Docker User:/var/lib/docker:/sbin/nologin
gubeiqing:x:1000:1000::/home/gubeiqing:/bin/bash
在这里可以看到这个系统中的所有用户,可以看到最后一行就是刚刚创建的用户,那么使用vi编辑器删除最后一行的用户。
3.删除/etc/group下的用户组文件
先查看一下这个文件:
[root@localhost ~]# cat /etc/group
root:x:0:
bin:x:1:
daemon:x:2:
sys:x:3:
adm:x:4:
tty:x:5:
disk:x:6:
lp:x:7:
mem:x:8:
kmem:x:9:
wheel:x:10:
cdrom:x:11:
mail:x:12:postfix
man:x:15:
dialout:x:18:
floppy:x:19:
games:x:20:
tape:x:30:
video:x:39:
ftp:x:50:
lock:x:54:
audio:x:63:
nobody:x:99:
users:x:100:
utmp:x:22:
utempter:x:35:
ssh_keys:x:999:
input:x:998:
systemd-journal:x:190:
systemd-network:x:192:
dbus:x:81:
polkitd:x:997:
postdrop:x:90:
postfix:x:89:
sshd:x:74:
chrony:x:996:
cgred:x:995:
dockerroot:x:994:
gubeiqing:x:1000:
然后使用vi编辑器删除这个用户组。
4.删除/var/spool/mail下的邮箱文件
[root@localhost ~]# cd /var/spool/mail
[root@localhost mail]# ls
gubeiqing
[root@localhost mail]# rm -rf gubeiqing
[root@localhost mail]# ls
[root@localhost mail]#
删除完成,再来创建gubeiqing用户。
[root@localhost mail]# useradd gubeiqing
[root@localhost mail]# passwd gubeiqing
Changing password for user gubeiqing.
New password:
BAD PASSWORD: The password is a palindrome
Retype new password:
passwd: all authentication tokens updated successfully.
搞定!
除了这种方法还有一种完全删除的方法。
[root@localhost mail]# userdel -rf gubeiqing
[root@localhost mail]# useradd gubeiqing
[root@localhost mail]# passwd gubeiqing
Changing password for user gubeiqing.
New password:
BAD PASSWORD: The password is a palindrome
Retype new password:
passwd: all authentication tokens updated successfully.
使用这两种方法就可以完全删除用户。
Linux下完全删除用户的更多相关文章
- Linux创建修改删除用户和组
Linux 创建修改删除用户和组 介绍 在日常的维护过程中创建用户操作用的相对会多一些,但是在这个过程中涉及到的知识点就不单单就是useradd了,接下来就来详细了解账号管理的相关信息. 用户信息 先 ...
- Linux 下创建 sftp 用户并限定目录
Linux 下创建 sftp 用户并限定目录 1.创建 sftpUser 用户组 [root@XXX ~]# groupadd sftpUser 2.创建 sftpUser 用户并指定目录 [root ...
- Linux下vsftp匿名用户配置
Linux下vsftp匿名用户上传和下载的配置 配置要注意三部分,请一一仔细对照: 1.vsftpd.conf文件的配置(vi /etc/vsftpd/vsftpd.conf) #允许匿名用户登录FT ...
- (转)linux下文件删除的原理精华讲解(考试题答案系列)
linux下文件删除的原理精华讲解(考试题答案系列) 说明:本文为老男孩linux培训某节课前考试试题及答案分享博文内容的一部分,也是独立成题的,你可以点下面地址查看全部的内容信息.http://ol ...
- Linux 下 FTP虚拟用户的使用配置
Linux下FTP虚拟用户的使用配置 Linux的FTP服务支持3种用户: 1.匿名帐户 2.本地帐户 3.虚拟用户 为什么要使用虚拟用户: 匿名帐户可以很好的保证FTP服务器的安全性,但是,对匿名用 ...
- 【linux】lsof命令和{Linux下文件删除、句柄与空间释放问题}
导读: 一.用事实说话 二.关于LSOF命令的其它用法: 三.参考文档: 正文: lsof:Finding open files with lsof 作用:查看文件被哪些进程打开 一.用事实说 ...
- Linux——CentOS7添加/删除用户和用户组1
Linux--CentOS7添加/删除用户和用户组 2017.05.02 19:58 23012浏览 前言 今天又重新装了centos7突然有关用户和用户组有关的命令记不清了,所以记一下,也方便你 ...
- Linux下非root用户如何安装软件
Linux下非root用户如何安装软件 从windows转移到Linux的用户最开始总会有各种不适,因为这种不适最终放弃linux的不在少数.对于这类人只能说可惜,还没有领略到linux的美好就过早放 ...
- linux下查看当前用户的 三个命令
linux下查看当前用户的 三个命令 1,whoami; 2,id -un; 3,who -H 可以列出当前所有的 NAME (用户名) LINE (窗口列表) TIME(开启时间 ...
随机推荐
- 伪指令 ADR 与 LDR 的区别
指令简介: adr r0, _start 得到的是 _start 的当前执行位置,由 pc+offset 决定 ldr r0, =_start 得到的是绝对的地址,链接时决定 程序示例: ldr r0 ...
- SpringBoot系列——mail
前言 邮件是许多项目里都需要用到的功能,之前一直都是用JavaMail来发,现在Spring框架为使用JavaMailSender接口发送电子邮件提供了一个简单的抽象,Spring Boot为它提供了 ...
- 将Python脚本打包成可执行文件
Python是一个脚本语言,被解释器解释执行.它的发布方式: .py文件:对于开源项目或者源码没那么重要的,直接提供源码,需要使用者自行安装Python并且安装依赖的各种库.(Python官方的各种安 ...
- T-SQL:SQL语句处理顺序的坑(四)
首先看下面一条比较完成语句,都是比较常见的关键字. USE Temp; SELECT empid, YEAR(orderdate) AS orderyear, COUNT(*) AS numorder ...
- [angularjs] angularjs系列笔记(二)指令
重复HTML元素 ng-repeat指令可以重复HTML元素 <body> <div ng-app="Home" ng-controller="inde ...
- Spring-继承JdbcDaoSupport类后简化配置文件内容
正常情况下,我们在实现类中想要晕用模板类需要在配置文件中注入连接池,再将连接池注入给模板类,然后在实现类中得到. <!-- 配置C3P0连接池 --> <bean id = &quo ...
- Netty中的HttpObjectAggregator
Http的Get,POST Get请求包括两个部分: request line(包括method,request uri,protocol version)) header 基本样式: GET /?n ...
- javascript浅拷贝深拷贝详解
一.浅拷贝 浅拷贝在现实中最常见的表现在赋值上面,例如 <!DOCTYPE html> <html lang="en"> <head> < ...
- 7个拒绝使用TypeScript的借口
译者按: TypeScript 学习成本不高,项目切换成本不低,不过还是值得试一试的! 原文:7 bad excuses for not using TypeScript 译者: Fundebug 为 ...
- ecstore Fatal error: Class 'base_request' not found
1.首次安装已存在的ecstore报错: Fatal error: Class 'base_request' not found 报错效果图:(ecstore 乱码需要安装zend guard loa ...