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 ?
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.
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!