【问题标题】:Executing a python script from inittab not as root从 inittab 执行 python 脚本而不是 root
【发布时间】:2010-12-16 07:33:50
【问题描述】:

我有一个 python 脚本,我想从 inittab 启动,如下所示

s1:respawn:/home/a_user/app/script.py

我相信 initab 以 root 身份执行,所以 a_user 的环境不可用

脚本需要知道用于 ini 文件设置和日志文件存储的“a_user”主目录。我想避免在我的脚本中对这些路径进行硬编码。是否可以以 a_user 而不是 root 身份执行此脚本?如果可能的话,a_user HOME 环境变量是否可用?

问候

【问题讨论】:

    标签: python root


    【解决方案1】:

    使用runuser(或发行版的等效项)以其他用户身份运行它。 runuser 确实改变了$HOME,但其他类似的命令可能不会。

    【讨论】:

    • 谢谢,但我试过了,它不起作用,即 su -a_user /path_to_script/scripy.py
    • 谢谢,我正在运行 opensuse,它没有 runuser 命令,su 和 sudo 都不起作用
    【解决方案2】:

    您可以将 python 二进制文件复制到 python-suid, chown 给你想运行脚本的用户,chown u+s python-suid

    然后在脚本 #!/usr/bin/python-suid

    【讨论】:

      猜你喜欢
      • 2015-07-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-09
      • 1970-01-01
      • 1970-01-01
      • 2016-06-05
      • 2014-04-29
      相关资源
      最近更新 更多