Guten Abend liebes CB-Board,
ich war überrascht einen eigenen Unix-Bereich hier vorzufinden, positiv versteht sich
Ich sollte vorweg sagen das ich berüchtigter Windows-er bin, auf Grund meiner Arbeit aber oft auf der Unix-Kommandozeile "rumturnen" muss (PHP-Entwicklung). Immer wieder bin ich begeistert, wie einfach dinge auf der Kommandozeile, komplett ohne GUI, auszuführen sind (sei es installation eines Webservers oder die Suche nach Dateien).
Derzeit habe ich folgendes Problem, in einem PHP-Skript rufe ich über exec(); Systembefehle auf. Es geht hierbei um ffmpeg, um Videos oder Sounds zu konvertieren. Wenn ich das Skript mit dem Exec-Befehl mit dem Benutzer root erstelle, dann funktioniert es ohne Probleme, mach ich das aber nun als einen user der über useradd hinzugefügt wurde, dann passiert nichts.
Folgende Möglichkeiten zur Fehlerbehebung:
- Statt des Alias des Programms brauch ich den absoluten Pfad des Programms
- Die Zugriffsrechte müssen für das Programm/den Ordner so gesetzt werden, dass der Besitzer des Skripts rechte dazu hat.
Meine Frage ist nun, wo ist etwas installiert das über apt-get install installiert wurde? Oder gibt es einen Befehl der das Alias "ffmpeg" zum "Ursprungsort" zurückführt, weil es ja wirklich nur ein Verweis ist?
Ausserdem muss ich dann die Rechte für das Programm/den Ordner ändern. Ich denke mal das muss für den Besitzer des Skriptes passieren?
Was haltet ihr von den Lösungsvorschlägen? Fallen euch andere Sachen noch ein? Bin über jeden tip dankbar.
P.S. Sudo/su ist für exec(); nicht verfügbar
ich war überrascht einen eigenen Unix-Bereich hier vorzufinden, positiv versteht sich

Ich sollte vorweg sagen das ich berüchtigter Windows-er bin, auf Grund meiner Arbeit aber oft auf der Unix-Kommandozeile "rumturnen" muss (PHP-Entwicklung). Immer wieder bin ich begeistert, wie einfach dinge auf der Kommandozeile, komplett ohne GUI, auszuführen sind (sei es installation eines Webservers oder die Suche nach Dateien).
Derzeit habe ich folgendes Problem, in einem PHP-Skript rufe ich über exec(); Systembefehle auf. Es geht hierbei um ffmpeg, um Videos oder Sounds zu konvertieren. Wenn ich das Skript mit dem Exec-Befehl mit dem Benutzer root erstelle, dann funktioniert es ohne Probleme, mach ich das aber nun als einen user der über useradd hinzugefügt wurde, dann passiert nichts.
Folgende Möglichkeiten zur Fehlerbehebung:
- Statt des Alias des Programms brauch ich den absoluten Pfad des Programms
- Die Zugriffsrechte müssen für das Programm/den Ordner so gesetzt werden, dass der Besitzer des Skripts rechte dazu hat.
Meine Frage ist nun, wo ist etwas installiert das über apt-get install installiert wurde? Oder gibt es einen Befehl der das Alias "ffmpeg" zum "Ursprungsort" zurückführt, weil es ja wirklich nur ein Verweis ist?
Ausserdem muss ich dann die Rechte für das Programm/den Ordner ändern. Ich denke mal das muss für den Besitzer des Skriptes passieren?
Was haltet ihr von den Lösungsvorschlägen? Fallen euch andere Sachen noch ein? Bin über jeden tip dankbar.
P.S. Sudo/su ist für exec(); nicht verfügbar