Script au demarrage avec autre user

Fermé
Fitz - 31 mars 2017 à 08:59
mamiemando Messages postés 33077 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 18 avril 2024 - 31 mars 2017 à 09:40
Bonjour,

Je travail sur un serveur Debian et dois, quand celui-ci est coupé, exécuter ces commandes au redémarrage:

- su - user
- Si fichier présent, rm /home/fichier
- cd ~/app/bin | ./appctl start
- cd ~/app-prod/bin | ./appctl start

Du coup, je me suis fais un petit script et je souhaite le lancer au démarrage de ma machine:

vim /etc/init.d/reboot-app.sh

#!/bin/sh

#
### BEGIN INIT INFO
# Provides: lsb-demarrage
# Required-Start: $syslog $local_fs $remote_fs
# Required-Stop: $syslog $local_fs $remote_fs
# Default-Start: 
# Default-Stop: 
# Short-Description: restart avp
# Description: Restart avp
### END INIT INFO

### Script redemarrage service pour pro et preprod ###
### variables ###
PASS='password'

### 1 connexion user ###

su - user
echo $PASS

### 2 Suppression du fichier s'il existe ###

if [ -f "/home/fichier" ];
then
        sudo rm /home/fichier
        echo $PASS
fi

### 3 Restart de prod et preprod ###

cd ~/app/bin
./appactl start
cd ~/app-prod/bin
./appactl start



chmod +x ./reboot-app.sh
update-rc.d reboot-app.sh

mais ça ne fonctionne pas!!!

Le problème, je pense, est que les commandes doivent être exécutées avec un autre utilisateur pour fonctionner et c'est là que je bloque.

Pouvez-vous m'aider?

Cordialement.


PS: les infos (user, password, chemins et noms de fichiers) sont des exemples.
A voir également:

1 réponse

mamiemando Messages postés 33077 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 18 avril 2024 7 748
31 mars 2017 à 09:40
Bonjour,

La manière "debian" de faire consiste à déclarer un service, comme indiqué ici :
https://forums.commentcamarche.net/forum/affich-25769449-minecraft-serveur#1

Comme un service est invoqué par root, pas besoin de
su
. En outre on ne met jamais au grand jamais un mot de passe en clair dans un script ! Surtout le mot de passe root !

Bonne chance
0