0

在 AWS 上设置脚本以使用 libreoffice 将文档转换为 PDF 时,我无法获得 libreoffice,因为用户可能--convert-to pdf没有对该目录的写入权限。sudowsgi/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"

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

4

1 回答 1

1

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

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

你真的需要确定什么被拒绝以及为什么这很重要。如果错误消息不够清晰,您可以使用strace来观察进程系统调用和由此产生的错误。

于 2017-06-14T12:09:20.270 回答