¿como hacer webserver chroot y jaulas?

33 views
Skip to first unread message

kanzer

unread,
Apr 19, 2012, 7:22:54 PM4/19/12
to OpenBSD México
hola amigos tengo un vps con openbsd 5.0

quiero que cada usuario tenga su propio espacio web ejemplo /home/
usuario/public_html

pero creo que ya por default viene en /var/www/conf/httpd.conf lo
siguiente:

en UserDir puse lo siguiente

UserDir /var/www/users

y abajito tengo esto:


# Control access to UserDir directories. The following is an example
# for a site where these directories are restricted to read-only and
# are located under /users/<username>
# You will need to change this to match your site's home directories.
#
<Directory /users/*>
AllowOverride FileInfo AuthConfig Limit
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
<Limit GET POST OPTIONS PROPFIND>
Order allow,deny
Allow from all
</Limit>
<Limit PUT DELETE PATCH PROPPATCH MKCOL COPY MOVE LOCK UNLOCK>
Order deny,allow
Deny from all
</Limit>
</Directory>

en mi virtualhost tengo esto

<VirtualHost 199.102.76.30>
ServerAdmin kan...@riseup.net
DocumentRoot /var/www/users/usuario
ServerName www.dominio.com
ServerAlias dominio.com
ErrorLog logs/dominio.com-error_log
Options ExecCgi Includes MultiViews Indexes FollowSymlinks
SymLinksIfOwnerMa
tch
CustomLog logs/dominio.com-access_log common
</VirtualHost>
como dejar de usar /var/www/users/usuario y mejor usar /home/usuario/
public_html

Fernando Quintero

unread,
Apr 20, 2012, 1:33:27 AM4/20/12
to openbsd...@googlegroups.com
Cambia las variables que estas mencionando y recarga el servicio.

UserDir y el DocumentRoot del virtual host.

Podrías contarnos donde tienes la VPS con OpenBSD 5.0 ?

Saludos.

2012/4/19 kanzer <kans...@yahoo.com.mx>

--
Has recibido este mensaje porque estás suscrito al grupo "OpenBSD México" de Grupos de Google.
Para publicar una entrada en este grupo, envía un correo electrónico a openbsd...@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a openbsd-mexic...@googlegroups.com
Para tener acceso a más opciones, visita el grupo en http://groups.google.com/group/openbsd-mexico?hl=es.




--


--------------
Fernando Quintero
http://nonroot.blogspot.com/
Just a nonroot User

kanzer

unread,
Apr 20, 2012, 8:27:28 PM4/20/12
to OpenBSD México
hise los siguientes cambios en /var/www/conf/httpd.conf:
en UserDir puse lo siguiente
UserDir /home
y abajito tengo esto:
# Control access to UserDir directories.  The following is an example
# for a site where these directories are restricted to read-only and
# are located under /users/<username>
# You will need to change this to match your site's home directories.
#
<Directory /home/*>
    AllowOverride FileInfo AuthConfig Limit
    Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
    <Limit GET POST OPTIONS PROPFIND>
        Order allow,deny
        Allow from all
    </Limit>
    <Limit PUT DELETE PATCH PROPPATCH MKCOL COPY MOVE LOCK UNLOCK>
        Order deny,allow
        Deny from all
    </Limit>
</Directory>
en mi virtualhost tengo esto
<VirtualHost 199.102.76.30>
    ServerAdmin kan...@riseup.net
    DocumentRoot /home/usuario
    ServerName www.dominio.com
    ServerAlias dominio.com
    ErrorLog logs/dominio.com-error_log
    Options ExecCgi Includes MultiViews Indexes FollowSymlinks
SymLinksIfOwnerMa
tch
    CustomLog logs/dominio.com-access_log common
</VirtualHost>

pero ahora me da un error 404 not found
sabrán por que?

tengo un vps aqui https://www.rootbsd.net/manage/aff.php?aff=084

On Apr 20, 12:33 am, Fernando Quintero <fernando.a.quint...@gmail.com>
wrote:
> Cambia las variables que estas mencionando y recarga el servicio.
>
> UserDir y el DocumentRoot del virtual host.
>
> Podrías contarnos donde tienes la VPS con OpenBSD 5.0 ?
>
> Saludos.
>
> 2012/4/19 kanzer <kanser...@yahoo.com.mx>
> Fernando Quinterohttp://nonroot.blogspot.com/
> Just a nonroot User

Francisco Valladolid H.

unread,
Apr 21, 2012, 1:08:56 AM4/21/12
to openbsd...@googlegroups.com
Hola Kanser

OpenBSD viene por default en chroot desde hacer varios releases, a
menos que uses la opcion -u al iniciar httpd, este te permite
desabilitarlo.

Si bien veo, Necesitas Directorio por usuarios en tu servidor; no
puedes apuntar a /home puesto que este directorio sale del chroot
/var/www

Mi sugerencia, es crear espacios dentro de /var/www/users/ para cada
usuario en cuestion, posteriormente crear un symlink desde el home del
usuario real, a /var/www/users/kancer por ejemplo.

Quedaria de la sig. manera:

/var/www/users/kanser

En tu home; /home/kanser

$ ln -s /var/www/users/ficovh/ public_html

De modo que tu httpd.conf tiene que apuntar siempre a /var/www/users/*
porque es el directorio permitido por chroot.

Espero esta info te sirva.

Un saludo.


2012/4/20 kanzer <kans...@yahoo.com.mx>:

--
Francisco Valladolid H.
 -- http://blog.bsdguy.net - Jesus Christ follower.

kanzer

unread,
Apr 21, 2012, 5:58:33 PM4/21/12
to OpenBSD México
ahora tengo lo siguiente y no funciona tampoco

UserDir /home/*/public_html

