Выполнение скрипта Python из inittab не как root - PullRequest
1 голос
/ 16 декабря 2010

У меня есть скрипт на python, который я хотел бы запустить из inittab, показанный ниже

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

Я считаю, что initab выполняется какroot, поэтому среда a_user недоступна

Сценарий должен знать домашнюю директорию "a_user" для настроек ini-файлов и хранения файлов журнала.Я хотел бы избежать жесткого кодирования этих путей в моем скрипте.Возможно ли выполнить этот скрипт как a_user, а не как root?Если это возможно, будет ли доступна переменная окружения a_user HOME?

С уважением

Ответы [ 2 ]

1 голос
/ 16 декабря 2010

вы можете скопировать двоичный файл python в python-suid, выбрать его для пользователя, для которого вы хотите запускать скрипты, и выбрать u + s python-suid

, затем в скрипт #! / Usr / bin / python-suid

1 голос
/ 16 декабря 2010

Используйте runuser (или эквивалент дистрибутива), чтобы запустить его от имени другого пользователя. runuser действительно меняет $HOME, но другие аналогичные команды не могут.

...