如何从 CGI 脚本执行特权操作



我想从shell CGI脚本重新启动Linux服务,这显然需要root权限。我有点没有我知道的选择:

  • 授予对我的 Web 服务器的 root 访问权限似乎非常危险
  • 在我的CGI脚本上使用setuid不起作用,人们说这通常是一个坏主意
  • 编写另一个服务并通过某种 IPC 从我的 CGI 与之通信 - 似乎是一个巨大的矫枉过正

做这样的事情的最佳实践是什么?

另一种选择是使用 sudoer .作为最佳实践,始终为Apache用户提供所需的最少权限。

使用 sudo visudo 编辑 sudoers 文件并添加一行

apache        ALL = NOPASSWD: /usr/sbin/service /usr/local/myapp * 

最新更新