我们都知道,Linux使用userdel命令能够删除用户和组,但有时会遇到删除不了的情况,如有bash占用或其他进程占用,会爆出以下错误:“userdel: user wsy is currently used by process 7778”。这个时候就需要用别的命令完成操作。
情况:
一般我们移除,都是先把用户从组中删除,再依次把组删掉,但是这里出现了问题:
root@ www.linuxidc.com :/home/crper# userdel -r test1
userdel: user test1 is currently used by process 1
root@ www.linuxidc.com :/home/crper# groupdel work1
groupdel:不能移除用户“test1”的主组
删除该用户就提醒用户当前在进程运行,删除他的组也报错。
解决方法:
可使用vipw命令:
root@ www.linuxidc.com :/home# vipw
找到之前创建的用户,用dd删除那行(记得保存:wq or :x)。
root@ www.linuxidc.com :/home# vipw -s
找到那个用户所属组,也dd干掉即可(记得保存:wq or :x)
使用vipw -s的原因只有一个,就是必须保证数据的一致性,不然可能会造成系统崩溃等问题。
命令小解:
root@ www.linuxidc.com :/home# vipw --help
用法:vipw [选项]
选项:
-g, --group 编辑 group 数据库
-h, --help 显示此帮助信息并推出
-p, --passwd 编辑 passwd 数据库
-q, --quiet 安静模式
-R, --root CHROOT_DIR chroot 到的目录
-s, --shadow 编辑 shadow 或 gshadow 数据库