PHP käivitamine kasutaja õigustes

Allikas: Kuutõrvaja
Redaktsioon seisuga 12. september 2006, kell 09:12 kasutajalt 193.40.0.191 (arutelu)

cd /usr/ports ..apache2 make with_suexec_modules=yes

2r4# 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"


ei hakka DOC_ROOT muutma nagu n2ha ylevalt asub see hetkel /usr/local/www/data ehitasin sinna kiirelt.


muudame httpd.conf

LoadModule suexec_module libexec/apache2/mod_suexec.so


tekitasin veel konfi sellise jubina..ilma ei k2inud
<IfModule mod_fastcgi.c>
   FastCgiWrapper  /usr/local/sbin/suexec
   FastCgiConfig   -singleThreshold 1 -pass-header HTTP_AUTHORIZATION
   AddHandler  fastcgi-script              .fcgi .fcg .fpl>    
AddType     application/x-httpd-php5    .php .php5
   AddType     application/x-httpd-php4    .php4
</IfModule>


tekitasin 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>


viimaks ehitame skripti


#!/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 ja teeme chown mõlemale failile kasutaja õigusesse /usr/local/www/data/katse/cgi-bin/php5-fcgi /usr/local/www/data/katse3/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


testimiseks saab teha skripti
<?php

print "hello world

\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