Существует ли способ для настройки сценария запуска для выполнения программы в пространстве пользователя без сохранения корневых привилегий, но для пользователя, который владеет каталогом / правами доступа может ли программа останавливаться / запускаться, оставаясь при запуске программы во время загрузки?
Проблема с использованием трюка su
с системными заданиями . Пользователь не может контролировать эту работу. Это все еще системное задание, несмотря на то, что оно выполняется от имени данного пользователя.
Правильное решение в 12.04 использует пользовательских заданий . Эти задания находятся у каждого пользователя $HOME/.init
и полностью контролируются этим пользователем. Они также не имеют полномочий root, поскольку задание пользователя всегда выполняется с учетными данными этого пользователя. В противном случае они действуют как системные задания, поэтому вы можете определить start on
разделы как системные задания.
По умолчанию для заданий Upstart не задана среда, кроме той, которая определена в задании. Вы можете обойти это, выполнив через sh -l
(exec /bin/sh -l -c "exec YOUR STUFF HERE"
).
Да, с помощью sudo:
sudo -u lordoftime program
-u + username запустить программу от имени этого пользователя.