我有一個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