Redhat init script best practice

Je souhaite écrire un script de service d'init qui exécute le programme en tant qu'user particulier (et non root). Je vais ensuite chkconfig ce script et installer dans mon niveau d'exécution de production.

Je pourrais simplement mettre une command su dans le script, mais je me demandais s'il y avait une meilleure pratique de faire cela.

Merci Garry

3 Solutions collect form web for “Redhat init script best practice”

Vous pouvez simplement su . Vous n'aurez pas besoin du mot de passe car le script sera en cours d'exécution en tant que root.

Il y a aussi la command runuser .

Si vous utilisez /etc/init.d/functions vous pouvez utiliser la fonction daemon qui a une option pour spécifier l'user à exécuter.

Je serais personnellement opposé à ce dernier toutes choses égales par ailleurs.

Si vous écrivez un script init de style redhat, la fonction daemon possède une option --user .

 daemon --user=$runasuser --pidfile="$PIDFILE" $yourbinary $youroptions 

La meilleure pratique pourrait être d'utiliser sudo, et de modifier les files nécessaires pour s'assurer que cela se produise automatiquement sans être demandé un mot de passe. Si vous ignorez que le mot de passe soit dans le script, je pense que vous pouvez faire quelque chose comme

  echo password | sudo -S -u username command 

Qu'est-ce que tu fais? Peut-être y a-t-il une meilleure façon?

MODIFIER

Merci TCampbell

  • Fichiers étranges dans / tmp /
  • Mettre à niveau CentOS 5.x vers CentOS 6.x - conseils et techniques
  • problème face à l'installation de Oracle Database 11g sur rhel5 et SOA
  • Langues dans l'éditeur vim
  • Comment mettre à niveau PHP sur un système Plesk?
  • Trouver l'annuaire personnel de tous les users
  • VMware RHEL5 guest OS cache la memory de memory
  • Comment démarrer / arrêter proftpd
  • yum ne contient pas le package: libcurl
  • Comment réparer le problème de pool d'entropie avec RHEL 5.x
  • Comportement étrange de gettimeofday sur le server RHEL5
  • Les astuces du serveur de linux et windows, tels que ubuntu, centos, apache, nginx, debian et des sujets de rĂ©seau.