如何让 supervisord 无法被杀死
how to make supervisord unkillable
我在我的centos6上完成了supervisord的安装,效果也很好。但我发现我可以使用命令 "kill" 来杀死 supervisord 本身。我认为这是错误的,我认为 supervisord 是不可杀死的,否则它不能保证由它控制的其他服务的安全。那么我怎样才能让 supervisord 不可杀死。
这绝不可能以正确的方式完成,尽管您可以尝试一些方法,但我认为它会起作用。理论上只有 root 可以杀死所有进程,而所有其他进程总是可以被它们的所有者杀死。您实际上可以尝试的是创建一个具有牢不可破密码的用户,并让 root 用户使用 su
启动进程。 (不会要求 root 提供密码,但 'su' 将更改为该用户)
su newacct ksh -c "/home/newacct/bin/the_process_to_start.ksh and its parameters"
su - newacct ksh -c "/home/newacct/bin/the_process_to_start.ksh and its parameters"
破折号表示您应该执行该用户的 .profile。这取决于您是否愿意。 (您不必执行脚本,但我假设您可能会在此示例中执行。)
这样,除了 root 之外,没有人可以终止这个进程,因为没有人可以成为那个用户。
您可能想 google 如何在 /etc/shadow 中创建无法解密的密码。其实很简单。
我在我的centos6上完成了supervisord的安装,效果也很好。但我发现我可以使用命令 "kill" 来杀死 supervisord 本身。我认为这是错误的,我认为 supervisord 是不可杀死的,否则它不能保证由它控制的其他服务的安全。那么我怎样才能让 supervisord 不可杀死。
这绝不可能以正确的方式完成,尽管您可以尝试一些方法,但我认为它会起作用。理论上只有 root 可以杀死所有进程,而所有其他进程总是可以被它们的所有者杀死。您实际上可以尝试的是创建一个具有牢不可破密码的用户,并让 root 用户使用 su
启动进程。 (不会要求 root 提供密码,但 'su' 将更改为该用户)
su newacct ksh -c "/home/newacct/bin/the_process_to_start.ksh and its parameters"
su - newacct ksh -c "/home/newacct/bin/the_process_to_start.ksh and its parameters"
破折号表示您应该执行该用户的 .profile。这取决于您是否愿意。 (您不必执行脚本,但我假设您可能会在此示例中执行。)
这样,除了 root 之外,没有人可以终止这个进程,因为没有人可以成为那个用户。
您可能想 google 如何在 /etc/shadow 中创建无法解密的密码。其实很简单。