Definir scripts setuid não funciona a menos que o interpretador tenha uma versão setuid que invoca ao ver o script setuid. Você precisará de um wrapper setuid compilado para executar o script.
Além disso, observe que as alterações nos membros do grupo não são efetivadas até que o usuário seja relogado. Talvez você deva procurar configurar o modo de usuário ou o PolicyKit.