什么是通过PHP运行shell脚本(具有root权限)的最佳方法?

时间:2010-11-01 23:58:37

标签: php bash scripting permissions

我为服务器管理做了一个简单的bash脚本,我无法想象如何在php页面中安全地运行它:我想创建一个php admininstration页面,但我显然不想努力 - 代码root密码anyware。让我们举一个例子(当然这是一个foo脚本)

#!/bin/bash
touch /$1

如果运行它的用户在/。上没有写入权限,那么这个简单/愚蠢的脚本将无效 实际上脚本添加了apache virtualhosts,ftp用户等等...... 任何想法?
感谢

1 个答案:

答案 0 :(得分:3)

使用

sudo /path/to/executable/file

并设置sudo,以便它可以作为root用户为当前用户执行以下命令。

http://www.sudo.ws/sudo/sudoers.man.html - 这是您必须修改的sudoers手册,配置文件。

zerkms ALL = (ALL) NOPASSWD: /sbin/iptables -L FORWARD -n -v -x

这是我/etc/sudoers的例子。在这里,我允许将/sbin/iptables -L FORWARD -n -v -x命令作为root运行,而无需为用户zerkms询问密码。