Je souhaite créer une interface similaire à celle d'un routeur DSL, dans laquelle vous pouvez modifier les paramètres réseau du navigateur et redémarrer le routeur avec de nouveaux paramètres. Je souhaite modifier certains paramètres du navigateur et exécuter un service systemd via un bouton ou quelque chose de similaire. Par exemple, je souhaite soumettre un formulaire html au script CGI python, qui modifierait ensuite le fichier eth1.network et redémarrerait le service networkd. J'ai un périphérique Linux intégré sur lequel tourne le serveur Web Apache.
Le problème est le suivant: l'utilisateur Web Apache n'est pas autorisé à démarrer / arrêter les services système et, bien sûr, je ne souhaite pas permettre à www-data de démarrer / arrêter les services systemd.
Comment puis-je démarrer / arrêter les services Systemd à partir du navigateur sans accorder les privilèges root à l'utilisateur www-data. Je sais que le serveur Web ne devrait jamais être autorisé à accéder à des services ou à quelque chose en dehors du dossier racine 'var / www /' pour des raisons de sécurité.
Comment un routeur DSL accomplit-il cela? Une solution que j’ai trouvée est la suivante. Est-il prudent de permettre à www-data d’exécuter des commandes privilégiées, mais je ne sais pas comment puis-je l’implémenter. J'apprécierais n'importe quel guide ou exemple.