Si c pour un script tu peut faire mieux:
si ton script est appele sans le bon parametre:
tu lance su user -c monscript parametre
et si il a le bon parametre et bien tu execute
la suite.
Comme ca 1 tu verifie le mdp et 2 tu execute le script dans l'environement utilisateur correspondant.