#
# Control access to UserDir directories. The following is an example
# for a site where these directories are restricted to read-only and
# are located under /users/<username>
# You will need to change this to match your site's home directories.
#
<Directory /home/*/public_html>
AllowOverride FileInfo AuthConfig Limit
Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
<Limit GET POST OPTIONS PROPFIND>
Order allow,deny
Allow from all
</Limit>
<Limit PUT DELETE PATCH PROPPATCH MKCOL COPY MOVE LOCK UNLOCK>
Order deny,allow
Deny from all
</Limit>
</Directory>


<VirtualHost 199.102.76.30>
ServerAdmin kan...@riseup.net
DocumentRoot /home/user/public_html
ServerName www.domain.com
ServerAlias domain.com
ErrorLog logs/domain.com-error_log
Options ExecCgi Includes MultiViews Indexes FollowSymlinks
SymLinksIfOwnerMatch
CustomLog logs/domain.com-access_log common
</VirtualHost>


On 21 abr, 00:08, "Francisco Valladolid H." <fic...@gmail.com> wrote:
> Hola Kanser
>
> OpenBSD viene por default en chroot desde hacer varios releases, a
> menos que uses la opcion -u al iniciar httpd, este te permite
> desabilitarlo.
>
> Si bien veo, Necesitas Directorio por usuarios en tu servidor; no
> puedes apuntar a /home puesto que este directorio sale del chroot
> /var/www
>
> Mi sugerencia, es crear espacios dentro de /var/www/users/  para cada
> usuario en cuestion, posteriormente crear un symlink desde el home del
> usuario real, a /var/www/users/kancer  por ejemplo.
>
> Quedaria de la sig. manera:
>
> /var/www/users/kanser
>
> En tu home;  /home/kanser
>
> $ ln -s /var/www/users/ficovh/ public_html
>
> De modo que tu httpd.conf tiene que apuntar siempre a /var/www/users/*
>  porque es el directorio permitido por chroot.
>
> Espero esta info te sirva.
>
> Un saludo.
>
> 2012/4/20 kanzer <kanser...@yahoo.com.mx>:
> >     ServerNamewww.dominio.com
> >     ServerAlias dominio.com
> >     ErrorLog logs/dominio.com-error_log
> >     Options ExecCgi Includes MultiViews Indexes FollowSymlinks
> > SymLinksIfOwnerMa
> > tch
> >     CustomLog logs/dominio.com-access_log common
> > </VirtualHost>
>
> > pero ahora me da un error 404 not found
> > sabrán por que?
>
> > tengo un vps aquihttps://www.rootbsd.net/manage/aff.php?aff=084
> > Para tener acceso a más opciones, visita el grupo enhttp://groups.google.com/group/openbsd-mexico?hl=es.

Fernando Quintero

unread,
Apr 21, 2012, 6:01:05 PM4/21/12
to openbsd...@googlegroups.com
Intenta subir el servicio web manualmente, bajalo y luego haz:

httpd -u

para que suba sin chroot, con eso compruebas si ese es el problema.
Cuando este identificado, puedes modificar las opciones de chroot en el script rc.

2012/4/21 kanzer <kans...@yahoo.com.mx>

kanzer

unread,
Apr 23, 2012, 8:21:12 PM4/23/12
to OpenBSD México
pero si pongo httpd -u quita el chroot no entonces no tendría caso

On 21 abr, 17:01, Fernando Quintero <fernando.a.quint...@gmail.com>
wrote:
> Intenta subir el servicio web manualmente, bajalo y luego haz:
>
> httpd -u
>
> para que suba sin chroot, con eso compruebas si ese es el problema.
> Cuando este identificado, puedes modificar las opciones de chroot en el
> script rc.
>
> 2012/4/21 kanzer <kanser...@yahoo.com.mx>
> > >  --http://blog.bsdguy.net-Jesus Christ follower.
>
> > --
> > Has recibido este mensaje porque estás suscrito al grupo "OpenBSD México"
> > de Grupos de Google.
> > Para publicar una entrada en este grupo, envía un correo electrónico a
> > openbsd...@googlegroups.com.
> > Para anular tu suscripción a este grupo, envía un correo electrónico a
> > openbsd-mexic...@googlegroups.com
> > Para tener acceso a más opciones, visita el grupo en
> >http://groups.google.com/group/openbsd-mexico?hl=es.
>
> --
>
> --------------

Fernando Quintero

unread,
Apr 23, 2012, 8:22:46 PM4/23/12
to openbsd...@googlegroups.com
Es solo por probar si ese es el problema, luego lo configuras adecuadamente.

2012/4/23 kanzer <kans...@yahoo.com.mx>

kanzer

unread,
Apr 23, 2012, 9:30:39 PM4/23/12
to OpenBSD México
gracias amigo mira en este instante tengo esto en httpd.conf:

UserDir /home/*/public_html

