J'ai un scénario comme celui-ci que je veux utiliser Capistrano pour déployer mon application Ruby on Rails:Capistrano + mince + nginx avec l'utilisateur pas autorisé à sudo howto?
- L'application Web est sur un cluster mince avec le fichier de configuration stockées dans/etc/mince. aussi un script d'initialisation est dans /etc/init.d/thin, donc il démarre automatiquement chaque fois que mon serveur a besoin d'un redémarrage
- De même nginx est exécuté de la même manière (en tant que démon de script init)
- Pour être sûr Si quelqu'un a piraté mon serveur web, je ne veux pas qu'ils fassent quelque chose de trop horrible, donc l'internaute n'est pas autorisé à sudo.
- mince et nginx les deux pistes que le webuser de faire respecter cette sécurité
Maintenant, quand je dois faire le déploiement, je besoin des fichiers à installer dans/home/webuser/railsapps/helloworld, et je besoin du script de démarrage redémarrer mon mince après. Je souhaite conserver tous les fichiers appartenant à l'utilisateur web, de sorte que l'utilisateur principal du script cap s'exécute en tant qu'utilisateur web. Maintenant, le problème survient lorsque je veux redémarrer le démon thin parce que webuser ne peut pas sudo.
Je pense qu'il est possible d'invoquer deux sessions distinctes - webuser pour le déploiement de fichiers, puis un sudoer spécial pour redémarrer le démon. Quelqu'un peut-il me donner un exemple de script à ce sujet?
En fait, cela semble une bonne solution de contournement :) nous verrons s'il y a quelque chose d'encore plus puissant :) –