2013-12-18 5 views
0

Имея некоторые проблемы с этим. У меня есть следующий сценарий:Как запустить программу при запуске не как root?

cd /home/program 
screen -S program -d -m ./program.sh 

В /etc/init.d и запускается при запуске.

Что работает нормально, но он запускает его как root, я не хочу, чтобы он выполнялся как root. Я попытался использовать su programs-user, а затем сделал экран, но он только открывает экран и ничего больше. Я думаю, что это вопрос с разрешениями, но я не совсем уверен, поскольку я не знаком с Linux.

Edit: это то, что я получил прямо сейчас
su username -c "screen -S screen_name -d -m bash -c 'cd /home/user && ./program'"
И это ничего не делать.

Редактировать 2: Я предполагаю, что у пользователя нет разрешения на запуск экрана, не знаю, как это разрешение.

Edit3: Хорошо, когда я войти в систему с именем пользователя это на самом деле работает, но когда я типа screen -ls как корень, я не вижу на экранах

ответ

0
#!/bin/bash 

screen -dmS screen_name 
screen -S screen_name-p 0 -X stuff $'su username\n' 
screen -S screen_name-p 0 -X stuff $'cd /home/username\n' 
screen -S screen_name-p 0 -X stuff $'./program\n' 
Смежные вопросы