Bei einem Unix-Server kann/muss man ja die Zugriffsrechte für
CGI-Scripts und den anderen Dateien festlegen.
Und da habe ich eine Frage zu den drei Typen (Owner, Group, Public):
- wer/was ist mit Public gemeint?
Die Surfer, die auf mein CGI-Verzeichnis zugreifen? (Aber wieso kann
ein CGI-Script eine mit 660 ge-chmodete Datei nicht lesen?)
- was gehört zu Group?
- was zu owner?
Welche Zugriffsrechte haben die CGI-Scripts(owner, group oder public)?
Ich möchte nämlich folgendes realisieren:
NUR CGI-Scripts (und ich) können eine DAT-Datei lesen und beschreiben,
den anderen wird der Lese/Schreib-Zugriff verwehrt (konkret: es darf
niemand per Browser die Passwort-Liste angucken, aber das Script muss
sie prüfen können!)
Thx a lot,
Beat
> Bei einem Unix-Server kann/muss man ja die Zugriffsrechte für
> CGI-Scripts und den anderen Dateien festlegen.
>
> Und da habe ich eine Frage zu den drei Typen (Owner, Group, Public):
>
> - wer/was ist mit Public gemeint?
> Die Surfer, die auf mein CGI-Verzeichnis zugreifen? (Aber wieso kann
> ein CGI-Script eine mit 660 ge-chmodete Datei nicht lesen?)
Public heisst genau gesagt der Rest, also alle Benutzer, die nicht als
Eigentuemer oder in der Gruppe enthalten sind.
Es kommt darauf an, unter welchem Benutzer der Server laeuft. Bei mir
laeuft der Server z.B. unter dem USer wwwrun.
Wenn dein CGI-Skript zum Beispiel dir gehoert (nicht wwwrun) und der
gruppe users, und dein WWW-Server unter dem user wwwrun laeuft, dann
kann das CGI-Skript nicht ausgefiehrt werden, da wwwrun dann zu public
gehoert und bei 660 keinerlei Rechte besitzt.
Ausserdem benoetigen CGI-Skiripte eine ausfuehrerlaubnis - also 7 oder
5!
> - was gehört zu Group?
> - was zu owner?
?????
> Welche Zugriffsrechte haben die CGI-Scripts(owner, group oder public)?
Je nachdem unter welchem user/grupper der Server laeuft.
> Ich möchte nämlich folgendes realisieren:
> NUR CGI-Scripts (und ich) können eine DAT-Datei lesen und beschreiben,
> den anderen wird der Lese/Schreib-Zugriff verwehrt (konkret: es darf
> niemand per Browser die Passwort-Liste angucken, aber das Script muss
> sie prüfen können!)
??
Wenn CGI-Skripte Dateien lesen und schreiben koennen, dann kann man
diese Dateien auch per Browser einsehen.
--
Andreas Wollny
>> den anderen wird der Lese/Schreib-Zugriff verwehrt (konkret: es darf
>> niemand per Browser die Passwort-Liste angucken, aber das Script muss
>> sie prüfen können!)
> ??
> Wenn CGI-Skripte Dateien lesen und schreiben koennen, dann kann man
> diese Dateien auch per Browser einsehen.
Ein sinnvoll konfigurierbarer Server kann diese Dateien vom "Ausliefern"
ausschließen.
Moritz.
--
All opinions expressed above are my own and not approved by my employer.
Herauszufinden durch
#! /usr/local/bin/perl
sub flush {
local($old) = select(shift);
$| = 1;
print "";
$| = 0;
select($old);
}
print "Content-type: text/html","\n\n";
print "<H1>ENV:</H1>\n";
foreach $var (sort keys %ENV)
{
print "$var = $ENV{$var}<BR>\n";
}
print "<HR>\n";
print "<H1>Diverses:</H1>\n";
print "/usr/bin/uname -a : "; &flush(STDOUT); system("/usr/bin/uname", "-a");
print "<BR>\n";
print "/usr/bin/id -a : "; &flush(STDOUT); system("/usr/bin/id", "-a");
print "<BR>\n";
print "<BR><HR>\n";
exit(0);
> > Ich möchte nämlich folgendes realisieren:
> > NUR CGI-Scripts (und ich) können eine DAT-Datei lesen und beschreiben,
> > den anderen wird der Lese/Schreib-Zugriff verwehrt (konkret: es darf
> > niemand per Browser die Passwort-Liste angucken, aber das Script muss
> > sie prüfen können!)
> Wenn CGI-Skripte Dateien lesen und schreiben koennen, dann kann man
> diese Dateien auch per Browser einsehen.
Nein, das Script hat mehr Moeglichkeiten.
Die Passwortdatei kann im Filesystem irgendwo liegen, also auch ausserhalb
des Bereiches, wo der http zugreifen kann. z.b. /home/beat/webpasswd/passwd
webpasswd bekommt 711. Damit kann kein user das Directory auslesen,
um festzustellen, dass die Datei passwd heisst. passwd selbst muss 644
haben, jedenfalls, wenn beat und der http user nicht derselben Gruppe
angehoeren.
Lesen kann die Datei aber jeder eingeloggte user, der weiss wie sie heisst.
Andy
--
<\
o __o \__ o HPV
___o /I -\<, |o \ --\)/\ 2fast4u
___/\ /\___./ \_____...O/ O____.....`()-'-O--o-/_____________
mailto:Andreas...@bk.sel.de
Du musst die DAT-Datei ja nicht in den Zugriffsbereich des Webservers
legen... (bei Apache: unterhalb der DocumentRoot oder in einem aliased
directory)
cu,
Martin
--
| Martin Vorlaender | VMS & WNT programmer
Cetero censeo | work: m...@pdv-systeme.de
Redmondem esse delendam. | http://www.pdv-systeme.de/users/martinv/
| home: mar...@radiogaga.harz.de
> > Ich möchte nämlich folgendes realisieren:
> > NUR CGI-Scripts (und ich) können eine DAT-Datei lesen und beschreiben,
> > den anderen wird der Lese/Schreib-Zugriff verwehrt (konkret: es darf
> > niemand per Browser die Passwort-Liste angucken, aber das Script muss
> > sie prüfen können!)
> Wenn CGI-Skripte Dateien lesen und schreiben koennen, dann kann man
> diese Dateien auch per Browser einsehen.
Eigentlich muesste es doch auch gehen wenn man seine Eigentumsrechte aufgibt
und mit chown wwwrun zum Eigentuemer macht.
Thomas
--
Thomas Zimmermann, http://www.uni-passau.de/~zimmerth/
Cats: http://www.uni-passau.de/~zimmerth/mcp/
Comics: http://www.uni-passau.de/~zimmerth/comics/
StarTrek: http://www.uni-passau.de/~zimmerth/startrek/
> Hallo
>
> > > Ich möchte nämlich folgendes realisieren:
> > > NUR CGI-Scripts (und ich) können eine DAT-Datei lesen und beschreiben,
> > > den anderen wird der Lese/Schreib-Zugriff verwehrt (konkret: es darf
> > > niemand per Browser die Passwort-Liste angucken, aber das Script muss
> > > sie prüfen können!)
> > Wenn CGI-Skripte Dateien lesen und schreiben koennen, dann kann man
> > diese Dateien auch per Browser einsehen.
>
> Eigentlich muesste es doch auch gehen wenn man seine Eigentumsrechte aufgibt
> und mit chown wwwrun zum Eigentuemer macht.
racke#~/tmp > chown andrea foo.log
chown: foo.log: Operation not permitted
Dein Vorschlag ist nicht im Sinne des Erfinders, z.B. wegen Quota
(begrenzter Speicherplatz pro User). Das darf nur root.
Ciao
Racke
--
Racke's Package and Resource Database (http://www.han.de/~racke/pard/)
352 packages, 44 resources, 7 distributions covered