possibilidade de executar daemons com usuários com privilégios menores durante o bootup

3

Eu tenho um daemon DNS autoritativo na minha configuração de DNS de teste, que é responsável por fornecer o IP do host na melhor escolha.

Esse daemon / processo pode ser executado definindo alguns recursos usando setcap e, em seguida, um usuário de desenvolvimento pode iniciar ou parar isso sem se tornar o usuário root ou usando sudo .

Mas durante a inicialização da caixa, esse daemon / processo aparece novamente como executando como root em ps output.

Posso iniciar / parar este processo com recursos / privilégios mínimos de um usuário não-root? Então, no boot, eu também não quero ver isso sendo executado como usuário root.

Existe algum mecanismo nos scripts init para executar o processo dado com uid diferente de zero?

    
por Akaks 30.01.2014 / 13:21

3 respostas

3

Você pode usar su em seus scripts de inicialização:

su -s /bin/sh -c '/usr/bin/somedaemon' someuser

Outra solução seria iniciar o daemon usando o cron .

    
por 30.01.2014 / 13:28
2

Você deve apenas ligar:

sudo -u username your_daemon_name

no script de inicialização, como root executa o script de inicialização, ele não pedirá uma senha, mas executará os scripts como nome de usuário.

    
por 30.01.2014 / 13:29
1

Se você estiver usando systemd (a partir de hoje, apenas o Slackware, o Ubuntu e o Debian entre as distribuições Linux estão usando qualquer coisa else) você pode definir o usuário / grupo em seu arquivo .service (veja systemd.service (5), systemd.exec (5), e navegue pela copiosa documentação aqui ).

    
por 30.01.2014 / 13:43