从inittab执行python脚本而不是root用户

时间:2010-12-15 23:21:21

标签: python root

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

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

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

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

此致

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:1)

你可以将python二进制文件复制到python-suid, 向用户表示你想要运行脚本和chown u + s python-suid

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