Как я могу запустить свой Тонкий сервер от имени другого пользователя в 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.

Другие вопросы по тегам