(AWS) 在 sudoers 中为 user:wsgi 添加排除项的安全影响

(AWS) Security implications of adding an exclusion for user:wsgi in sudoers

在 AWS 上使用 libreoffice 设置脚本将文档转换为 PDF 时,如果没有 sudo,我无法将 libreoffice 转换为 --convert-to pdf,因为用户 wsgi 可能没有对 /opt/python/current/app 目录的写入权限。

所以我打算通过将以下行附加到 /etc/sudoers 文件来解决这个问题:

wsgi ALL = NOPASSWD: /opt/libreoffice5.3/program/soffice.bin

因为我想在部署时自动执行此操作,所以在我的 .ebextensions/01_packages.config 中我有

container_commands:
  01_edit_sudoers_only_once:
        command: "echo 'wsgi ALL = NOPASSWD: /opt/libreoffice5.3/program/soffice.bin' >> /etc/sudoers"
        test: "test ! -f .sudoers_edited"

  02_mark_sudoers_as_edited:
        command: "touch .sudoers_edited"

这是否存在潜在的安全问题?

为 Web 服务进程提供使用 sudo 调用事物的能力存在一个重大的潜在安全问题。

授予它写入包含代码的目录的权限也是不安全的。

您确实需要确定被拒绝的内容及其重要性。如果错误消息不够清楚,您可以使用 strace 来观察进程系统调用和产生的错误。