Как я могу запустить свой Тонкий сервер от имени другого пользователя в Ubuntu?
Я использую Ubuntu 10.04 VPS, на котором размещены 2 тонких процесса, работающих под Ruby On Rails за Nginx. Я управляю процессами Thin с помощью сценария запуска /etc/init.d как обычный пользователь. В моем Тонком конфигурационном файле я указываю:
user: www-data
group: www-data
И в моих тонких логах, когда я запускаю сервер, я вижу
>> Changing process privilege to www-data:www-data
Хороший знак. Проблема в том, когда я бегу ps -ef
мои тонкие процессы выполняются от имени пользователя, которого я вхожу как пользователь, которого я запускаю /etc/init.d/thin start
как.
Как запустить Thin-процессы как www-data: www-data при запуске /etc/init.d/thin start
как пользователь захожу на сервер как?
3 ответа
Вы можете использовать sudo для запуска команды как любой пользователь: группа со следующими параметрами:
sudo -u www-data -g www-data /etc/init.d/thin start
-u устанавливает пользователя www-data, а -g устанавливает группу www-данных
Если вы обычный пользователь, вы не сможете переключить владельца процесса на другого пользователя. Для этого вам нужно запустить скрипт /etc/init.d/thin от имени пользователя root.
Итак, вы можете сделать что-то вроде sudo /etc/init.d/thin start
,
Вы пытались сделать:
sudo -c www-data /etc/init.d/thin start
Но если ваш тонкий сервер прослушивает порт 80, вам потребуются права root.