systemaufruf und Problem mit Userrecht wwwrun

systemaufruf und Problem mit Userrecht wwwrun

am 20.06.2006 11:46:42 von Sascha Wostmann

Hallo,

ich habe ein kleines Perl-Script programmiert, das über ein
HTML-Formular aufgerufen wird und nach Dateien mit bestimmten Inhalten
suchen und diese ausgeben soll. Also mit Systemaufruf und "grep" Befehl
(unter Linux).

der grep-Befehl wird auch korrekt zusammengesetzt und funktioniert,
wenn ich ihn als root bzw. als User der Gruppe "lab" ausführe.

Das Problem ist, dass ich in einem Verzeichnis suche, das der Gruppe
"lab" gehört und die Dateien dort haben die Rechte rwxrwx---, also
niemand außerhalb der Gruppe "lab" darf dort lesen. Eine testweise
Suche im Verzeichnis /tmp funktioniert ebenfalls.

Ich habe nun den User "wwwrun" der Gruppe "lab" hinzugefügt, was aber
nicht geholfen hat. Welche Möglichkeiten hab ich noch, um im
"geschützten" Verzeichnis suchen zu können? Kann ich den grep-Befehl
unter einem anderen Benutzerkonto ausführen? Falls ja, wie geht das?

Das relevante Code-Stück lautet (vereinfacht) so:

$cmd =3D "/usr/bin/grep -ilr 'ABCDE' /daten/labor/*"
$ret =3D `$cmd`;

Vielen Dank für alle Tipps,
Sascha

Re: systemaufruf und Problem mit Userrecht wwwrun

am 24.06.2006 13:23:22 von Dirk Langer

Hallo Sascha,


Am Tue, 20 Jun 2006 02:46:42 -0700 schrieb Sascha Wostmann:

>
> der grep-Befehl wird auch korrekt zusammengesetzt und funktioniert,
> wenn ich ihn als root bzw. als User der Gruppe "lab" ausführe.
>
> Das Problem ist, dass ich in einem Verzeichnis suche, das der Gruppe
> "lab" gehört und die Dateien dort haben die Rechte rwxrwx---, also
> niemand außerhalb der Gruppe "lab" darf dort lesen. Eine testweise
> Suche im Verzeichnis /tmp funktioniert ebenfalls.
>


/tmp ist allgemein worldreadable, deshalb darf auch die
Gruppe wwwrun dort zugreifen.

> Ich habe nun den User "wwwrun" der Gruppe "lab" hinzugefügt, was aber
> nicht geholfen hat. Welche Möglichkeiten hab ich noch, um im
> "geschützten" Verzeichnis suchen zu können? Kann ich den grep-Befehl
> unter einem anderen Benutzerkonto ausführen? Falls ja, wie geht das?


Welcher Gruppe gehört den /daten? wwwrun ist sicherlich nicht in der
Gruppe für /daten, deshalb kann das Verzeichnis /daten/labor nicht
gelesen werden.


Grüße,
Dirk