Démarrer tomcat en tant qu'utilisateur simple dans un script shell
Bonjour,
J'ai d'une part un tomcat 7.0.55 sur un serveur openSuse.
J'y trouve dans /usr/share/tomcat un lien catalina.sh qui pointe vers /usr/sbin/dtomcat.
Dans ce fichier se trouve entre autre ceci :
Code:
1 2 3 4 5 6
| if [ "$1" = "start" ]; then
...
else
echo "Usage: $0 {start|start-security|stop|version}" |
Précision : il n'y a pas de startup.sh dans le répertoire de tomcat précité.
J'ai d'autre part une application (Ametys) qui, pour fonctionner correctement, implique qu'un user créé pour l'application (cms) lance tomcat. Avec l'application est fourni un script tomcat-bo qui contient entre autres, ceci :
Code:
su - $USER -s /bin/bash -c $CATALINA_HOME/bin/startup.sh
J'ai remplacé cette ligne par la suivante :
Code:
su - $USER -s /bin/bash -c $CATALINA_HOME/bin/catalina.sh start
Mais au lancement de ce script, j'obtiens systématiquement ceci :
Citation:
Starting tomcat-bo: Usage: /usr/share/tomcat/bin/catalina.sh {start|start-security|stop|version}
La dernière partie du message vient évidemment de catalina.sh -> dtomcat.
J'ai essayé en mettant start entre guillemet ou en remplaçant start par $1 puisque tomcat-bo se lance avec le paramètre start ou stop, comme catalina.sh. J'ai aussi essayé la syntaxe suivante mais avec toujours le même message et tomcat ne se lance pas.
Code:
exec su - $USER -s /bin/bash -c $CATALINA_HOME/bin/catalina.sh $1
Quelle serait la bonne syntaxe ?