É mais seguro listá-las conforme jofel sugere.
Se eu quisesse permitir que alguém usasse um subconjunto limitado das habilidades de um comando, eu não confiaria em curingas em uma linha sudoers para fazê-lo. Mesmo que a linguagem fosse mais expressiva do que globals de conchas, há casos demais para acompanhar.
A linha " service httpd *
" é relativamente segura porque (verifique isso :) service
tem apenas um sinalizador útil ( --status-all
) que não faz nada particularmente sensível, e ( verifique isso também :) /etc/init.d/httpd
aceitará apenas as linhas de comando que você deseja permitir.
Se houver tantas combinações que listá-las torna-se estranho, provavelmente você deve questionar o que está fazendo. Mas você pode dar a eles acesso a um script de ajuda cuidadosamente escrito que executa o comando para eles (parecido com /etc/init.d/http
). Mesmo nesse caso, você deve ser o mais preciso e explícito possível para listar exatamente quais comandos e opções são permitidos e não passar nenhuma entrada do usuário diretamente para o comando de destino.