Script de démarrages multiples sous différents usr

Bonjour à tous,

j’ai un problème que je n’arrive pas à résoudre:
je voudrais faire un script qui permettrai au démarrage de lancer tout un tas de programmes sous différents utilisateurs.

Malheureusement il reste bloqué systématiquement par un vilain message:
“WARNING: Can’t change user id unless you are root.”

Qu’il n’affiche qu’en script bash, lorsque je l’écris à la main en terminal c’est OK.
Je suis à bout de réflexion, qui aurait une idée pour que cela fonctionne ?

Voici le script:
#!/bin/bash
echo “********** Lancement du BOOTSCRIPT”

USR1

echo "*** Demarrage des éléments CMD1:"
su -l usr1 -c ’

CMD1-1

/dir/cmd1-1 -c /config.xml
disown
echo "* demarrage 1-1, OK"
sleep 1

CMD1-2

/dir/cmd1-2 &
disown
echo "* demarrage 1-2 , OK"
sleep 2

USR2

echo ">> Demarrage CMD2:"
su -l usr2-c ’

CMD2-1

/dir/cmd2-1/app start
disown
echo "* demarrage 2-1, OK"
sleep 2

CMD2-2

/dir/cmd2-2/app
disown
echo "* demarrage 2-2, OK"
sleep 1

echo “********** Fin du BOOTSCRIPT”

Merci d’avance pour votre aide précieuse !

Bonjour,
Puisque tu veux démarrer des programmes par différents utilisateurs au moment du démarrage alors tu es exactement dans le cas de la création de service :
https://doc.ubuntu-fr.org/creer_un_service_avec_systemd

Si tu veux pouvoir exécuter ton script à n’importe quel moment, il te faudra utiliser l’utilitaire expect, avec comme inconvénient de devoir mettre en clair les password dans le contenu du script.