#
# Control access to UserDir directories. The following is an example
# for a site where these directories are restricted to read-only and
# are located under /users/<username>
# You will need to change this to match your site's home directories.
#
#<Directory /home/*/public_html>
# AllowOverride FileInfo AuthConfig Limit
# Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
# <Limit GET POST OPTIONS PROPFIND>
# Order allow,deny
# Allow from all
# </Limit>
# <Limit PUT DELETE PATCH PROPPATCH MKCOL COPY MOVE LOCK UNLOCK>
# Order deny,allow
# Deny from all
# </Limit>
#</Directory>

y en el virtual

<VirtualHost 199.102.76.30>
ServerAdmin kan...@riseup.net
DocumentRoot /home/user
ServerName www.dominio.com
ServerAlias dominio.com
ErrorLog logs/dominio.com-error_log
Options ExecCgi Includes MultiViews Indexes FollowSymlinks
SymLinksIfOwnerMa
tch
CustomLog logs/dominio.com-access_log common
</VirtualHost>


y puse lo siguiente siguiendo tus instrucciones:

#apachectl stop

#httpd -u

y sorpresa funciona bien poniendo el www.dominio.com y también
poniendo http://la-ip/~user y http://la-ip/~anotheruser

cada usuario tiene dentro de su home/usario/ una carpeta llamada
public_html

ahora ¿que tengo que hacer para el chroot?

¿sera algo de las opciones en el virtual como? "Options ExecCgi
Includes MultiViews Indexes FollowSymlinks SymLinksIfOwnerMa"

o que sera ya estoy muy entusiasmado


On 23 abr, 19:22, Fernando Quintero <fernando.a.quint...@gmail.com>
wrote:
> Es solo por probar si ese es el problema, luego lo configuras adecuadamente.
>
> 2012/4/23 kanzer <kanser...@yahoo.com.mx>
> > > > >  --http://blog.bsdguy.net-JesusChrist follower.

kanzer

unread,
Apr 23, 2012, 9:46:08 PM4/23/12
to OpenBSD México
a disculpa en el virtual en la linea de DocumentRoot /home/user tengo
DocumentRoot /home/user/public_html y lo demas gracias
>     ServerNamewww.dominio.com
>     ServerAlias dominio.com
>     ErrorLog logs/dominio.com-error_log
>     Options ExecCgi Includes MultiViews Indexes FollowSymlinks
> SymLinksIfOwnerMa
> tch
>     CustomLog logs/dominio.com-access_log common
> </VirtualHost>
>
> y puse lo siguiente siguiendo tus instrucciones:
>
> #apachectl stop
>
> #httpd -u
>
> y sorpresa funciona bien poniendo elwww.dominio.comy también
> poniendohttp://la-ip/~useryhttp://la-ip/~anotheruser
> > > > > México" de...
>
> leer más »

Fernando Quintero

unread,
Apr 23, 2012, 10:07:25 PM4/23/12
to openbsd...@googlegroups.com
Hola!,

Si te funcionó sin el chroot es porque tienes los directorios creados en la raiz del sistema real, así cuando uses el chroot del apache debes tener en cuenta que las rutas que creas deben ser relativas al chroot del apache.

Así que si quieres tener homes de usuarios deberían estar en:

/var/www/home/user/public_html
/var/www/users/user/etc

La raiz que ve tu chroot es /var/www de ahí en adelante debes poner todo lo que necesites.

Saludos.

2012/4/23 kanzer <kans...@yahoo.com.mx>

kanzer

unread,
Apr 24, 2012, 6:31:55 PM4/24/12
to openbsd...@googlegroups.com
osea que chroot y  /home**** no es posible ni con ln -s o alun truco 

o si pono  /var/www/home/user/public_html se refiere a mis directorios  /home/user/public_html gracias lo que no quiero usar es el espacio de mi directorio /var en adelante porque tengo poco mira como tengo mis particiones

$ df -h
Filesystem     Size    Used   Avail Capacity  Mounted on
/dev/wd0a      229M   43.7M    174M    20%    /
/dev/wd0k      2.3G    220M    2.0G    10%    /home
/dev/wd0d      358M    8.0K    340M     0%    /tmp
/dev/wd0f      1.0G    449M    534M    46%    /usr
/dev/wd0g      592M    178M    384M    32%    /usr/X11R6
/dev/wd0h      2.3G    149M    2.0G     7%    /usr/local
/dev/wd0j      1.4G    2.0K    1.3G     0%    /usr/obj
/dev/wd0i      1.0G    2.0K   1013M     0%    /usr/src
/dev/wd0e      469M    469M    0M    100%    /var
$
y mejor use /home se puede o tendre que dejar de lado la onda chroot
Reply all
Reply to author
Forward
0 new messages