你不能在登录的一个用户的情况下,还想要删除这个用户的,要删,直接登 root,或者用其它用户 su 再删。
-------------
好吧,一条一条分析给你
# root 用户添加 test
[root@192 run]# useradd test
# 切换到 test
[root@192 run]# su test
# 自然不能删除自己
[test@192 run]$ userdel -r test
bash: /usr/sbin/userdel: Permission denied
# 这个时候你的 test 用户亦然登录,你再 su,于是这
# 个 root 等于是嵌套在你的 test 用户会话里的,再
# 这个会话要删除 test 肯定要失败,所以这里要 exit
# 然后再 userdel
[test@192 run]$ su
Password:
# 这里的删除自然会失败。。。
[root@192 run]# userdel -r test
# 你在 test 用户的会话里,当然是 “用户 test 当前登入中”,这里说的够明白了吧
userdel: user test is currently logged in
\*nix 已经 40 多岁了,如果这里真有 bug,你肯定不会是第一个碰到的。。。
--------
你不能删除自己登录的账户,但是你可以删除其它的登录账户,只要在 root 下踢出其它用户的登录,然后删除即可(我想你大概问得是这个问题)。
--------
再次强调,你不能在登入到 test 的同时要求删除 test,再怎么提权也不行。
不过,假如 test 当前登录,然后,你重新开个终端登入 root,或者用除 test 之外的用户提权到 root,可以先踢出 test,然后删除 test,至于怎么踢出 test,一般就是 pkill -9 -t <tty>
,关键是找到 <tty>
,可以 w
或者 ps -ef | grep '^test'
。