![]() |
![]() |
|
|
|||||||
| Linux, UNIX, Open Source Rat & Tat bei Problemen und Fragen rund um GNU/Linux, BSD und sonstige UNIXe |
![]() |
|
|
Themen-Optionen | Ansicht |
|
|
#1 |
|
Inventar
![]() Registriert seit: 04.11.2001
Alter: 45
Beiträge: 2.150
|
Hallo Leute,
da es in Apache2 keine User/Group Direktiven in VHost Abschnitten mehr gibt, hab ich mir ein paar Gedanken gemacht, wie man VHosts mit Hilfe von User/Groups/SuExec/OpenBasedir trotzdem etwas sicherer konfigurieren und dem User noch immer den Großteil seiner Freiheit lassen kann. Ich hab mir zur Veranschaulichung ein Script geschrieben, in dem die Konfigurationsanweisungen deutlich werden. Über Hinweise auf Fehler, Fahrlässigkeiten oder Denkfehler, bzw. eine kleine Diskussion zu dem Thema würde ich mich sehr freuen! Code:
echo $1:$2:$3 >> /usr/local/apache2/conf/vhosts/map groupadd www$2 useradd -g www -G www$2 -p $3 www$2 mkdir /www/$2 mkdir /www/$2/docroot mkdir /www/$2/mylib mkdir /www/$2/cgi-bin ln -s /www/$2/cgi-bin /www/$2/bin chown -R $2:apache /www/$2 chmod -R 750 /www/$2 mkdir /www/$2/tmp mkdir /www/$2/log mkdir /www/$2/var chown apache:www$2 /www/$2/tmp chown apache:www$2 /www/$2/log chown apache:www$2 /www/$2/var chmod 770 /www/$2/tmp chmod 770 /www/$2/log chmod 770 /www/$2/var ln -s /usr/local/pear/share/pear /www/$2/pear ln -s /www/lib /www/$2/lib echo \<VirtualHost \*\>\ ServerName $1\ ServerAlias www.$1\ ServerAdmin webmaster\@$1\ SuExecUserGroup www$2 www$2\ \ DocumentRoot \"/www/$2/docroot\"\ \<Directory \"/www/$2/docroot\"\>\ Options None +Indexes +Includes +IncludesNOEXEC\ AllowOverride All\ \</Directory\>\ ScriptAlias /cgi-bin/ \"/www/$2/cgi-bin/\"\ \<Directory \"/www/$2/cgi-bin\"\>\ Options None\ AllowOverride None\ \</Directory\>\ \ ErrorLog /www/$2/log/httpd_error.log\ LogLevel error\ CustomLog /www/$2/log/httpd_access.log combined\ \ php_admin_value include_path \".:/www/$2/pear:/www/$2/lib:/www/$2/mylib\"\ php_admin_value error_log \"/www/$2/log/php_error.log\"\ php_admin_value log_errors_max_len \"1024\"\ php_admin_value open_basedir \"/www/$2\"\ php_admin_value upload_tmp_dir \"/www/$2/tmp\"\ php_admin_value session.save_path \"/www/$2/tmp\"\ \</VirtualHost\> > /usr/local/apache2/conf/vhosts/$1.vhost #>makevhost domain.at 001 xyz123 ~
____________________________________
LOL - Mein erstes Post im Programmier Forum MACINTOSH - Most Applications Crash, If Not The Operating System Hangs |
|
|
|
|
|
#2 |
|
Inventar
![]() Registriert seit: 04.11.2001
Alter: 45
Beiträge: 2.150
|
Die Backslashes im ECHO-Teil müsst ihr euch wegdenken
~
____________________________________
LOL - Mein erstes Post im Programmier Forum MACINTOSH - Most Applications Crash, If Not The Operating System Hangs |
|
|
|
|
|
#3 |
|
Inventar
![]() Registriert seit: 04.11.2001
Alter: 45
Beiträge: 2.150
|
Hm?
Hab' das Script etwas ausgebessert... Code:
echo "$1:$2:$3" >> /usr/local/apache2/conf/vhosts/map groupadd www$2 useradd -g www$2 -G www -M -d /www/$2 www$2 echo $3 | passwd --stdin www$2 mkdir /www/$2 mkdir /www/$2/docroot mkdir /www/$2/mylib mkdir /www/$2/cgi-bin chown -R www$2:apache /www/$2 chmod -R 750 /www/$2 mkdir /www/$2/tmp mkdir /www/$2/log mkdir /www/$2/var chown apache:www$2 /www/$2/tmp chown apache:www$2 /www/$2/log chown apache:www$2 /www/$2/var chmod 770 /www/$2/tmp chmod 770 /www/$2/log chmod 770 /www/$2/var ln -s /usr/local/pear/share/pear /www/$2/pear ln -s /var/www/lib /www/$2/lib echo "<VirtualHost *> ServerName $1 ServerAlias www.$1 ServerAdmin webmaster@$1 SuExecUserGroup www$2 www$2 DocumentRoot \"/www/$2/docroot\" <Directory \"/www/$2/docroot\"> Options None +Indexes +Includes +IncludesNOEXEC AllowOverride All </Directory> ScriptAlias /cgi-bin/ \"/www/$2/cgi-bin/\" <Directory \"/www/$2/cgi-bin\"> Options None AllowOverride None </Directory> ErrorLog /www/$2/log/httpd_error.log LogLevel error CustomLog /www/$2/log/httpd_access.log combined php_admin_value include_path \".:/www/$2/pear:/www/$2/lib:/www/$2/mylib\" php_admin_value error_log \"/www/$2/log/php_error.log\" php_admin_value open_basedir \"/www/$2\" php_admin_value upload_tmp_dir \"/www/$2/tmp\" php_admin_value session.save_path \"/www/$2/tmp\" </VirtualHost>" > /usr/local/apache2/conf/vhosts/$1.vhost nicht "-bash-2-05b$" sondern ein "ganz normaler" Prompt erscheint? ~c
____________________________________
LOL - Mein erstes Post im Programmier Forum MACINTOSH - Most Applications Crash, If Not The Operating System Hangs |
|
|
|
|
|
#4 |
|
Inventar
![]() Registriert seit: 04.11.2001
Alter: 45
Beiträge: 2.150
|
Was würdet ihr machen, stünden euch keine User/Group Direktiven für VHosts zur Verfügung?
~
____________________________________
LOL - Mein erstes Post im Programmier Forum MACINTOSH - Most Applications Crash, If Not The Operating System Hangs |
|
|
|
|
|
#5 |
|
Inventar
![]() Registriert seit: 04.11.2001
Alter: 45
Beiträge: 2.150
|
*schmafu gelöscht*
____________________________________
LOL - Mein erstes Post im Programmier Forum MACINTOSH - Most Applications Crash, If Not The Operating System Hangs |
|
|
|
|
|
#6 | |
|
Inventar
![]() Registriert seit: 05.01.2000
Beiträge: 3.812
|
Zitat:
Oder meinst du beim verwenden vom Modul mod_vhost_alias Schon brav ein update gemacht? http://www.webhostlist.de/host/news/read.php4?id=1370 Sloter |
|
|
|
|
|
|
#7 | |
|
Inventar
![]() Registriert seit: 04.11.2001
Alter: 45
Beiträge: 2.150
|
@Update
Klaro ![]() @ User/Group Nur mit MPM perchild, aber start mal für jeden VHost einen extra Prozess, etwas overkill oder? Außerdem soll es noch hochexperimentell sein... http://httpd.apache.org/docs-2.0/mod/perchild.html http://httpd.apache.org/docs-2.0/mod...mmon.html#user Zitat:
~
____________________________________
LOL - Mein erstes Post im Programmier Forum MACINTOSH - Most Applications Crash, If Not The Operating System Hangs |
|
|
|
|
![]() |
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
|
|