Maison > développement back-end > tutoriel php > Solution à l'autorisation insuffisante d'appeler des commandes Linux en PHP

Solution à l'autorisation insuffisante d'appeler des commandes Linux en PHP

怪我咯
Libérer: 2023-03-12 16:16:01
original
2376 Les gens l'ont consulté

Cet article présente principalement la solution au problème des autorisations insuffisantes pour appeler des commandes Linux en PHP. Cet article est un résumé de la résolution des problèmes du projet en modifiant le fichier de configuration sudo. , le problème de ne pas avoir l'autorisation d'exécuter des commandes est résolu. Pour toute question, les amis dans le besoin peuvent s'y référer

Expérience professionnelle : yourcmd est mon programme Linux, qui a des exigences d'autorisation très strictes lors de l'utilisation de php pour l'exécution. votre programme cmd

Système : CentOS 6.3

apache est l'utilisateur d'exécution de php

Utilisez la fonction exec

pour exécuter le program /usr/local/yourcmd/sbin/yourcmd

le code php est le suivant :

Le code est le suivant :

<?php
$conf_file = "/var/www/html/webroot/test.tmp";
$command = "sudo /usr/local/yourcmd/sbin/yourcmd -t -f {$conf_file}";
exec($command,$out);
print_r($out);
Copier après la connexion
Le résultat du test est qu'il n'y a aucune autorisation


Code comme suit :

Array ( [0] => sudo: no tty present and no askpass program specified )
Copier après la connexion

Étapes de la solution :

Le code est le suivant :

$ visudo
Copier après la connexion
1)

Commentaires Les lignes suivantes

le code est le suivant :

#Defaults    requiretty
Copier après la connexion
2) Ajoutez le


code suivant comme suit à la fin du fichier :

apache ALL=(ALL) NOPASSWD: ALL
Cmnd_Alias yourcmd = /usr/local/yourcmd/sbin/yourcmd
Copier après la connexion
Le résultat final du test


Le code est la suivante :

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal