O script de execução com o bit SUID funciona da mesma forma que o mesmo script com o sudo (ou root)?

1

Eu quero executar algum script com privilégios de root, mas pelo usuário do apache. Então adicionei SUID bit ao arquivo de script, mas isso não funciona como eu esperava.

O proprietário do arquivo de script é raiz.

rwsr-xr-x  1 root  root  2438 paź  8 12:10 script.sh

Quando executo isso do bash como root tudo funciona bem ... mas quando executo isso como usuário do apache (ele é iniciado pelo svn hook post-coomit script sendo executado como apache) estou recebendo algumas mensagens de permissão negada.

Isso é estranho para mim ou eu não entendi a mineração de SUID bit. (os usuários receberão as permissões do proprietário do arquivo, bem como o UID e o GID do proprietário ao executar um arquivo / programa / comando).

Então, qual é a diferença? Devo adicionar a linha apropriada ao / etc / sudoers que permitirá a execução desse script como root ...

    
por B14D3 08.10.2013 / 14:28

1 resposta

2

Na maioria dos ambientes, os scripts do bash (e a maioria dos outros) não podem ser executados como SUID (devido a problemas graves de segurança *).

Se você precisar apenas de alguns comandos executados como root, você pode editar /etc/sudoers para permitir que o processo do apache execute apenas os comandos específicos como root.

* link

    
por 08.10.2013 / 14:31