J'essaie de configurer un script de déploiement en utilisant Capistrano À une étape cap deploy:setup
le script se connecte à mon serveur et essaie d'exécuter des commandes qui créent des répertoires. Ensuite, je vois une erreur: msudo: sorry, you must have a tty to run Sudo
Il existe une solution suggérée pour désactiver la configuration requise sur mon serveur. https://unix.stackexchange.com/a/49078/26271
Je me demande si c'est sûr de le faire?
Il y a un avantage de sécurité très limité à avoir requiretty
sur un serveur. Si du code non root est exploité (un PHP, par exemple), l'option requiretty
signifie que le code d'exploitation ne pourra pas mettre à niveau directement ses privilèges en exécutant Sudo
.
Il peut y avoir un autre moyen pour l'attaquant de se rooter, et bien sûr l'attaquant sera toujours en mesure de défigurer votre site, mais ne pas laisser l'attaquant gagner root signifie que d'autres services fonctionnant en tant qu'utilisateurs différents continueront de fonctionner normalement et l'attaquant a gagné '' t pouvoir effacer les journaux système. Si aucune de vos règles Sudo
ne fait quelque chose de dangereux comme la création d'un répertoire , ce n'est pas un problème.
De plus - et plus accablant pour requiretty
- aucun privilège n'est nécessaire pour créer un tty, par ex. avec attendez . Donc, vous pourriez aussi bien désactiver requiretty
: à lui seul, il n'offre pas d'avantage de sécurité. Il offre un léger avantage d'auditabilité lorsqu'il est exécuté par les utilisateurs (car les journaux donnent une meilleure idée de qui a appelé Sudo
et d'où ils viennent), mais pas lorsqu'ils sont exécutés à partir d'un travail d'arrière-plan.