Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Rückgabe shell_exec

8 views
Skip to first unread message

Carlos Naplos

unread,
Jan 11, 2021, 7:22:21 PM1/11/21
to
Hallo

Hier mein nächstes Problem:

System: xubuntu/apache2

discid.php
----------
<?php
$output = shell_exec('discid');
echo "Ausgabe $output Ende";
?>
----------

Ausgabe von "php discid.php" in bash:
Ausgabe 3A08AA05 5 150 38385 73007 105557 137767 2220 Ende

Ausgabe auf Webseite (apache2):
Ausgabe Ende

D.h. der CD-Header hier nicht in die Variable geschrieben.
Vermutlich wird discid nicht ausgeführt.

Kann das schon wieder ein Berechtigungsproblem sein?
Nachdem ich dem Benutzer "www-data" die Gruppe "cdrom" zugewiesen habe,
kann er die CD-Schublade öffnen und schließen.
Braucht er zum Lesen noch andere Berechtigungen?

Gruß Carlos

Carlos Naplos

unread,
Jan 11, 2021, 10:37:08 PM1/11/21
to


Am 12.01.2021 um 01:22 schrieb Carlos Naplos:
>
> Kann das schon wieder ein Berechtigungsproblem sein?
> Nachdem ich dem Benutzer "www-data" die Gruppe "cdrom" zugewiesen habe,
> kann er die CD-Schublade öffnen und schließen.
> Braucht er zum Lesen noch andere Berechtigungen?
>

Es ist tatsächlich ein Berechtigungsproblem.

Probehalber habe ich www-data meine Login-Gruppe hinzugefügt und es
funktioniert.

Ich möchte www-data jedoch nicht so viele Rechte gewähren.

Weiß jemand welche Berechtigung (Gruppe) notwendig ist, um den Header
einer Audio-CD auszulesen?

Karl Pflästerer

unread,
Jan 12, 2021, 12:43:34 PM1/12/21
to
Carlos Naplos <ca...@onlinehome.de> writes:

> Hallo
>
> Hier mein nächstes Problem:
>
> System: xubuntu/apache2
>
> discid.php
> ----------
> <?php
> $output = shell_exec('discid');
> echo "Ausgabe $output Ende";
> ?>
> ----------
>
> Ausgabe von "php discid.php" in bash:
> Ausgabe 3A08AA05 5 150 38385 73007 105557 137767 2220 Ende
>
> Ausgabe auf Webseite (apache2):
> Ausgabe Ende
>

Nebenbei: Nimm doch anstatt shell_exec exec(). Dann hast du den
Rückgabetext und Rückgabewert und siehst leichter, warum etwas nicht
geht

Heiko Kürschner

unread,
Jan 12, 2021, 4:00:17 PM1/12/21
to
Am Tue, 12 Jan 2021 04:37:04 +0100 schrieb Carlos Naplos:

> Am 12.01.2021 um 01:22 schrieb Carlos Naplos:
>>
>> Kann das schon wieder ein Berechtigungsproblem sein?
>> Nachdem ich dem Benutzer "www-data" die Gruppe "cdrom" zugewiesen habe,
>> kann er die CD-Schublade öffnen und schließen.
>> Braucht er zum Lesen noch andere Berechtigungen?
>>
>>
> Es ist tatsächlich ein Berechtigungsproblem.

Spontan hätte ich auf Pfadproblem getippt.

$output = shell_exec('discid');
besser
$output = shell_exec('/pfad/zu/discid');


>
> Probehalber habe ich www-data meine Login-Gruppe hinzugefügt und es
> funktioniert.
>
> Ich möchte www-data jedoch nicht so viele Rechte gewähren.

man sudoers


Grüße
Kürsche


Carlos Naplos

unread,
Jan 13, 2021, 11:04:38 AM1/13/21
to
Danke für die Tipps.
shell_exec oder exec, beides funktioniert jetzt, nachdem ich dem
Benutzer "www-data" eine _Gruppe mit fast allen Berechtigungen_
zugewiesen habe.

Nun suche ich die Gruppe, die _gerade genug_ Rechte hat, um den
CD-Header zu lesen.
www-data soll ja nicht fast alles dürfen!

Die Gruppe "cdrom" ist es nicht. (Die hatte www-data schon, damit er die
Laufwerksschublade öffnen und schließen kann.)

Gruß CN

Carlos Naplos

unread,
Jan 13, 2021, 1:11:52 PM1/13/21
to
Ich danke allen Helfern.


Hier die ultimative Lösung:

1. Tomaten von den Augen nehmen!

2. chmod a+x discid

3. Schämen!

Gruß CN

Arno Welzel

unread,
Jan 15, 2021, 8:18:10 AM1/15/21
to
Carlos Naplos:

> Hallo
>
> Hier mein nächstes Problem:
>
> System: xubuntu/apache2
>
> discid.php
> ----------
> <?php
> $output = shell_exec('discid');
> echo "Ausgabe $output Ende";
> ?>
> ----------
>
> Ausgabe von "php discid.php" in bash:
> Ausgabe 3A08AA05 5 150 38385 73007 105557 137767 2220 Ende
>
> Ausgabe auf Webseite (apache2):
> Ausgabe Ende
>
> D.h. der CD-Header hier nicht in die Variable geschrieben.
> Vermutlich wird discid nicht ausgeführt.
>
> Kann das schon wieder ein Berechtigungsproblem sein?

Oder ein Pfad-Problem. Ist discid für den User, mit dem das Script
läuft, ohne Pfadangabe aufrufbar? Hast Du schon mal probiert, den
kompletten Pfad anzugeben, statt nur 'discid'?



--
Arno Welzel
https://arnowelzel.de

Arno Welzel

unread,
Jan 15, 2021, 8:19:51 AM1/15/21
to
Carlos Naplos:

[...]
> Nun suche ich die Gruppe, die _gerade genug_ Rechte hat, um den
> CD-Header zu lesen.
> www-data soll ja nicht fast alles dürfen!

Evtl. "optical" oder "disc".

Carlos Naplos

unread,
Jan 15, 2021, 4:51:07 PM1/15/21
to
Wie ich oben im Thread ("Ultimative Lösung") geschrieben habe: Es war
ein Rechteproblem. www-data hatte kein Ausführungsrecht.

Danke für die Unterstützung.
CN
0 new messages