我有一个Python脚本,我想从inittab中推出,下面从inittab中执行的Python脚本不是作为根
S1所示:重生:/home/a_user/app/script.py
我相信initab以root用户身份执行,因此a_user的envrinment不可用
脚本需要知道in_文件设置和日志文件存储的“a_user”主目录。我想避免在脚本中对这些路径进行硬编码。是否有可能以a_user而不是根来执行这个脚本?如果可能的话,a_user HOME环境变量是否可用?
问候
我有一个Python脚本,我想从inittab中推出,下面从inittab中执行的Python脚本不是作为根
S1所示:重生:/home/a_user/app/script.py
我相信initab以root用户身份执行,因此a_user的envrinment不可用
脚本需要知道in_文件设置和日志文件存储的“a_user”主目录。我想避免在脚本中对这些路径进行硬编码。是否有可能以a_user而不是根来执行这个脚本?如果可能的话,a_user HOME环境变量是否可用?
问候
使用runuser
(或发行的等同放着清单)来运行它作为一个不同的用户。 runuser
确实改变了$HOME
,但其他类似的命令可能不会。
你可以复制蟒蛇二进制Python的SUID, 它CHOWN用户要运行脚本,和chownü+ S中的python-SUID
然后在脚本#!的/ usr/bin中/蟒蛇,SUID
谢谢,但我已经试过,它不工作,即su -a_user /path_to_script/scripy.py – mikip 2010-12-15 23:28:13
谢谢,我运行opensuse,它没有runuser命令,苏和sudo都不工作 – mikip 2010-12-15 23:35:52