Heim >Backend-Entwicklung >PHP-Tutorial >Lösung für unzureichende Berechtigungen zum Aufrufen von Linux-Befehlen in PHP

Lösung für unzureichende Berechtigungen zum Aufrufen von Linux-Befehlen in PHP

怪我咯
怪我咯Original
2017-07-04 14:21:502444Durchsuche

Dieser Artikel stellt hauptsächlich die Lösung des Problems unzureichender Berechtigungen zum Aufrufen von Linux-Befehlen in PHP vor. Dieser Artikel ist eine Zusammenfassung der Lösung von Projektproblemen durch Ändern der sudoKonfigurationsdatei , das Problem, keine Berechtigung zum Ausführen von Befehlen zu haben, ist gelöst. Bei Fragen können sich Freunde in Not darauf beziehen

Geschäftlicher Hintergrund: yourcmd ist mein Linux-Programm, für dessen Ausführung sehr strenge Berechtigungsanforderungen gelten yourcmd-Programm

System: CentOS 6.3

Apache ist der Ausführungsbenutzer von PHP

Verwenden Sie die exec-Funktion, um das auszuführen Programm /usr/local/yourcmd/sbin/yourcmd

PHP-Code lautet wie folgt:

Der Code lautet wie folgt:

<?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);

Das Testergebnis ist, dass keine Erlaubnis vorliegt

Code wie folgt:

Array ( [0] => sudo: no tty present and no askpass program specified )

Lösungsschritte:

Der Code lautet wie folgt:

$ visudo

1) Kommentare Die folgenden Zeilen

Code lauten wie folgt:

#Defaults    requiretty

2) Fügen Sie den folgenden

-Code wie folgt am Ende der Datei hinzu:

apache ALL=(ALL) NOPASSWD: ALL
Cmnd_Alias yourcmd = /usr/local/yourcmd/sbin/yourcmd

Das endgültige Testergebnis

Der Code lautet wie folgt:

Array ( [0] => Warning: memory is too small: 1044725760 [1] => test configure is ok )

Das obige ist der detaillierte Inhalt vonLösung für unzureichende Berechtigungen zum Aufrufen von Linux-Befehlen in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn