Maison  >  Article  >  développement back-end  >  Comment puis-je exécuter des scripts Shell protégés par Sudo à partir de PHP sans invite de mot de passe ?

Comment puis-je exécuter des scripts Shell protégés par Sudo à partir de PHP sans invite de mot de passe ?

DDD
DDDoriginal
2024-11-19 22:10:031006parcourir

How Can I Run Sudo-Protected Shell Scripts from PHP Without a Password Prompt?

Exécuter des scripts Shell protégés par sudo à partir de PHP

Lorsqu'ils tentent d'exécuter des scripts shell nécessitant les privilèges sudo de PHP, les utilisateurs rencontrent souvent le problème d'être invités à saisir un mot de passe dans l'absence d'invite de ligne de commande comme celle utilisée pour exécuter sudo manuellement. Cet article relève ce défi en explorant une solution qui permet l'exécution de sudo sans mot de passe depuis PHP.

Exploiter le fichier sudoers

Pour résoudre ce problème, nous pouvons modifier le fichier sudoers à l'aide de l'éditeur visudo . Les étapes suivantes décrivent le processus :

sudo visudo

Une fois dans l'éditeur, ajoutez une règle au fichier qui permet à l'utilisateur du serveur Web d'exécuter le script sans demander de mot de passe. La règle doit prendre le format suivant :

www-data ALL=NOPASSWD: /path/to/script

Dans cette règle, "www-data" représente l'utilisateur du serveur Web, "ALL" permet à l'utilisateur d'exécuter n'importe quelle commande, "NOPASSWD" élimine le besoin de un mot de passe et "/path/to/script" spécifie le script qui peut être exécuté sans mot de passe.

En ajoutant cette règle au fichier sudoers, l'utilisateur du serveur Web obtient les autorisations nécessaires pour exécuter le script shell protégé par sudo à partir de PHP sans saisir de mot de passe.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn