A melhor coisa a fazer é escrever um script que faça o que você quer. Você pode fazer sanidade extensiva verificando lá, verifique se o usuário está fazendo apenas o que eles são permitidos, e assim por diante. E só permita que esse script seja executado a partir do sudo.
Alternativamente, você também pode permitir que eles sejam executados
o comando como você descreveu: /bin/bash -c "find /tmp -uid 10002
| grep joeuser | xargs rm -rf"
, ou mesmo mais simples find /tmp -uid 10002
-path \*joeuser\* -delete
.
Como já foi dito, usar xargs
desta maneira não é uma boa ideia. Você pode usar find -print0 | xargs -0
ou minha recomendação pessoal é: find /tmp -uid 10002 -path \*joeuser\* -depth -exec rm -rf {} +
. Se a sua versão de find
não for compatível com +
, você poderá usar \;
.