我需要通过php的命令行运行cpanel脚本 exec 函数(其他cpanel选项不可行)。命令大致如下:
exec
uapi --user=[user] Email suspend_incoming email=[user]%40[domain].[tld]
我得到了以下错误:
setuids失败:尝试将uid设置为具有ruid的普通用户***
这反过来让我意识到,运行php的用户 不 有权执行命令 this thread 是的。 然而 正如您不应该将文件公然chmod为777一样,我不想在使用 sudo 从命令行或php的 执行官 脚本。
sudo
执行官
我该怎么办 只有 允许 uapi 此用户在使用时要执行的命令(也包括多个特定命令) 苏多 通过编辑 sudoers 文件?
uapi
苏多
sudoers
您可以让用户通过 sudoers 这样的文件(假设 www-data 是php进程所有者用户):
www-data
www-data ALL=(root) NOPASSWD: /path/to/uapi
获取到 uapi 通过命令文件 which uapi 是的。您应该仔细考虑此操作的安全影响。
which uapi
This UNIX stackexchange question 对sudo条目语法有很好的详细解释。