【发布时间】:2023-11-03 00:56:02
【问题描述】:
我有一个需要 SUDO 才能工作的 bash 脚本文件。
我可以使用 SUDO 从命令行运行它,但系统会提示我输入 SUDO 密码。
我想通过shell_exec 从php 运行这个脚本,但是如果我调用SUDO,它不像命令行那样可以提示我输入密码。有没有办法通过 sudo 调用传递 sudo 的密码?
我该怎么做?
【问题讨论】:
-
顺便说一句,我是在我自己的 ubunto 10.04 机器上使用 apache2 和 php5 运行这个
-
您应该考虑更改脚本的权限。例如,您可以将组更改为 apache 用户 (www-data),并授予组执行权限:
chgrp www-data script.sh && chmod g+x script.sh。 -
@John Isaacks:啊。看一下setuid位:en.wikipedia.org/wiki/Setuid
-
为什么
svn commit需要root? -
@John Isaacks :这(几乎)绝对是您的 svn 配置的问题。您不想开始分发对脚本的 root 访问权限来解决它,您最终会得到一个非常不安全的系统。花一些时间在 svn 文档中给自己,并可能“www-admin”访问 svn 存储库的各个部分。 (我自己会告诉你,但我已经好几年没有搞砸 svn 了)
标签: php bash sudo shellexecute