Eu quero poder reiniciar serviços de um script php. em execução na conta www-user.
Qual é a maneira preferida de executar essas ações?
Reconheço que posso colocar criar um arquivo com comandos que'd, lido por CRON, mas a solução coça.
O que estou pensando é em um serviço minúsculo, executando sob raiz, permitindo "métodos" predefinidos para que ações raiz arbitrárias não possam ser executadas.
Existe alguma ferramenta para isso?
linux
security
web-server
root
user65297
fonte
fonte
Respostas:
Você pode reinventar a roda, mas honestamente, eu uso o sudo sem senha para isso. Por exemplo, meu sistema de monitoramento precisa poder executar um comando para verificar o RAID do hardware. Isso requer privilégios de root, mas não quero executar todo o sistema de monitoramento como root; portanto, tenho
sudoers
uma linha que dize, em seguida, execute o comando
sudo /usr/lib/nagios/plugins/check_md_raid
como usuário de monitoramento, quando eu precisar verificar o RAID.Você poderia ter uma linha de sudoers que dizia
então faça o php executar
sudo /etc/rc.d/init.d/myservice restart
.fonte
Dê uma olhada no sudo : permite especificar ações que podem ser executadas como outro usuário (raiz no seu caso).
Você pode, por exemplo, adicionar ao seu
/etc/sudoers
(não edite o arquivo diretamentevisudo
)Veja
man sudo
para detalhes e sintaxe do arquivofonte
/etc/sudoers
arquivo. Se, de alguma forma, estiver sintaticamente incorreto, alterá-lo novamente é um pesadelo, porque você precisasudo
voltar, mas não pode, porque acabou de apagar o sudo. Você acaba tendo que usar um CD / DVD de resgate e montar a partição manualmente.shudders
? É verdade que o visudo faz verificações de sanidade, mas elas não ajudam depois que o dano é causado: P