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 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?
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?
Tags sudo chmod chown linux apache-2.2