看如下问题:
创建用户test并删除,可成功
[root@192 run]# useradd test [root@192 run]# userdel -r test
创建用户test,登录用户test,切换用户到root,删除test,失败
[root@192 run]# useradd test [root@192 run]# su test [test@192 run]$ userdel -r test bash: /usr/sbin/userdel: Permission denied [test@192 run]$ su Password: [root@192 run]# userdel -r test userdel: user test is currently logged in
哪位大神知道这是因为什么?该如何解决?
多谢啦!
ps:多谢大家的回答,不过请大家切实自己做了实验,并且成功之后再慎重回答。
你不能在登录的一个用户的情况下,还想要删除这个用户的,要删,直接登 root,或者用其它用户 su 再删。
-------------
好吧,一条一条分析给你
\*nix 已经 40 多岁了,如果这里真有 bug,你肯定不会是第一个碰到的。。。
--------
你不能删除自己登录的账户,但是你可以删除其它的登录账户,只要在 root 下踢出其它用户的登录,然后删除即可(我想你大概问得是这个问题)。
--------
再次强调,你不能在登入到 test 的同时要求删除 test,再怎么提权也不行。
不过,假如 test 当前登录,然后,你重新开个终端登入 root,或者用除 test 之外的用户提权到 root,可以先踢出 test,然后删除 test,至于怎么踢出 test,一般就是
pkill -9 -t <tty>
,关键是找到<tty>
,可以w
或者ps -ef | grep '^test'
。