使用userdel命令删除Linux用户
serdel是什么
userdel 是一个底层用于删除用户的工具。在 Debian 上,我们通常会使用 deluser 命令。userdel 会查询系统账户文件,例如 /etc/password 和 /etc/group。那么它会删除所有和用户名相关的条目。在我们删除它之前,用户名必须存在。
如何使用userdel
由于 userdel 会修改系统账户文件,那么我们需要root特权来运行它。不然我们会遇到一个报错信息“只有root权限才能执行这项操作”或者类似的信息。在我们得到特权后,我们可以通过输入 userdel 从你的控制台删除用户。下面是一个默认使用 userdel 的样例。
$ sudo userdel pasadena
或者
# userdel pasadena

正如你所见,我们不能没有root权限而删除用户 pasadena。当我们有权限时,系统不会给出错误信息,这意味着用户已经成功删除。
完全删除用户家目录
不带选项使用 userdel,只会删除用户。用户的家目录将仍会在/home目录下。

当我们进入/home目录时,我们仍旧可以看到ID 1002拥有 pasadena 文件夹。已创建的用户通常会有一个与用户名相同的组名。1002是 pasadena 用户名的 UID 和 pasadena 组名的 GID。
为了在删除用户时完全删除家目录,我们可以使用 -r 选项。这个选项同样会删除用户的邮件池,如果存在的话。

强制删除一个用户
userdel 提供了 -f 选项来强制删除用户。甚至当用户已经登入 Linux 系统时此选项仍旧生效。请看一下示例截图。

截图的上面显示用户 pasadena 已经登录了系统。它被标记的进程6218是 SSHD 进程。而当我们用“userdel -f pasadena”只会显示已经登录的要被删除的用户信息。命令本身已经成功。如果我们使用cat 命令查看/etc/passwd的内容,我们看不到到用户 pasadena 存在了。他的家目录还存在但是所有者只能显示为数字ID。
有一件事我们必须了解,带 -f 选项的 userdel 不会断开 该用户已有的 SSH 链接。因此,即使用户已经不存在,但实际上仍是登录状态,并且是活跃用户。但是当用户登出后不可再登录,因为用户已经被删除。
因此所以这个选项使用起来有些危险,因为它会使你的系统进入不一致的状态。
总结
userdel 是一个 Linux 系统内部删除用户的工具。userdel同样是deluser命令的后端,这是一个用perl编写的删除用户的脚本。如往常一样,你可以输入man userdel来查看关于userdel命令的更多细节。
使用userdel命令删除Linux用户的更多相关文章
- 在TFS 2013上,使用tf workspace命令删除其他用户的工作区
8月25日补充:如果想批量删除工作区,你可以使用第三方工具MSBuild Sidekick http://www.attrice.info/downloads;或者自己编写一个bat脚本,但是缺陷是需 ...
- Linux用户和组管理命令-用户删除userdel
删除用户 userdel 可删除Linux 用户 格式: userdel [OPTION]... Login 常见选项: -f, --force 强制 -r, --remove 删除用户家目录和邮箱 ...
- 二、Linux用户身份
0.介绍: 管理员UID为0:系统的管理员用户. 系统用户UID为1-999: Linux系统为了避免因某个服务程序出现漏洞而被黑客提权至整台服务器,默认服务程序会有独立的系统用户负责运行,进而有效控 ...
- linux学习(五)用户与组管理命令,以及用户信息文件解释
目录 (1)/etc/passwd文件 (2)/etc/shadow passwd命令 userdel命令 usermod命令 groupadd @(用户与组管理命令) linux是一个多用户多任务的 ...
- linux用户和组管理,/etc/passwd 、/etc/shadow和/etc/group 文件内容解释
与用户相关的系统配置文件主要有/etc/passwd 和/etc/shadow,其中/etc/shadow是用户资讯的加密文件,比如用户的密码口令的加密保存等: /etc/passwd 和/etc/s ...
- 用户管理 之 Linux 用户(User)查询篇
用户(User)和用户组(Group)的配置文件,是系统管理员最应该了解和掌握的系统基础文件之一,从另一方面来说,了解这些文件也是系统安全管理的重要组成部份:做为一个合格的系统管理员应该对用户和用户组 ...
- Linux 用户与用户组
1 Linux 用户与组 Linux是一个多用户多任务操作系统.多用户可以在同一时间内登录同一个系统执行各自不同的任务,而互不影响. 1.1 Linux下用户的角色分类 Linux用户的角色分为3 ...
- Linux入门基础 #6:Linux用户基础
本文出自 http://blog.csdn.net/shuangde800 ------------------------------------------------------------ ...
- Linux用户管理-中
添加用户组命令groupadd 提示:groupadd命令的使用非常简单,但在生产环境中使用的不多,因此,会简单应用即可. 与groupadd命令有关的文件有:/etc/group :用户组相关文件/ ...
随机推荐
- 第6章 System V消息队列
6.1 概述 System V消息队列在内核中是list存放的,头结点中有2个指针msg_first 和msg_last.其中每个节点包含:下个节点地址的指针.类型.长度.数据等. 6.2 函数 6. ...
- C++学习32 重载new和delete运算符
内存管理运算符 new.new[].delete 和 delete[] 也可以进行重载,其重载形式既可以是类的成员函数,也可以是全局函数.一般情况下,内建的内存管理运算符就够用了,只有在需要自己管理内 ...
- C++学习2
命名空间(Namespace)主要为了避免命名冲突,其关键字为namespace 在多人代码整合过程中常用到: namespace Li{ //小李的变量声明 ; } namespace Han{ / ...
- [Flex] IFrame系列 —— IFrame嵌入html点击其他组件后页面消失的问题
在flex建的web项目中,打开index.template.html,将param.wmode = "transparent";添加到以下位置 <script type=& ...
- POJ 1743 后缀数组不重叠最长重复子串
#include<stdio.h> #include<string.h> #include<algorithm> #define maxn 30000 using ...
- hbase的rowkey简单设计
问题: 需要查询某一用户某时间做了什么,PlatID和vopenid可以保证一个用户唯一,但同一时间同一用户可能日志有多条. 使用PlatID(int).vopenid(int)和dtTime(dat ...
- ubuntu英文乱码解决
ubuntu英文乱码: vi /etc/default/locale LANG="en_US.UTF-8" LANGUAGE="en_US:en" 配置更 ...
- 菜鸟-手把手教你把Acegi应用到实际项目中(1.1)
相信不少朋友们对于学习Acegi的过程是比较痛苦的,而且可能最初一个例子都没能真正运行起来.即使能运行起来,对于里面那么多的配置,更搞不清楚为什么要那么配,多配一个和少配一个究竟有什么区别? 最终头都 ...
- OC基础(25)
NSNumber NSValue NSDate NSFileManager *:first-child { margin-top: 0 !important; } body > *:last-c ...
- Gradle用户指南(章9:Groovy快速入门)
Gradle用户指南(章9:Groovy快速入门) 你可以使用groovy插件来构建groovy项目.这个插件继承了java插件的功能,且扩展了groovy编译.你的项目可以包含groovy代码.ja ...