🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.perl
6 messages
6 total messages Started by Mariusz Jasinski Mon, 21 Apr 1997 19:10
CGI - zapis do pliku
#192
Author: Mariusz Jasinski
Date: Mon, 21 Apr 1997 19:10
30 lines
1608 bytes
Mam taki skrypt:

#!/usr/bin/perl

print "Content-type: text/plain\n\n";
print "Cos jest\n\n";

open (PlikUser, ">>monitor.txt")  || &CgiDie ("Nie moge otworzyc
pliku");
print PlikUser date;
print PlikUser time;
print PlikUser "\n";
print PlikUser "$ENV{'REMOST_HOST'} \@ $ENV{'REMOTE_USER'}\n";
print PlikUser "$ENV{'HTTP_USER_AGENT'}\n\n";
close (PlikUser);
exit (0);

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.

-- 
|''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''|
 Mariusz Jasinski    mailto:jasinski@ci-1.ci.pwr.wroc.pl
 WWW HomePage        http://www.ci.pwr.wroc.pl/~jasinski
 Droga do Delphi     http://www.ci.pwr.wroc.pl/~cieslak/Delphi/
 Adres pocztowy      ul. Wittiga 4/603, 51-628 Wroclaw
|..............................................................|
Re: CGI - zapis do pliku
#193
Author: Piotr Manturzyk
Date: Mon, 21 Apr 1997 20:06
33 lines
1599 bytes
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.

posdrawiam
gandalf


-- 
 __________                    ___________
|           DC Piotr Manturzyk            |
| mailto:gandalf@mailserv.fh-merseburg.de |
|______ University of Halle, Germany _____|
Re: CGI - zapis do pliku
#197
Author: Adam Glowacki
Date: Tue, 22 Apr 1997 12:36
27 lines
1379 bytes
Mariusz Jasinski wrote:
> 
> Mam taki skrypt:
> 
> #!/usr/bin/perl
 <->
> open (PlikUser, ">>monitor.txt")  || &CgiDie ("Nie moge otworzyc
> pliku");
> print PlikUser date;
 <->
> 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.
> 

Chodzi o link ze strony WWW, czy link w systemie Unix?

Jesli to pierwsze, to sprawdz, czy Twoj katalog ze skryptem
moze zawierac CGI. Jesli to drugie, no to juz jest kwestia 
praw dostepu demona do katalogu z CGI.

pozdrawiam

adam
Re: CGI - zapis do pliku
#194
Author: 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
Re: CGI - zapis do pliku
#195
Author: Pawel Wiecek
Date: Thu, 24 Apr 1997 10:57
19 lines
1413 bytes
Michal Kaczmarczyk (kaczmar@icslab.agh.edu.pl) wrote:
: 
: Na unixie powinny tez chodzic atrybuty `s' dla plikow wykonywalnych. To

Albo i nie. Apacz do 1.1.* wlacznie ignoruje suida dla cgi-ow. W Apaczu
1.2 juz rzeczywiscie pomaga.

: PS. Co to jest ten cgiwrap?

Skrypt CGI odpalajacy skrypty userow (z katalogow postaci
~juzer/public_html/cgi-bin) z ich prawami. Bardzo uzyteczny.

          Pawel

-- 
 (___)  | Pawel Wiecek --------------------------------- |
< o o > | E-mail: coven@pwr.wroc.pl                      |
 \ ^ /  | WWW:    http://www.ists.pwr.wroc.pl/~coven/    |
  (")   |  * * *  To err is human, to moo bovine  * * *  |
Re: CGI - zapis do pliku
#196
Author: Piotr Manturzyk
Date: Thu, 24 Apr 1997 19:48
40 lines
2227 bytes
Michal Kaczmarczyk wrote:
> 


> 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
U mnie to niestety nie dziala (apache 1.1.1)

> 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
jak ustawisz dodatkowo na swoj ~user/public_html drwx--x--x, to mozesz
wlezc
do tego katalogu, ale wtedy nawet rm * nie pomoze, bo shell mie znajdzie
zadnego pilku. A podkatalogi moga juz byc nawet drwxrwxrwx, nie robi.
Tak jest u mnie i dziala (wydaje mi sie, nie wlamywalem sie specjalnie
bo nie ma do czego :) )

> 
> PS. Co to jest ten cgiwrap?
program uruchamiajacy Twoje skrypty z Twoim UID (jak wspomnialem, +s nie
dziala). Instalujesz cgiwrapa w glownym cgi-bin i wywolujesz
/cgi-bin/cgiwrap/~user/skrypt, ktory to skrypt siedzi w
/home/najjasniejszy/public_html/cgi-bin/, ale to chyba mozna zmienic
przy
kompilacji. O.

gandalf

-- 
 __________                    ___________
|           DC Piotr Manturzyk            |
| mailto:gandalf@mailserv.fh-merseburg.de |
|______ University of Halle, Germany _____|
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads