Есть ли способ запустить приложение во время запуска под определенной учетной записью пользователя?
Например, я хотел бы запустить a_small_app
под учетной записью пользователя bob
(которая находится в группа bobsgroup
). Добавлять ли что-нибудь в /etc/init.d
?
Примечание: я не хочу, чтобы приложение запускалось после того, как пользователь войдет в систему , а скорее, когда компьютер запускается.
Похоже, что первый ответ больше не работает в Ubuntu 14.10.
Вот как я это делаю там (поместите в /etc/rc.local)
su <username> - -c "<command>"
Метод агностической системы запуска. Вы можете использовать это в /etc/rc.local
, скрипте /etc/init.d/...
, файле конфигурации Upstart и, возможно, в конфигурации systemd.
sudo -u oli /full/path/to/application
Эта команда будет запущена от имени пользователя root, а sudo
перейдет к пользователю «oli». Очевидно, смените пользователя и команду для ваших целей.
Я должен добавить, что есть по крайней мере дюжина способов сделать это ... Но по моему опыту все они в значительной степени идентичны в действительности. Вот пример выскочки с использованием его setuid
строфы:
start on (filesystem and stopped udevtrigger)
stop on runlevel [06]
setuid oli
respawn
exec /full/path/to/application