2010-12-15 138 views
1

我有一个Python脚本,我想从inittab中推出,下面从inittab中执行的Python脚本不是作为根

S1所示:重生:/home/a_user/app/script.py

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

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

问候

回答

1

使用runuser(或发行的等同放着清单)来运行它作为一个不同的用户。 runuser确实改变了$HOME,但其他类似的命令可能不会。

+0

谢谢,但我已经试过,它不工作,即su -a_user /path_to_script/scripy.py – mikip 2010-12-15 23:28:13

+0

谢谢,我运行opensuse,它没有runuser命令,苏和sudo都不工作 – mikip 2010-12-15 23:35:52

1

你可以复制蟒蛇二进制Python的SUID, 它CHOWN用户要运行脚本,和chownü+ S中的python-SUID

然后在脚本#!的/ usr/bin中/蟒蛇,SUID