Wie kann ich als bestimmter Benutzer Befehlszeilenanwendungen über PHP ausführen?

DDD
Freigeben: 2024-10-31 11:25:02
Original
662 Leute haben es durchsucht

How Can I Execute Command-Line Applications as a Specific User from PHP?

Befehlszeilenanwendungen aus PHP unter Verwendung eines bestimmten Benutzers ausführen

Um die Rhythmbox-Wiedergabe aus einem PHP-Skript zu steuern, das als www-Benutzer ausgeführt wird, ist dies möglich Entscheidend ist, dass die Anwendung als vorgesehener Benutzer und nicht als Standard-WWW-Benutzer ausgeführt wird. Eine effektive Lösung ist die Verwendung von sudo.

Durch die Nutzung von sudo kann das PHP-Skript den Befehl rhythmbox-client mit erhöhten Rechten aufrufen. Um jedoch sicherzustellen, dass nur bestimmte Befehle zulässig sind, empfiehlt es sich, die sudoers-Datei entsprechend zu konfigurieren. Zum Beispiel:

wwwuser ALL=/usr/bin/rhythmbox-client
Nach dem Login kopieren

Indem Sie den Sudo-Aufruf auf einen bestimmten Befehl beschränken, können Sie Ihre Umgebung sichern und verhindern, dass Apache willkürliche Befehle ausführt.

In Fällen, in denen rhythmbox-client möglicherweise Schwierigkeiten damit hat Identifizieren Sie die richtige zu steuernde Instanz. Erwägen Sie die Erstellung eines Bash-Skripts, um die entsprechende Umgebung einzurichten und den Befehl auszuführen. Das folgende Skript veranschaulicht diesen Ansatz:

#! /bin/bash
DBUS_ADDRESS=`grep -z DBUS_SESSION_BUS_ADDRESS /proc/*/environ 2> /dev/null| sed 's/DBUS/\nDBUS/g' | tail -n 1`
if [ "x$DBUS_ADDRESS" != "x" ]; then
        export $DBUS_ADDRESS
        /usr/bin/rhythmbox-client --pause
fi
Nach dem Login kopieren

Durch die Integration dieses Skripts in die PHP-Ausführung können Sie wwwuser die Möglichkeit geben, die Wiedergabe gezielt zu steuern und so die gewünschte Funktionalität des Pausierens von Musik beim Annehmen des Telefons und zu ermöglichen Fortsetzung beim Auflegen.

Das obige ist der detaillierte Inhalt vonWie kann ich als bestimmter Benutzer Befehlszeilenanwendungen über PHP ausführen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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