{{tag>Bash Script Wrapper}}
Doublon avec [[scriptinitsysvroot]]
= Script init Wrapper
Lancement du serveur BCM sous un compte utilisateur (non-root) sous Debian.
=== 1) Création d’un nouvel utilisateur dédie au serveur BCM.
Dans notre exemple il s’agit de « bcm »
**TODO** Commande de création utilisateur système
=== 2) Création du script /etc/init.d/BMC
''/etc/init.d/BMC''
#! /bin/bash
# chkconfig: 35 85 15
# description: Startup script for BMC Client Management agent
### BEGIN INIT INFO
# Provides: BMC
# Required-Start: $network $local_fs $remote_fs $time $syslog
# Required-Stop: $network $local_fs $remote_fs $time $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Wrapper pour lancer les scripts sysVinit avec un compte utilisateur (non root)
# Description: Wrapper pour lancer les scripts sysVinit avec un compte utilisateur (non root)
### END INIT INFO
BCM_USER=bcm
BCM_INITSCRIPT=/etc/init.d/BMCClientManagementAgent
su - $BCM_USER -c "$BCM_INITSCRIPT" "$@"
Note : Les commentaires du scripts sont nécessaire.
Voir
* [[https://wiki.debian.org/LSBInitScripts]]
* [[http://linux.die.net/man/8/chkconfig]]
=== 3) Gestion des services
Placer les droits d’exec :
chmod +x /etc/init.d/BMC
Désactivation du démarrage de l’ancien script.
update-rc.d BMCClientManagementAgent remove
Activation du nouveau script
update-rc.d BMC defaults
On vérifie :
find /etc/rc* -iname "*bmc*"
=== 4) Fin
Arrêt process lancé en root
/etc/init.d/BMCClientManagementAgent stop
Ici l’utilisateur « bcm » devient le nouveau propriétaires des fichiers
chown bcm: /opt/bcm/ -R
On démarre BCM
/etc/init.d/BCM start
=== En cas de Pb
Refaire point 3 et 4.
Idem si application patch.
NB : il convient dans la supervision de s’assurer que le process tourne sous le bon compte.
Exemple :
pgrep -u bcm mtxagent && echo OK || echo NOK
-----------