【问题标题】:Is it possible to set SUID of console_script created by Python setuptools?是否可以设置 Python setuptools 创建的 console_script 的 SUID?
【发布时间】:2014-06-16 11:40:09
【问题描述】:

我有一些使用 Python 的 setuptools 作为 console_scripts 安装的脚本。此脚本以 www-data 用户身份运行。但该脚本还需要访问只能由 root 用户读取的 SSL 证书。

我认为解决此问题的一个可能解决方案是在生成的 console_script 上设置 SUID。我可以使用 Makefile 手动执行此操作,但我一直在寻找 Python 生态系统中的任何打包工具已经提供的更多开箱即用的解决方案。

这可能吗?还是使用 Makefile 设置 SUID 是我最好的选择?

【问题讨论】:

    标签: python python-2.7 setuptools sysadmin


    【解决方案1】:

    更好的选择可能是自己编写包装脚本,在打包之前设置适当的 SUID 和 GUID 位,然后通过 scripts 设置而不是 console_scripts 入口点分发它。这为您省去了必须依赖make 的问题,但代价是需要额外的项目维护。

    另一种选择是安装后挂钩,它在已安装的控制台脚本上运行 os.chmod()os.fchmod(),但请记住,这不适用于 .egg 二进制发行版(或可能是 Python 3 .wheel .) This SO answer has details on that. 请注意,这意味着无论软件包实际安装到何处(包括本地环境),安装程序都必须以 root 身份运行。

    【讨论】:

      猜你喜欢
      • 2019-12-20
      • 1970-01-01
      • 2018-10-05
      • 1970-01-01
      • 1970-01-01
      • 2023-01-04
      • 2011-06-05
      相关资源
      最近更新 更多