Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]10311[/thread]

CGI und Rechte-Problem

Leser: 1


<< >> 8 Einträge, 1 Seite
Froschpopo
 2007-09-03 05:17
#99009 #99009
User since
2003-08-15
2653 Artikel
BenutzerIn
[default_avatar]
Folgendes Problem:

User "froschpopo" (Gruppe: www) besitzt ein Perlscript im CGI-BIN Verzeichnis.
Das Perlscript lässt sich ausführen, weigert sich aber (Permission denied) eine Datei in einem Ordner zu speichern der zur selben Gruppe gehört, sogar demselben Besitzer "froschpopo" gehört.

Kurz: Perlscript und zu modifizierende Datei gehören demselben User und in dieselbe Gruppe.

im errorlog steht schlicht nur:
"Permission denied at /srv/www/cgi-bin..."

Das Merkwürdige ist: Wenn die zu modifizierende Datei dem Benutzer "wwwrun" gehört, klappt es einwandfrei.

Was habe ich übersehen?
Ronnie
 2007-09-03 08:57
#99011 #99011
User since
2003-08-14
2022 Artikel
BenutzerIn
[default_avatar]
Der Webserver führt das Skript aus - unter dem User wwwrun. Immer, egal welche Eigentumsrechte die Datei hat (außer es ist so restriktiv das der httpd dies nicht kann). Die Lösung hast du ja bereits aufgezeigt. Es gibt noch eine andere von der aus Sicherheitsgründen abzuraten ist (sticky-bit).
moritz
 2007-09-03 11:59
#99018 #99018
User since
2007-05-11
923 Artikel
HausmeisterIn
[Homepage]
user image
Apache kann auch pro Virtual Host eine andere Benutzergruppe annehmen, dann gibt man der Gruppe Schreibrechte in dem gewünschten Ordner.

Das ist besonders praktisch, wenn noch andere User den selben Webserver benutzen.
Froschpopo
 2007-09-03 20:59
#99037 #99037
User since
2003-08-15
2653 Artikel
BenutzerIn
[default_avatar]
"froschpopo" ist der Benutzer der auch Schreibrechte für das ganze Verzeichnis hat.

- Ich betreibe für jeden virtuellen Host einen eigenen User.
- Der DocumentRoot ist gleichzeitig das Home-Verzeichnis des Users
- DocumentRoot wird somit auch als Standardverzeicnis für den FTP-Server genutzt

Das ist leider auch notwendig, da 4 Personen auf meinen Server zugreifen, jeder mit eigenen Zugangsdaten.

Komischerweise können diese Benutzerdateien aber nicht von CGI-Scripten modifziert werden (Permission denied). Auch nicht, wenn das CGI-Script demselben Nutzer angehört, wie die zu modifizierende Datei.
Und das ist der Punkt, wo ich nicht mehr weiter komme.

Warum kann ein CGI-Script keine Datei ändern, die demselben Nutzer und derselben Gruppe angehört?

Momentan muss ich jedesmal wenn jemand eine Datei hochgeladen hat, den Eigentümer in wwwrun ändern. Das hat zur Folge, dass der lokale Benutzer diese nicht mehr ändern/überschreiben kann.
pq
 2007-09-03 21:42
#99040 #99040
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
was hast du jetzt an ronnies und moritz' antwort nicht verstanden?
eigentumsrechte einer datei haben rein gar nichts (bis auf ausnahmen) mit den
rechten zu tun, unter denen der prozess läuft.
stell dir mal vor, jedes programm, dass root gehört, würde auch als root ausgeführt,
obwohl du es als normaler nutzer startest. sowas kann man mit dem setuid-bit
zwar arrangieren, das geht aber auf dem meisten systemen nur mit binaries.
probier doch mal moritz' vorschlag mit den gruppen aus.
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
Froschpopo
 2007-09-03 22:03
#99041 #99041
User since
2003-08-15
2653 Artikel
BenutzerIn
[default_avatar]
Das hatte ich aber doch vorher schon!

Der User "froschpopo" gehört der Gruppe "www" an, zu der auch wwwrun gehört.
Deshalb bin ich ja auch so durch den Wind!

froschpopo und wwwrun gehören beide zur selben Gruppe.
wwwrun gehört auch nur dieser einen Gruppe an, genauso wie froschpopo.
Deshalb verstehe ich es auch nicht!
Das Script wird von wwwrun ausgeführt, der aber zurselben Gruppe gehört wie froschpopo!
Das ist doch genau das, was moritz vorgeschlagen hat. Aber so war das vorher auch schon.
pq
 2007-09-03 23:50
#99052 #99052
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
und die dateien sind auch für die gruppe schreibbar, ja?
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
Froschpopo
 2007-09-03 23:53
#99053 #99053
User since
2003-08-15
2653 Artikel
BenutzerIn
[default_avatar]
Ah, das wars! Die Gruppe hatte kein Schreibrecht. Ich habe mich dadurch verunsichern lassen, weil wwwrun auch zu der Gruppe gehört. vorher hatte aber nur der Benutzer Schreibrecht, nicht aber die Gruppe!
Lieben Dank an pq :)
<< >> 8 Einträge, 1 Seite



View all threads created 2007-09-03 05:17.