2010-12-15 130 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