Quindi ho capito bene.
L'utente "bla" vuole eseguire un comando come Utente "blub" ?
Allora qualcosa del genere potrebbe funzionare:
sudo -u blub /path/to/command
Se hai bisogno che ciò avvenga senza che ti venga chiesta una password, aggiungi la seguente riga a /etc/sudoers (tramite il comando visudo):
bla ALL=(blub) NOPASSWD: /path/to/command
puoi lavorare con i permessi di bit SUID e SGID (nota che questo può essere molto pericoloso)
dai i permessi per eseguire questo file a un gruppo a cui appartiene l'utente a cui stai eseguendo lo script e imposta tramite SUID chiunque esegua questo script per eseguirlo come utente che possiede lo script
sudo chmod 4751 /path/to/my/file
sudo chgrp somegroup /path/to/my/file
Quindi, devi solo eseguire lo script come userB chi è membro di un gruppo e verrà eseguito con as userA e un gruppo
ls -l /path/to/my/file
-rwsr-xr-- userA somegroup /path/to/my/file