Je veux pouvoir redémarrer les services à partir d'un script php. fonctionnant sous le compte www-user.
Quelle est la manière préférée d'effectuer ces actions?
Je reconnais que je peux placer créer un fichier avec des commandes que'd, lu par CRON, mais la solution démange.
Ce à quoi je pense, c'est un petit service, fonctionnant sous root, permettant des "méthodes" prédéfinies pour que des actions root arbitraires ne puissent pas être exécutées.
Un outil pour cela?
linux
security
web-server
root
user65297
la source
la source
Réponses:
Vous pourriez réinventer la roue, mais honnêtement, j'utilise sudo sans mot de passe pour cela. Par exemple, mon système de surveillance doit pouvoir exécuter une commande pour vérifier le RAID matériel. Cela nécessite le privilège root, mais je ne veux pas exécuter tout le système de surveillance en tant que root, donc à la place, je l'ai dans
sudoers
une ligne qui ditpuis exécutez la commande en
sudo /usr/lib/nagios/plugins/check_md_raid
tant qu'utilisateur de surveillance, lorsque je dois vérifier le RAID.Vous pourriez avoir une ligne sudoers qui disait
puis exécutez php
sudo /etc/rc.d/init.d/myservice restart
.la source
Jetez un œil à sudo : il permet de spécifier des actions qui peuvent être effectuées en tant qu'autre utilisateur (root dans votre cas).
Vous pouvez par exemple ajouter à votre
/etc/sudoers
(ne pas modifier le fichier directement utiliservisudo
)Voir
man sudo
pour les détails et la syntaxe du fichierla source
/etc/sudoers
fichier. S'il est syntaxiquement incorrect, le modifier est un cauchemar b / c, vous devez ysudo
revenir, mais vous ne pouvez pas b / c vous venez d'effacer sudo. Vous finissez par devoir utiliser un CD / DVD de secours et monter la partition manuellement.shudders
? C'est vrai que visudo fait des vérifications de santé mentale, mais ils n'aident pas une fois les dommages causés: P