use*_*746 3 php redhat sudo apache-2.2
我正在从 php 进行系统调用,它是
`sudo /usr/bin/perl -pi -e 's/foo/bar/g' /tmp/newxml.xml`;
Run Code Online (Sandbox Code Playgroud)
在 php cli 中运行良好。但是不能通过浏览器在 php 中工作,因为 apache 没有所需的执行权限。如何使 apache 成为一个 sudoer 以允许仅运行 /usr/bin/perl ?
我知道必须编辑 /etc/sudoers 才能做到这一点,但我不确定如何完成。任何指针?
我正在运行 RHEL 5.5
小智 8
从安全的角度来看,我不认为给予 apache 用户 sudo 权限是明智的。您是否考虑过在组级别更改该文件的所有权,以便 apache 可以在不需要 sudo 的情况下对其进行写入?
小智 6
visudo
Run Code Online (Sandbox Code Playgroud)
添加
nobody ALL=(ALL)NOPASSWD:/usr/bin/perl
Run Code Online (Sandbox Code Playgroud)
用您的 apache 用户替换 nobody。
但你不应该那样做。授予 apache sudo 对 perl 的访问权限,本质上可以让任何人即时根到您的机器,并破坏您的 php 应用程序。
您应该检查 umask/tmp/newxml.xml并确保它是您的 apache 用户可写的。
| 归档时间: |
|
| 查看次数: |
7077 次 |
| 最近记录: |