# Script de démarrages multiples sous différents usr

**URL:** <https://www.debian-fr.org/t/script-de-demarrages-multiples-sous-differents-usr/76314>\
**Category:** Programmation\
**Created:** [Avril 3, 2018, 7:57 UTC](https://www.debian-fr.org/t/script-de-demarrages-multiples-sous-differents-usr/76314 "2018-04-03T07:57:13Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![AnthonKara](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/e9a140/32.png) [@AnthonKara](https://www.debian-fr.org/u/AnthonKara)\
**Post date:** [Avril 3, 2018, 7:57 UTC](https://www.debian-fr.org/t/script-de-demarrages-multiples-sous-differents-usr/76314/1 "2018-04-03T07:57:13Z")

</div>

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 !

---

<div class="post-metadata">

**Author:** ![debianhadic](https://www.debian-fr.org/user_avatar/www.debian-fr.org/debianhadic/32/3870_2.png) [@debianhadic](https://www.debian-fr.org/u/debianhadic)\
**Post date:** [Avril 3, 2018, 8:02 UTC](https://www.debian-fr.org/t/script-de-demarrages-multiples-sous-differents-usr/76314/2 "2018-04-03T08:02:20Z")

</div>

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 :

> **[creer\_un\_service\_avec\_systemd \[Wiki ubuntu-fr\]](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.  
[https://stackoverflow.com/questions/4780893/use-expect-in-bash-script-to-provide-password-to-ssh-command](https://stackoverflow.com/questions/4780893/use-expect-in-bash-script-to-provide-password-to-ssh-command)
