Não coloque o script no diretório pessoal do usuário. Em vez disso, coloque-o em um local fixo. Se o script precisar de alguns argumentos dependentes do usuário, faça o script ler isso de um arquivo - mas você nem precisa disso já que está copiando o script do /etc/skel
mesmo assim.
Se você permitir que um usuário execute um script em seu diretório pessoal com privilégios elevados, ele poderá substituir o script por outro script. Então, sua regra proposta seria equivalente do ponto de vista da segurança para
ALL ALL=(ALL) NOPASSWD: /etc/skel/createSambaShare.php
MANY ALL=(ALL) NOPASSWD: ALL
em que MANY
é qualquer usuário cujo diretório pessoal esteja em /home/DOMAIN
. (Ok, a menos que o diretório pessoal de um usuário seja de propriedade root, não seja gravável para o usuário, e o script não é gravável pelo usuário ou pertencente a ele. Mas isso seria bastante incomum.)
Além disso, recomendo não usar ALL
em uma especificação do usuário. Restringir a regra a um grupo.
%sambasharers ALL=(ALL) NOPASSWD: /usr/local/bin/createSambaShare.php