Alors ai-je bien compris.
L'utilisateur "bla" veut exécuter une commande en tant qu'utilisateur "blub" ?
Alors quelque chose comme ça pourrait fonctionner :
sudo -u blub /path/to/command
Si vous avez besoin que cela soit fait sans qu'un mot de passe vous soit demandé, ajoutez la ligne suivante à /etc/sudoers (via la commande visudo) :
bla ALL=(blub) NOPASSWD: /path/to/command
vous pouvez travailler avec les autorisations de bit SUID et SGID (notez que cela peut être très dangereux)
donnez les permissions d'exécuter ce fichier à un groupe auquel appartient l'utilisateur auquel vous exécutez le script, et configurez via SUID toute personne qui exécute ce script pour l'exécuter en tant qu'utilisateur propriétaire du script
sudo chmod 4751 /path/to/my/file
sudo chgrp somegroup /path/to/my/file
Ensuite, il vous suffit d'exécuter le script en tant que userB qui est membre de un groupe et il sera exécuté avec comme userA et un groupe
ls -l /path/to/my/file
-rwsr-xr-- userA somegroup /path/to/my/file