代码之家  ›  专栏  ›  技术社区  ›  John

编辑sudoers文件以仅允许特定命令

  •  -1
  • John  · 技术社区  · 6 年前

    我需要通过php的命令行运行cpanel脚本 exec 函数(其他cpanel选项不可行)。命令大致如下:

    uapi --user=[user] Email suspend_incoming email=[user]%40[domain].[tld]
    

    我得到了以下错误:

    setuids失败:尝试将uid设置为具有ruid的普通用户***

    这反过来让我意识到,运行php的用户 有权执行命令 this thread 是的。 然而 正如您不应该将文件公然chmod为777一样,我不想在使用 sudo 从命令行或php的 执行官 脚本。

    我该怎么办 只有 允许 uapi 此用户在使用时要执行的命令(也包括多个特定命令) 苏多 通过编辑 sudoers 文件?

    1 回复  |  直到 6 年前
        1
  •  -1
  •   Roger Gee    6 年前

    您可以让用户通过 sudoers 这样的文件(假设 www-data 是php进程所有者用户):

    www-data  ALL=(root) NOPASSWD: /path/to/uapi
    

    获取到 uapi 通过命令文件 which uapi 是的。您应该仔细考虑此操作的安全影响。

    This UNIX stackexchange question 对sudo条目语法有很好的详细解释。