Você está correto em se preocupar com segurança. Você pode usar o bit setuid para criar um executável que seja executado como o proprietário do executável em vez do usuário que chamou o executável. Se o executável for de propriedade do root, ele será executado como root (certifique-se de não conceder privilégios de gravação a ninguém, exceto root). Use permissões de grupo se você quiser limitar quem pode executar o executável.
Use chmod o+s <path to script>
para ativar o bit setuid. ( chmod 4750 <path to script>
para permitir que o grupo de proprietários leia e execute um arquivo como o proprietário do arquivo, mas permitindo que outros usuários não tenham acesso).
Uma abordagem que não exija que o script seja executado como root seria configurar o proprietário do grupo e as permissões das pastas que você deseja verificar para que o usuário www possa ler o conteúdo da pasta. Usar o bit setgid nas pastas fará com que todos os arquivos e pastas criados dentro dessas pastas herdem a propriedade do grupo.
Use chmod g+s <path to folder>
para ativar o bit de setgid. Para definir sua pasta /var/www/
(e subpastas) para agrupar www-user
e permitir que os usuários desse grupo acessem todas as pastas usadas (como root):
chgrp -R www-user /var/www/
chmod -R g+srX /var/www/