解决Linux 无法使用userdel 删除用户和组的问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决Linux 无法使用userdel 删除用户和组的问题相关的知识,希望对你有一定的参考价值。
解决Linux 无法使用userdel 删除用户和组的问题
- 系统环境
#cat /etc/redhat-release CentOS release 6.7 (Final) #getenforce Disabled
- 问题描述
我在root账户下,删除普通账户worker时,出现如下报错信息: #userdel -r worker userdel: user worker is currently used by process 1973 我把1973这个进程kill了,再次使用userdel -r worker命令 #userdel -r worker userdel: user worker is currently used by process 1986 也就是没有真正的kill掉
- 问题原因
worker账号上面运行着多个服务,有的进程可能是被root 在占用,我们可以通过ps -u worker|awk ‘{print $1}‘来查看该用户下的Pid号。 - 解决方法
(1)查看该用户的pid #ps -u worker|awk ‘{print $1}‘ 26778 26754 26735 26736 (2)编写脚本 说明:如果该用户下的pid很多,如我这次遇到了7千多个,一个一个kill是很耗费时间的,也很无聊。 脚本形式如下: #ps -u worker|awk ‘{print $1}‘ > 1.txt #cat rm.sh #!/bin/bash for i in $(cat 1.txt) do kill -9 $i done echo "ok" 执行脚本: #sh rm.sh
- 命令vipw
(1)#vipw –help
用法:vipw [选项]
选项:
-g, –group 编辑 group 数据库
-h, –help 显示此帮助信息并推出
-p, –passwd 编辑 passwd 数据库
-q, –quiet 安静模式
-R, –root CHROOT_DIR chroot 到的目录
-s, –shadow 编辑 shadow 或 gshadow 数据库
(2)使用vipw原因
保证数据的一致性,不然可能会造成系统崩溃或者一些莫名其妙的问题。
(3)具体操作
#vipw
找到你用户worker,用dd删除那行(记得保存:wq or :x)。。之后。
#vipw -s
找到用户worker所属组,用dd删除即可(记得保存:wq or :x)
(4)检查worker是否还存在
#grep worker /etc/passwd
以上是关于解决Linux 无法使用userdel 删除用户和组的问题的主要内容,如果未能解决你的问题,请参考以下文章