Erinevus lehekülje "PHP käivitamine kasutaja õigustes" redaktsioonide vahel

Allikas: Kuutõrvaja
P (Tühistati kasutaja Jj (arutelu) tehtud muudatused ning pöörduti tagasi viimasele muudatusele, mille tegi Triinu.)
1. rida: 1. rida:
===Sissejuhatus===
+
Apache suexec on programm, mis lisati versioonis 1.2 ja mis annab apache kasutajatele võimaluse käivitada cgi ja ssi programme kasutaja id-ga,
 +
mis erineb veebiserveri id-st. Normaalselt toimivad kõik skriptid veebiserveri õigustes.
 +
Kahjuks võimaldab see nõnda startida ainult cgi skripte. Käesolev pala kirjeldab, kuidas saada iga serveris asuv php tükk samuti käima
 +
antud kasutaja õigustes. Näites kasutatav PHP on 5. versioon, kuid kasutada võib ka neljandat.
 +
Trellidega (#) on näidetes tähistatud käsuviip.
  
Harilikult kõik veebiskriptid ja cgi skriptid samuti
+
'''Tarkvara installeerimine'''
toimivad veebiserveri kasutaja õigustes. Siiski
 
on turva ja muudel kaalutlustel vajalik saada iga php ja perli
 
skript töötama kasutaja õigustes kellele ta kuulub.
 
  
Lahendused oleksid
+
Installeerime apache koos suexec-ga:
 
 
*MPM-ITK - apache worker millepuhul valimatult kõik (moodulid, skriptid etc) saavad selle kasutaja õigused
 
kes virtualhostis eelnevalt. Plussiks on tunduvalt suurem kiirus võrreldes suexeciga.
 
 
 
*Suexec - Mõeldud cgi skriptide käivitamiseks kasutaja õigustes
 
ning sellega ei saa otse php jms apache moodulite skripte startida.
 
Selleks tuleb suunata skriptid php-cgi peale mis stardib need cgi skriptide laadis.
 
Miinuseks sellel tehnikal on suur aeglus võrreldes moodulitega.
 
 
 
Selle teksti autor soovitaks ise kasutada suexec ja cgi baasil lahendust vaid mingil erijuhtumil, nt kui apache versiooni ei saa muuta, ning eelistada MPM-ITK lahendust.
 
 
 
===PHP install algkoodist===
 
 
 
Tõmbame uusima php ja pakime lahti kausta /usr/src/php-versioon
 
Peale kompileerimist paigaldatakse php binaarfailid kausta /usr/local/php5
 
 
 
#!/bin/sh
 
cd /usr/src/php-5.2.6/
 
make clean
 
kaust=/usr/local/php5/
 
./configure --prefix=$kaust \
 
--with-mysql \
 
"--with-config-file-path=$kaust/etc" \
 
"--enable-memory-limit" \
 
"--disable-debug" \
 
"--with-regex=php" \
 
"--disable-rpath" \
 
"--enable-calendar" \
 
"--enable-sysvsem" \
 
"--enable-sysvshm" \
 
"--enable-sysvmsg" \
 
"--enable-track-vars" \
 
"--enable-trans-sid" \
 
"--with-bz2" \
 
"--enable-ctype" \
 
"--with-iconv" \
 
"--enable-exif" \
 
"--enable-filepro" \
 
"--with-gettext" \
 
"--enable-mbstring" \
 
"--enable-sockets" \
 
"--with-zlib" \
 
"--without-zip" \
 
"--enable-dbx" \
 
"--enable-gd-native-ttf" \
 
"--disable-xpm"
 
make
 
make install DESTDIR=$kaust
 
 
 
===MPM-ITK===
 
 
 
Selleks ,et saavutada suexecile sarnane olukord
 
kus kõik skriptid töötavad kasutaja õigustes võib kasutada apache moodulit mpm-itk.
 
lähemalt sellest http://mpm-itk.sesse.net/
 
 
 
Põhimõtteliselt on see modifitseeritud MPM-prefork, mis säilitab osad
 
roodu õigused (CAP_SETUID ja CAP_SETGID) kõikidel oma protsessidel ja
 
siis, kui vhost on kindlaks määratud, saab vajalikuks kasutajaks ja
 
lahendab päringu selle kasutaja õigustes. Sealhulgas kõik tavapärased
 
apache moodulid toimivad samuti selle kasutaja õigustes (nt mod_php, mod_perl jms).
 
 
 
Hea kokkuvõttev artikkel kõikidest suPHP, suexec, MPM-perchild/Metux ja
 
MPM-itk omadustest ja puudustest:
 
http://mitka.us/articles/mpm-itk/
 
 
 
MPM-itk miinuseks on asjaolu, et kuniks vhost pole kindlaks määratud, on
 
protsess roodu osalistes õigustes, seega igasugune haavatavus sel hetkel
 
on roodu haavatavus.
 
Samas kuipalju apachel endal ikka vigu sees on, mis tekivad *enne* HTTP
 
päringu parsimist ja võimaldaksid koodi käivitda (kuni 2004. aastani
 
GLSA-de hulgast, ei leidnud). Lisaks veel see, et isegi, kui
 
rünne õnnestuks, saavutataks vaid võime lugeda roodu faile, kuid mitte
 
midagi muud (siin äkki apache + chroot abiks, kui isu).
 
 
 
'''Paigaldamine FreeBSD opsüsteemis ja 22 versioonil'''
 
 
 
Selleks tuleb paigaldada apache-itk pakett järgmiselt
 
 
 
cd /usr/ports/www/apache22
 
echo 'WITH_MPM=itk' >> Makefile.local
 
make install clean
 
 
 
'''Kasutamine'''
 
 
 
Virtualhosti lisarida
 
 
 
AssignUserId katse katse
 
 
 
või paranoilisemal juhul
 
 
 
<IfModule mpm_itk_module>
 
  AssignUserId katse katse
 
</IfModule>
 
 
 
Neid direktiive võib kasutada ka <Directory> blokis, mitte ainult virtualhostis
 
ja kaust ei pea olema seejuures konkreetse kasutaja omanduses.
 
 
 
<Directory /usr/local/www/apache22/data/suvakas>
 
    AllowOverride None
 
    Order deny,allow 
 
    allow from all
 
    AssignUserId suvakas suvakas
 
</Directory>
 
 
 
Silmas tuleb pidada, et virtuaalseid kasutajad nt olematut uid/gid saa luua, kasutaja
 
peab reaalselt süsteemis eksisteerima.
 
 
 
Kui Apache annab veateadet
 
 
 
Permission denied: unable to check htaccess file, ensure it is readable
 
 
 
on probleem allowoverryde reeglites ja apache mpm-itk chrootimise mehanismis
 
Ehk siistervele kaustale võib anda õigused
 
 
 
chmod -751 või 771
 
 
 
Kuid .htaccessi mingi override käivitatakse tõenäoliselt enne kui apache
 
on omandanud kasutaja õigused. Seega peab hetkel toore häkina andma
 
htaccessile õigused
 
 
 
chmod 755
 
 
 
Ehk siis see fail peab omama other grupi lugemisõigusi.
 
 
 
===Teooria, ehk kuidas läbi CGI Wrapperi PHP käivitamine toimub===
 
 
 
Apache oskab siduda mingit laiendit teatud cgi skripti käivitamisega
 
näiteks saame globlaalselt käivitada php lisades httpd.conf'i
 
 
 
ScriptAlias /php-cgi/ /usr/local/www/data/cgi-bin
 
AddType application/x-httpd-fastphp .php
 
Action application/x-httpd-fastphp /php-fastcgi/php5-fcgi
 
 
 
Apache ei oska kohe suunata faile edasi kettal olevale binaryle või skriptile.
 
Küll aga näiteks http://mingiaadress/cgi-bin all olvevale cgi skriptile
 
või binaarfailile.
 
 
 
'''Täpsemalt siis...'''
 
 
 
Kõik toimub sellises järjekorras, php skript mis käivitatud läbi järgmised kihid
 
.php -> http://nimi.ee/php-cgi/php5-fcgi -> /usr/local/bin/php-cgi
 
 
 
Reaga '''ScriptAlias /php-fastcgi/ /usr/local/www/data/cgi-bin'''
 
tekitame me enda veebiserverile aliase php-cgi
 
url'iga http://nimi/php-cgi
 
 
 
Järgmise reaga '''AddType application/x-httpd-fastphp .php'''
 
Tekitame uue application tüübi nimega x-httpd-fastphp mille seome .php laiendiga
 
 
 
Kolmas rida '''Action application/x-httpd-fastphp /php-cgi/php5-fcgi''' määrab ,et
 
application x-httpd-fastphp. Seetähendab kõik .php failid suunatakse automaatselt
 
skriptile nimega '''php5-fcgi''' ehk siis http://nimi.ee/php-cgi/php5-fcgi
 
 
 
skript php5-fcgi ise on sellise sisuga
 
 
 
#!/bin/sh
 
exec /usr/local/bin/php-cgi
 
 
 
Nii saame näiteks hõlsasti teha kasvõi uue application tüübi näiteks laiendiga .jms
 
ja siduda selle cgi skriptiga mis loeb talle saadetud .jms laiendiga
 
failidest käske ja täidab neid luues nii kasvõi endale primitiivse veebiskriptimise keele.
 
 
 
===Mitme PHP versiooni samaaegne koos kasutamine CGI wrapperi abil===
 
 
 
Olgu näiteks vaja kasutada koos samas keskkonnas php4 ja php5 või lähitulevikus viimane ning php6
 
Kuna Apache moodulina saab vähemalt hetkel laadida vaid ühe php siis tuleb teise saamiseks pisut trikutada. Kõige lihtsam on selgitada välja esiteks kumb versioon on kasutatavam ning tekitab suuremat loadi. See versioon tasuks laadida moodulina, teine aga käivitada läbi cgi wrapperi
 
 
 
Näiteks on meil vaikimisi töös php5 kuid vaja kasutada ka php4 programme.
 
Sellisel juhul laeme php5 moodulina kasutades standartseid lahendusi ning php4 puhul seadistame järgnevalt
 
 
 
cgi binaar
 
 
 
/usr/local/php4/bin/php-cgi
 
 
httpd.conf'i read
 
 
 
AllowOverride All
 
ScriptAlias /php4-cgi /usr/local/php4/bin/php-cgi
 
<Directory /usr/local/php4/bin/>
 
    Options none
 
    AllowOverride All
 
    Order Deny,Allow
 
  Allow from All
 
</Directory>
 
 
 
ja .htaccessi fail kausta /serv/wwww/kasutaja/html sisuga
 
 
 
AddType application/x-httpd-fastphp4 .php4
 
Action application/x-httpd-fastphp4 /php4-cgi
 
 
 
Mispuhul kõik .php4 laiendiga failid käivitatakse läbi eraldi kihi.
 
 
 
'''Wrapperita''' ehk suexeci kasutamiseks ei pea olema ilmtingimata olemas vahekiht, võime suunata ka otse õigele binaarfailile
 
 
 
ScriptAlias /php5-cgi /usr/local/bin/php-cgi
 
AddType application/x-httpd-fastphp .php
 
Action application/x-httpd-fastphp /php5-cgi
 
 
 
'''Mitme php versiooni kasutamine'''
 
 
 
Kasutada saab ka korraga nii php4'ja kui php5't näiteks on meil
 
installitud php5 ja php4 cgi versioonid
 
 
 
/usr/bin/php-cgi
 
/usr/bin/php5-cgi
 
 
 
===Suexec abil veebide kasutajaõigustesse jagamine===
 
 
 
Apache suexec on programm, mis Apache'l olemas alates versioonis 1.2 ja mis annab apache kasutajatele võimaluse käivitada cgi ja ssi programme kasutaja UID-ga. Kahjuks võimaldab see nõnda vaikimisi startida ainult cgi skripte ja mitte Apache mooduleid.
 
 
Php käivitamiseks tuleb kirjutada põhimõtteliselt eraldi kiht e wrapper, cgi skript mis omakorda kutsub välja käsurea (cli) php mis siis töötleb e interpreteerib koodifaile.
 
 
 
====Suexec tarkvara installeerimine FreeBSD süsteemis====
 
 
 
Installeerime apache koos suexec-ga näiteks FreeBSD's
 
  
 
   # cd /usr/ports/www/apache2
 
   # cd /usr/ports/www/apache2
 
   # make  WITH_SUEXEC_MODULES="YES"  install  
 
   # make  WITH_SUEXEC_MODULES="YES"  install  
  
Seejärel installeerime php
+
Seejärel installeerime php:
 +
 
 +
  # cd /usr/ports/lang/php5
 +
  # make install clean
  
 
PHP installeerimisel küsitakse täiendavaid parameetreid. Valida tuleb CGI ja FastCGI tugi.
 
PHP installeerimisel küsitakse täiendavaid parameetreid. Valida tuleb CGI ja FastCGI tugi.
236. rida: 25. rida:
 
   # make install clean
 
   # make install clean
  
====Php CGI wrapperi üle läbi suexeci käima====
+
Peale installeerimist saame kontrollida MILLE? olemasolu ja parameetreid selliselt:
 
 
Tegemist on natuke keerukama ja aeglasema meetodiga
 
aga vaatame seda ,et täpsemalt mõista teooriat.
 
 
 
kontrollime suexec'i parameetreid selliselt:
 
  
 
  # suexec -V
 
  # suexec -V
252. rida: 36. rida:
 
   -D AP_USERDIR_SUFFIX="public_html"
 
   -D AP_USERDIR_SUFFIX="public_html"
  
Nagu näha, soovib suexec, et kõik skriptid, mida tema abil käivitatakse, asuksid kataloogis ''
+
 
'''/usr/local/www/data'''
+
Nagu näha, soovib suexec, et kõik skriptid, mida tema abil käivitatakse, asuksid kataloogis /usr/local/www/data
 
Ei hakka DOC_ROOT muutma ja loome testi sinna.
 
Ei hakka DOC_ROOT muutma ja loome testi sinna.
  
 
'''Apache konfiguratsioon'''
 
'''Apache konfiguratsioon'''
 
Serveris on kaks veebi http://www.nimi.ee ja http://test.nimi.ee
 
 
Esimene peab toimima kasutaja katse õigustes ja teine katse3
 
  
 
Muudame httpd.conf, vajadusel lisame:
 
Muudame httpd.conf, vajadusel lisame:
267. rida: 47. rida:
 
  LoadModule fastcgi_module    libexec/apache2/mod_fastcgi.so
 
  LoadModule fastcgi_module    libexec/apache2/mod_fastcgi.so
  
Tekitame virtualhostid httpd.conf faili
+
Tekitasime veel konfiguratsioonifaili sellise sektsiooni:
 +
 
 +
<IfModule mod_fastcgi.c>
 +
    FastCgiWrapper  /usr/local/sbin/suexec
 +
    FastCgiConfig  -singleThreshold 1 -pass-header HTTP_AUTHORIZATION
 +
</IfModule>
 +
 
 +
 
 +
Tekitame virtualhostid
  
 
  <VirtualHost *:80>
 
  <VirtualHost *:80>
 
   SuexecUserGroup katse katse
 
   SuexecUserGroup katse katse
 +
  ServerAdmin kasutaja@nimi.ee
 
   DocumentRoot /usr/local/www/data/katse
 
   DocumentRoot /usr/local/www/data/katse
 
   ServerName www.nimi.ee
 
   ServerName www.nimi.ee
 
   
 
   
  ScriptAlias /php-fastcgi/ /usr/local/www/data/katse/cgi
+
  ScriptAlias /php-fastcgi/ /usr/local/www/data/katse/
 
  AddType application/x-httpd-fastphp .php
 
  AddType application/x-httpd-fastphp .php
 
  Action application/x-httpd-fastphp /php-fastcgi/php5-fcgi
 
  Action application/x-httpd-fastphp /php-fastcgi/php5-fcgi
 
   
 
   
 
  </VirtualHost>
 
  </VirtualHost>
+
 
 
  <VirtualHost *:80>
 
  <VirtualHost *:80>
 
   SuexecUserGroup katse3 katse3
 
   SuexecUserGroup katse3 katse3
 +
  ServerAdmin kasutaja@nimi.ee
 
   DocumentRoot /usr/local/www/data/katse3/cgi-bin
 
   DocumentRoot /usr/local/www/data/katse3/cgi-bin
 
   ServerName test.nimi.ee
 
   ServerName test.nimi.ee
 
   
 
   
  ScriptAlias /php-fastcgi/ /usr/local/www/data/katse3/cgi
+
  ScriptAlias /php-fastcgi/ /usr/local/www/data/katse3/cgi-bin
 
  AddType application/x-httpd-fastphp .php
 
  AddType application/x-httpd-fastphp .php
 
  Action application/x-httpd-fastphp /php-fastcgi/php5-fcgi
 
  Action application/x-httpd-fastphp /php-fastcgi/php5-fcgi
291. rida: 81. rida:
 
  </VirtualHost>
 
  </VirtualHost>
  
Loome kaustad cgi skriptidele
+
Alternatiivselt kataloogipõhiselt:
  
mkdir /usr/local/www/data/katse/cgi-bin
+
  SuexecUserGroup katse katse
mkdir /usr/local/www/data/katse3/cgi-bin
+
 
 +
  <Directory "/usr/local/www/data/cgi">
 +
    Options +ExecCGI
 +
    AddHandler fastcgi-script .cgi
 +
    AddType application/x-httpd-fastphp .php
 +
    Action application/x-httpd-fastphp /cgi/php5-fcgi.cgi
 +
  </Directory>
  
'''wrapper'''
 
  
Skript ise millele suunatakse .php laiendiga failid on järgnev
+
'''Skript wrapperiks'''
 +
 
 +
Varasemalt sidusime virtualhostis  iga .php laiendi kindla cgi skriptiga, mida suexeciga käivitame.
 +
Viimaks ehitame skripti enda, mis käivitatuna suexeci abil kasutaja õigustes stardib php enda ja sellekaudu ka veebi.
 +
 
  
 
  #!/bin/sh
 
  #!/bin/sh
  PHPRC="/usr/local/etc/php.ini"
+
  #PHPRC="/usr/local/etc/php.ini"
 
  export PHPRC
 
  export PHPRC
 +
PHP_FCGI_CHILDREN=4
 +
export PHP_FCGI_CHILDREN
 
  exec /usr/local/bin/php-cgi
 
  exec /usr/local/bin/php-cgi
  
Loome selle faili kasutajate katse ja katse 3 alla
+
Kopeerime selle faili kasutajate katse ja katse 3 kaustadesse (kataloogidesse):
  
/usr/local/www/data/katse/cgi/php5-fcgi
+
/usr/local/www/data/katse/cgi-bin/php5-fcgi/usr/local/www/data/katse3/cgi-bin/php5-fcgi
/usr/local/www/data/katse3/cgi/php5-fcgi
 
  
 
Muudame mõlema faili kasutajaõigusi chown käsuga:
 
Muudame mõlema faili kasutajaõigusi chown käsuga:
  
chown katse:katse /usr/local/www/data/katse/cgi-bin/php5-fcgi
+
chown katse:katse /usr/local/www/data/katse/cgi-bin/php5-fcgi
chown katse3:katse3 /usr/local/www/data/katse3/cgi-bin/php5-fcgi
 
  
===Kasutaja õiguste toimimise testimine===
+
chown katse3:katse3 /usr/local/www/data/katse3/cgi-bin/php5-fcgi
  
Testimiseks saab kasutada järgmist php skripti
+
'''Testimine'''
  
<source lang=php>
+
Testimiseks saab teha skripti
  <?php
+
 
 +
< ?php
 +
  print "hello world< p >\n";
 
  system("id");
 
  system("id");
  php?>
+
  php? >
</source>
+
 
  
 
www.nimi.ee skripti vaadates
 
www.nimi.ee skripti vaadates
  
 +
hello world
 +
 
  uid=1004(katse) gid=1004(katse) groups=1004(katse)  
 
  uid=1004(katse) gid=1004(katse) groups=1004(katse)  
  
 
test.nimi.ee
 
test.nimi.ee
  
  uid=1009(katse3) gid=1009(katse3) groups=1009(katse3)
+
hello world
 +
 +
  uid=1009(katse3) gid=1009(katse3) groups=1009(katse3)  
  
===Lingid===
 
  
* http://www.freebsd.org/cgi/url.cgi?ports/www/apache22-peruser-mpm/pkg-descr tudub olevat eestlaste tehtud alternatiiv kasutajateõigustes lehtede käivitamiseks
+
EENet 2006

Redaktsioon: 29. september 2010, kell 19:30

Apache suexec on programm, mis lisati versioonis 1.2 ja mis annab apache kasutajatele võimaluse käivitada cgi ja ssi programme kasutaja id-ga, mis erineb veebiserveri id-st. Normaalselt toimivad kõik skriptid veebiserveri õigustes. Kahjuks võimaldab see nõnda startida ainult cgi skripte. Käesolev pala kirjeldab, kuidas saada iga serveris asuv php tükk samuti käima antud kasutaja õigustes. Näites kasutatav PHP on 5. versioon, kuid kasutada võib ka neljandat. Trellidega (#) on näidetes tähistatud käsuviip.

Tarkvara installeerimine

Installeerime apache koos suexec-ga:

 # cd /usr/ports/www/apache2
 # make  WITH_SUEXEC_MODULES="YES"  install 

Seejärel installeerime php:

 # cd /usr/ports/lang/php5
 # make install clean

PHP installeerimisel küsitakse täiendavaid parameetreid. Valida tuleb CGI ja FastCGI tugi. Apache moodulit pole vaja, kui seda ei plaanita täiendavalt paralleelselt kasutada.

Järgneb fastcgi installeerimine:

 # cd /usr/ports/www/mod_fastcgi
 # make install clean

Peale installeerimist saame kontrollida MILLE? olemasolu ja parameetreid selliselt:

# suexec -V
 -D AP_DOC_ROOT="/usr/local/www/data"
 -D AP_GID_MIN=1000
 -D AP_HTTPD_USER="www"
 -D AP_LOG_EXEC="/var/log/httpd-suexec.log"
 -D AP_SAFE_PATH="/usr/local/bin:/usr/local/bin:/usr/bin:/bin"
 -D AP_UID_MIN=1000
 -D AP_USERDIR_SUFFIX="public_html"


Nagu näha, soovib suexec, et kõik skriptid, mida tema abil käivitatakse, asuksid kataloogis /usr/local/www/data Ei hakka DOC_ROOT muutma ja loome testi sinna.

Apache konfiguratsioon

Muudame httpd.conf, vajadusel lisame:

LoadModule suexec_module libexec/apache2/mod_suexec.so
LoadModule fastcgi_module     libexec/apache2/mod_fastcgi.so

Tekitasime veel konfiguratsioonifaili sellise sektsiooni:

<IfModule mod_fastcgi.c>
   FastCgiWrapper  /usr/local/sbin/suexec
   FastCgiConfig   -singleThreshold 1 -pass-header HTTP_AUTHORIZATION
</IfModule>


Tekitame virtualhostid

<VirtualHost *:80>
 SuexecUserGroup katse katse
 ServerAdmin kasutaja@nimi.ee
 DocumentRoot /usr/local/www/data/katse
 ServerName www.nimi.ee

ScriptAlias /php-fastcgi/ /usr/local/www/data/katse/
AddType application/x-httpd-fastphp .php
Action application/x-httpd-fastphp /php-fastcgi/php5-fcgi

</VirtualHost>
<VirtualHost *:80>
 SuexecUserGroup katse3 katse3
 ServerAdmin kasutaja@nimi.ee
 DocumentRoot /usr/local/www/data/katse3/cgi-bin
 ServerName test.nimi.ee

ScriptAlias /php-fastcgi/ /usr/local/www/data/katse3/cgi-bin
AddType application/x-httpd-fastphp .php
Action application/x-httpd-fastphp /php-fastcgi/php5-fcgi

</VirtualHost>

Alternatiivselt kataloogipõhiselt:

 SuexecUserGroup katse katse
 
 <Directory "/usr/local/www/data/cgi">
   Options +ExecCGI
   AddHandler fastcgi-script .cgi
   AddType application/x-httpd-fastphp .php
   Action application/x-httpd-fastphp /cgi/php5-fcgi.cgi
 </Directory>


Skript wrapperiks

Varasemalt sidusime virtualhostis iga .php laiendi kindla cgi skriptiga, mida suexeciga käivitame. Viimaks ehitame skripti enda, mis käivitatuna suexeci abil kasutaja õigustes stardib php enda ja sellekaudu ka veebi.


#!/bin/sh
#PHPRC="/usr/local/etc/php.ini"
export PHPRC
PHP_FCGI_CHILDREN=4
export PHP_FCGI_CHILDREN
exec /usr/local/bin/php-cgi

Kopeerime selle faili kasutajate katse ja katse 3 kaustadesse (kataloogidesse):

/usr/local/www/data/katse/cgi-bin/php5-fcgi/usr/local/www/data/katse3/cgi-bin/php5-fcgi

Muudame mõlema faili kasutajaõigusi chown käsuga:

chown katse:katse /usr/local/www/data/katse/cgi-bin/php5-fcgi

chown katse3:katse3 /usr/local/www/data/katse3/cgi-bin/php5-fcgi

Testimine

Testimiseks saab teha skripti

< ?php
print "hello world< p >\n";
system("id");
php? >


www.nimi.ee skripti vaadates

hello world

uid=1004(katse) gid=1004(katse) groups=1004(katse) 

test.nimi.ee

hello world

uid=1009(katse3) gid=1009(katse3) groups=1009(katse3) 


EENet 2006