🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.perl
Article #194

Re: CGI - zapis do pliku

#194
From: Michal Kaczmarczyk
Date: Thu, 24 Apr 1997 10:30
54 lines
2784 bytes
On Mon, 21 Apr 1997, Piotr Manturzyk wrote:

> Mariusz Jasinski wrote:
> > 
> > Mam taki skrypt:
> > 
> > #!/usr/bin/perl
> [..]
> > open (PlikUser, ">>monitor.txt");
> [..]
> > close (PlikUser);
> [..]
> > 
> > Przy wywolywaniu z systemu plik monitor.txt sie tworzy
> > w biezacym katalogu. Nigdzie nie moge znalezc pliku,
> > jesli wywoluje skrypt ze strony www. Skrypt jest w katalogu
> > na moim koncie. Ale wywolywany jest poprzez linka z katalogu
> > glownego cgi-bin na serwerze.
> 
> Jak klikasz na skrypt w przegladarce, to jest on uruchamiany
> przez demona www, ktory lata najczesciej jako nobody albo
> www, ale nie jako ty sam. najlepiej wpisz kompletna
> sciezke w open(...) i ustaw drw-rw-rw- na tan katalog, albo
> zalatw sobie cgiwrap'a i przekonaj admina, ze jest to bardzo
> fajny program i nalezy go zainstalowac.

Na unixie powinny tez chodzic atrybuty `s' dla plikow wykonywalnych. To
znaczy: trzeba napisac:

chmod +s skrypt.cgi

i po uruchomieniu tego skryptu przez demona prawa dostepu powinny byc
takie jak wlasciciela. Niestety administrator moze wylaczyc te funkcje
mountujac dysk z parametrem -nosuid. Mozna to sprawdzic w /etc/fstab,
/etc/vfstab lub cos w tym guscie (zalezy od systemu). Jest to rozwiazanie
o tyle dobre ze nie uruchamiajac skryptu nikt moze nie miec praw do tego
pliku (w rozwiazaniu z drw-rw-rw- jest mozliwa sytuacja, ze ktos z
lokalnego komputera skasuje pliki w katalogu).

Jest jeszcze posrednie wyjscie: ustawic atrybut do zapisu dla wszystkich w
katalogu, stworzyc plik w skrypcie (koniecznie ze strony www), a potem
wylaczyc ten atrybut. W tym momencie nikt nie skasuje plikow w katalogu,
ale moze ten plik zmniejszyc do 0 (lub zmienic jego zawartosc), ale moze
to tylko zrobic ze swojego skryptu cgi (dzialajac jako uzytkownik www czy
nobody, czyli wlasciciel pliku).

Pozdrowienia.

PS. Co to jest ten cgiwrap?

_______________________________________________________________________________
Michal Kaczmarczyk
mailto:kaczmar@icslab.agh.edu.pl
http://student.uci.agh.edu.pl/~kaczmar
Technical Details
Message-ID: <Pine.SUN.3.95.970424115547.10889E-100000@ernie>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!news.icm.edu.pl!ict.pwr.wroc.pl!agh.edu.pl!ernie!kaczmar
References: <335BBBB5.5339@ci-1.ci.pwr.wroc.pl> <335BC8DB.28C99EF0@mailserv.fh-merseburg.de>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!news.icm.edu.pl!ict.pwr.wroc.pl!agh.edu.pl!ernie!kaczmar
From: Michal Kaczmarczyk <kaczmar@icslab.agh.edu.pl>
Newsgroups: pl.comp.lang.perl,pl.comp.www
Subject: Re: CGI - zapis do pliku
Date: Thu, 24 Apr 1997 12:30:36 +0200
Organization: University of Mining & Metallurgy
Lines: 55
Message-ID: <Pine.SUN.3.95.970424115547.10889E-100000@ernie>
References: <335BBBB5.5339@ci-1.ci.pwr.wroc.pl> <335BC8DB.28C99EF0@mailserv.fh-merseburg.de>
NNTP-Posting-Host: ernie.uci.agh.edu.pl
Mime-Version: 1.0
In-Reply-To: <335BC8DB.28C99EF0@mailserv.fh-merseburg.de>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit