我正在尝试创建一个甚至不能被"kill -9“杀死的进程,这在攻防模式CTF中很有用,我尝试了这个https://unix.stackexchange.com/questions/134888/simulate-an-unkillable-process-in-d-state,但它似乎在2.6.25 http://www.ibm.com/developerworks/library/l-task-killable/之后的内核中得到了修复,所以我想知道是否有任何方法可以在linux中创建一个无根特权的不可杀死的进程?谢谢。(第一次在stackoverflow中提问...我感觉有点紧张...)
发布于 2014-10-21 16:19:46
如果不可能,这种可能性不仅仅是一个bug,也是一个重要的漏洞。
发布于 2014-10-24 05:39:07
理论上,root可以杀死任何进程。所有其他进程只能由它们的所有者终止。如果您不希望某个进程可终止,请创建一个具有不可能密码的用户(一个没有人需要记住的密码),然后让root启动该进程,如下所示:(root不会被要求提供密码,但'su‘将更改为该用户)
su newacct ksh -c "/home/newacct/bin/theProcessToStart.ksh and its parameters"
su - newacct ksh -c "/home/newacct/bin/theProcessToStart.ksh and its parameters"破折号表示您应该执行该用户的.profile。这取决于你是否愿意。(您不必执行脚本,但我假设您在本例中很可能会执行脚本。)
这样,除了root没有人可以杀死这个进程,因为没有人可以成为该用户。
您可能想谷歌一下如何在/etc/shadow中创建一个无法解密的密码。很简单。
https://stackoverflow.com/questions/26480431
复制相似问题