Como posso executar meu servidor Thin como um usuário diferente no Ubuntu?

1

Eu corro um Ubuntu 10.04 VPS que hospeda 2 processos finos rodando Ruby On Rails atrás do Nginx. Eu controlo os processos Thin através de um script de inicialização /etc/init.d como um usuário comum. No meu arquivo de configuração fino eu especifico:

user: www-data
group: www-data

E nos meus logs Thin, quando eu inicio o servidor, vejo

>> Changing process privilege to www-data:www-data

Bom sinal. O problema é quando eu executo ps -ef meus processos Finos estão sendo executados como o usuário que eu efetuo login - o usuário eu executo /etc/init.d/thin start as.

Como posso começar os processos Thin iniciados como www-data: www-data quando executo /etc/init.d/thin start como o usuário que eu logar no servidor como?

    
por Chris 07.03.2012 / 14:50

3 respostas

1

Você pode usar o sudo para executar um comando como qualquer usuário: group com estas opções:

sudo -u www-data -g www-data /etc/init.d/thin start

-u define o usuário www-data e -g configura o grupo www-data

    
por 08.03.2012 / 21:51
0

Você tentou fazer uma:

sudo -c www-data /etc/init.d/thin start

Mas se o seu servidor Thin estiver escutando a porta 80, você precisará dos privilégios de root.

    
por 07.03.2012 / 15:15
0

Se você for um usuário comum, não poderá mudar a propriedade do processo para outro usuário. Você precisará executar o script /etc/init.d/thin como root para fazer isso.

Então, você pode fazer algo como sudo /etc/init.d/thin start .

    
por 07.03.2012 / 15:39

Tags