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

怪我咯
Freigeben: 2023-03-12 16:16:01
Original
2360 Leute haben es durchsucht

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);
Nach dem Login kopieren

Das Testergebnis ist, dass keine Erlaubnis vorliegt

Code wie folgt:

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

Lösungsschritte:

Der Code lautet wie folgt:

$ visudo
Nach dem Login kopieren

1) Kommentare Die folgenden Zeilen

Code lauten wie folgt:

#Defaults    requiretty
Nach dem Login kopieren

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
Nach dem Login kopieren

Das endgültige Testergebnis

Der Code lautet wie folgt:

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

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage