Limitar sudo a apenas um diretório e seus subdiretórios por arquivo sudoers

3

Por isso, gostaria de limitar o Apache para alterar apenas as permissões em uma determinada pasta e em todos os seus subdiretórios, então é isso que eu tenho no meu arquivo sudoers

apache ALL= (ALL) NOPASSWD: /bin/chmod -R [g+ws] /var/www/sites/[a-z]+

Mas isso parece não funcionar. Tenho certeza que eu poderia fazê-lo funcionar, removendo a restrição da subpasta, mas isso parece perigoso, pois daria a um hacker acesso ilimitado em potencial.

Então, existe uma maneira de limitar o apache a apenas alterar arquivos e pastas dentro da pasta "sites" ou estou preso dando acesso ilimitado com chmod / chown?

Há grandes falhas de segurança usando essa abordagem?

    
por SeanDowney 17.06.2011 / 21:55

2 respostas

3

Provavelmente é melhor fazer do comando chmod um script shell para ser executado apenas pelo root e então permitir que o comando seja executado no sudo.

    
por 17.06.2011 / 22:01
2

Ok, So apparently this does not use full regular expressions which I was expecting, a regular star did the trick:

apache ALL= (ALL) NOPASSWD: /bin/chmod -R [go]+ws /var/www/sites/*

Isso é muito perigoso. Isso abrirá a vulnerabilidade no seu servidor. O que acontece se um usuário conseguir executar chmod -Rg + w / var / www / sites /../../../../ etc / shadow?

    
por 17.06.2011 / 22:03