Schrift
[thread]11988[/thread]

Module

Leser: 1


<< >> 7 Einträge, 1 Seite
Froschpopo
 2008-06-06 18:57
#110834 #110834
User since
2003-08-15
2653 Artikel
BenutzerIn
[default_avatar]
Kann es sein, dass Module die über eine startup.pl in den Startprozess eingebunden werden, nicht unter den ursprünglichen Eigentümerrechten ausgeführt werden?
Ich kann z.B. keine Dateien in einem Verzeichnis erstellen, dessen Eigentümer derselbe ist wie der des Scripts.
Das ganze funktioniert jedoch, wenn der Verzeichnisinhalt von der Gruppe www bearbeitet werden kann.
Deshalb meine Frage: Wird das Script durch das Einbinden in den Apacheprozess automatisch an wwwrun übertragen?
Taulmarill
 2008-06-06 19:12
#110835 #110835
User since
2004-02-19
1750 Artikel
BenutzerIn

user image
Der Apache bindet bei der Verwendung von mod_perl das Perlmodul als Apachemodul ein und führt den darin enthaltenen Code dann natürlich auch unter dem User aus, unter dem der Apache läuft.
$_=unpack"B*",~pack"H*",$_ and y&1|0& |#&&print"$_\n"for@.=qw BFA2F7C39139F45F78
0A28104594444504400 0A2F107D54447DE7800 0A2110453444450500 73CF1045138445F4800 0
F3EF2044E3D17DE 8A08A0451412411 F3CF207DF41C79E 820A20451412414 83E93C4513D17D2B
Linuxer
 2008-06-06 19:18
#110836 #110836
User since
2006-01-27
3890 Artikel
HausmeisterIn

user image
Skripte / Programme sollten mit den Rechten dessen laufen, der die Dinger aufgerufen hat.

Es wäre sehr fatal, wenn die Skripte mit den Rechten des Datei-Eigentümers laufen würden...

Wir das Skript vom Apache ausgeführt, gelten also die Rechte und Gruppenzugehörigkeiten des Users, unter dem der Apache läuft (s. Taulmarills Antwort).

meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen!
Taulmarill
 2008-06-06 20:58
#110837 #110837
User since
2004-02-19
1750 Artikel
BenutzerIn

user image
Quote
Es wäre sehr fatal, wenn die Skripte mit den Rechten des Datei-Eigentümers laufen würden...

Bei manchen Programmen ist das notwendig, z.b. für passwd, dafür gibt es dann setuid. Das sollte man aber bei Programmen, die direkt vom Webserver ausgeführt werden vermeiden. Bei geladenen Modulen über mod_perl geht das dann auch überhaupt gar nicht, da hier das Programm nicht vom OS ausgeführt sonder nur vom Apache geladen und in einem bereits gestarteten perl ausgeführt wird.
$_=unpack"B*",~pack"H*",$_ and y&1|0& |#&&print"$_\n"for@.=qw BFA2F7C39139F45F78
0A28104594444504400 0A2F107D54447DE7800 0A2110453444450500 73CF1045138445F4800 0
F3EF2044E3D17DE 8A08A0451412411 F3CF207DF41C79E 820A20451412414 83E93C4513D17D2B
Gast Gast
 2008-06-06 21:37
#110838 #110838
unter mod_perl läuft jedes Skript mit der Gruppe/user des Apachesprozessen, das ist der httpd.conf eingetragen.
Bspw.:
User daemon
Group daemon
Linuxer
 2008-06-06 21:42
#110839 #110839
User since
2006-01-27
3890 Artikel
HausmeisterIn

user image
Taulmarill+2008-06-06 18:58:57--
Quote
Es wäre sehr fatal, wenn die Skripte mit den Rechten des Datei-Eigentümers laufen würden...

Bei manchen Programmen ist das notwendig, z.b. für passwd, dafür gibt es dann setuid. Das sollte man aber bei Programmen, die direkt vom Webserver ausgeführt werden vermeiden. Bei geladenen Modulen über mod_perl geht das dann auch überhaupt gar nicht, da hier das Programm nicht vom OS ausgeführt sonder nur vom Apache geladen und in einem bereits gestarteten perl ausgeführt wird.


Lass mich die Aussage präzisieren:
Es wäre fatal, wenn *jedes* Programm *immer* mit den Rechten des Eigentümers laufen würde.
z.B.:

-rwxr-xr-x 1 root root 46584 Apr 25 00:09 /bin/rm


Dass es setuid gibt ist mir durchaus bewusst. Ich wollte in meinem Beitrag nicht anfangen, alle möglichen verschiedenen Spezialfälle aufzählen, wo wann was wie sinnvoll ist ;o)
meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen!
Taulmarill
 2008-06-07 13:13
#110845 #110845
User since
2004-02-19
1750 Artikel
BenutzerIn

user image
@Linuxer: dass dir das bekannt ist, davon bin ich mal ausgegangen. Ich hatte meinen Post als zusätzliche Information für den OP verfasst. Sollte keine Kritik an dir oder deinem Beitrag sein.
$_=unpack"B*",~pack"H*",$_ and y&1|0& |#&&print"$_\n"for@.=qw BFA2F7C39139F45F78
0A28104594444504400 0A2F107D54447DE7800 0A2110453444450500 73CF1045138445F4800 0
F3EF2044E3D17DE 8A08A0451412411 F3CF207DF41C79E 820A20451412414 83E93C4513D17D2B
<< >> 7 Einträge, 1 Seite



View all threads created 2008-06-06 18:57.