Linux - Execute um daemon como 'nobody'

2

Eu tenho um daemon no diretório raiz que atualmente está sendo executado como root. No entanto, como esse programa pode ler o sistema de arquivos, isso é claramente um problema de segurança. Como posso executá-lo como ninguém para que eu possa resolver este problema?

Fazer "su-nobody -c / root / myscript" não funciona, retornando um erro de permissão negada. As únicas maneiras que eu posso contornar isso são:

  1. Chmod -R 777 / root, que não quero fazer no meu diretório raiz e também bagunça o ssh.
  2. Mova o script para / opt ou / var e faça (1)

Claro, pode haver uma solução fácil que estou perdendo. Eu posso chorar para ninguém, mas isso não resolve o problema também. Alguma idéia?

    
por Chris Bunch 07.02.2010 / 03:32

2 respostas

4

Você não quer fazer (1) - Deixar o diretório pessoal do root sozinho. (2) é sua melhor opção - Crie um novo diretório pertencente ao usuário e o daemon será executado como & faça qualquer E / S de disco que precise fazer nesse diretório.

Semi-relacionado, por favor não execute coisas como "nobody" - há uma velha piada que normalmente ninguém é o usuário mais privilegiado em um sistema * NIX porque todos os daemons são executados como " ninguém".

Se você está realmente preocupado com a segurança, não quer cair nessa armadilha. Vale a pena dar um minuto extra para criar um usuário dedicado para seus daemons com as restrições apropriadas: -)

    
por 07.02.2010 / 03:50
1

Bem, o script atualmente reside em / root. Supondo que seu usuário alvo não seja root, é claro que você receberá um erro de permissão quando esse usuário tentar ler / executar o script.

Qual é a sua oposição a mover o script para um diretório diferente? Se você fizer isso, então configure a propriedade / modo de arquivo corretamente, você não deve ter problemas.

    
por 07.02.2010 / 03:47