diff --git a/es_ES.ISO8859-1/articles/Makefile b/es_ES.ISO8859-1/articles/Makefile
index 1331b87171..4a5343f24a 100644
--- a/es_ES.ISO8859-1/articles/Makefile
+++ b/es_ES.ISO8859-1/articles/Makefile
@@ -1,24 +1,25 @@
# $FreeBSD$
# $FreeBSDes: doc/es_ES.ISO8859-1/articles/Makefile,v 1.3 2004/10/09 02:01:17 jesusr Exp $
SUBDIR =
SUBDIR+= casestudy-argentina.com
SUBDIR+= contributing
SUBDIR+= cvs-freebsd
SUBDIR+= dialup-firewall
SUBDIR+= euro
SUBDIR+= explaining-bsd
SUBDIR+= fbsd-from-scratch
SUBDIR+= fdp-es
SUBDIR+= laptop
SUBDIR+= linux-comparison
SUBDIR+= mailing-list-faq
+SUBDIR+= nanobsd
SUBDIR+= p4-primer
SUBDIR+= problem-reports
SUBDIR+= releng
SUBDIR+= version-guide
SUBDIR+= zip-drive
DOC_PREFIX?= ${.CURDIR}/../..
.include "${DOC_PREFIX}/share/mk/doc.project.mk"
diff --git a/es_ES.ISO8859-1/articles/nanobsd/Makefile b/es_ES.ISO8859-1/articles/nanobsd/Makefile
new file mode 100644
index 0000000000..4b9cf79584
--- /dev/null
+++ b/es_ES.ISO8859-1/articles/nanobsd/Makefile
@@ -0,0 +1,25 @@
+#
+# $FreeBSD$
+#
+# Article: Introduction to NanoBSD
+
+DOC?= article
+
+FORMATS?= html
+WITH_ARTICLE_TOC?= YES
+
+INSTALL_COMPRESSED?= gz
+INSTALL_ONLY_COMPRESSED?=
+
+# Images from the cross-document image library
+IMAGES_LIB= callouts/1.png
+IMAGES_LIB+= callouts/2.png
+IMAGES_LIB+= callouts/3.png
+IMAGES_LIB+= callouts/4.png
+
+SRCS= article.sgml
+
+URL_RELPREFIX?= ../../../..
+DOC_PREFIX?= ${.CURDIR}/../../..
+
+.include "${DOC_PREFIX}/share/mk/doc.project.mk"
diff --git a/es_ES.ISO8859-1/articles/nanobsd/article.sgml b/es_ES.ISO8859-1/articles/nanobsd/article.sgml
new file mode 100644
index 0000000000..3fc6bcd2bb
--- /dev/null
+++ b/es_ES.ISO8859-1/articles/nanobsd/article.sgml
@@ -0,0 +1,566 @@
+
+
+
+ %articles.ent; ]>
+
+
+
+
+
+
+
+ Introducción a NanoBSD
+
+
+
+ Daniel
+ Gerzo
+
+
+
+ $FreeBSD$
+
+
+ 2006
+ The FreeBSD Documentation Project
+
+
+
+ &tm-attrib.freebsd; &tm-attrib.general;
+
+
+
+ Este documento trata sobre NanoBSD.
+ NanoBSD es una herramienta que permite
+ crear imágenes del sistema &os; para su uso en
+ aplicaciones empotradas y listas para cargarse en una
+ tarjeta Compact Flash (u otro medio de almacenamiento
+ masivo).
+ &trans.es.german;
+
+
+
+
+ Introducción a NanoBSD
+
+ NanoBSD
+
+ NanoBSD es una herramienta
+ actualmente desarrollada por &a.phk;. Crea una imagen del
+ sistema &os; para aplicaciones empotradas lista para su uso en
+ una tarjeta Compact Flash (u otro medio de almacenamiento
+ masivo).
+
+ Puede utilizarse para generar imágenes
+ instalables especiales; está diseñado pensando en una
+ instalación y mantenimiento fáciles en sistemas
+ conocidos como sistemas empotrados. Los
+ sistemas empotrados tienen hardware y software
+ integrado en el producto, lo que significa que todas las
+ aplicaciones están preinstaladas. Estos dispositivos
+ pueden conectarse a una red dada y comenzar a trabajar
+ (casi) inmediatamente.
+
+ Las características
+ de NanoBSD incluyen:
+
+
+
+ Los ports y paquetes funcionan como en &os;:
+ Cualquier aplicación puede instalarse y usarse en
+ una imagen de NanoBSD de la
+ misma forma que en &os;.
+
+
+
+ No se pierde funcionalidad: Si es posible hacer
+ algo en &os; es posible hacer lo mismo
+ en NanoBSD, a menos que se haya
+ eliminado explícitamente esa característica o
+ características especiales al crear la imagen
+ de NanoBSD.
+
+
+
+ Todo está en modo de sólo lectura
+ durante el funcionamiento del sistema: Un apagado
+ brusco es totalmente seguro. No es necesario ejecutar
+ &man.fsck.8; después de que el sistema sufra
+ un apagón.
+
+
+
+ Fácil de generar y personalizar: Usando
+ un solo script de shell y un fichero de configuración
+ pueden generarse imágenes reducidas y personalizadas
+ que satisfagan cualquier necesidad.
+
+
+
+
+
+ NanoBSD Howto
+
+
+ El diseño de NanoBSD
+
+ Una vez que la imagen está en el medio puede
+ arrancar NanoBSD. El medio
+ de almacenamiento se divide por omisión en tres
+ partes:
+
+
+
+ Dos particiones de la imagen: code#1
+ y code#2.
+
+
+
+ La partición que contiene los ficheros de
+ configuración, que puede montarse bajo
+ /cfg durante el
+ funcionamiento del sistema.
+
+
+
+ Estas particiones se montan normalmente en modo de
+ sólo lectura.
+
+ Los directorios /etc
+ y /var son discos
+ &man.md.4; (malloc).
+
+ La partición de los ficheros de configuración
+ permanece bajo el
+ directorio /cfg. Este
+ directorio contiene ficheros que usa el
+ directorio /etc y se
+ monta en modo de sólo lectura inmediatamente
+ después del arranque; por lo tanto, es necesario que
+ los ficheros que se modifiquen
+ en /etc se copien
+ en /cfg si se desea que
+ los cambios perduren después del reinicio del
+ sistema.
+
+
+ Cómo hacer cambios persistentes
+ en /etc/resolv.conf
+
+ &prompt.root; vi /etc/resolv.conf
+[...]
+&prompt.root; mount /cfg
+&prompt.root; cp /etc/resolv.conf /cfg
+&prompt.root; umount /cfg
+
+
+
+ La partición que contiene el
+ directorio /cfg
+ debería montarse únicamente en el arranque y
+ mientras se sobreescriben los ficheros de
+ configuración.
+
+ No es buena idea montar siempre el
+ directorio /cfg,
+ especialmente si el
+ sistema NanoBSD se ejecuta en un
+ dispositivo de almacenamiento masivo que pueda verse
+ afectado negativamente por un número elevado de
+ escrituras en la partición (i.e. cuando el sistema de
+ ficheros sincroniza los datos con el sistema de
+ discos).
+
+
+
+
+ Cómo generar una imagen de NanoBSD
+
+ Una imagen de NanoBSD se genera
+ usando el sencillo script de
+ shell nanobsd.sh, ubicado en el
+ directorio /usr/src/tools/tools/nanobsd.
+ El script crea una imagen que se deberá copiar al medio
+ de almacenamiento mediante la utilidad &man.dd.1;.
+
+ Los comandos necesarios para generar una imagen
+ de NanoBSD son:
+
+ &prompt.root; cd /usr/src/tools/tools/nanobsd
+&prompt.root; sh nanobsd.sh
+&prompt.root; cd /usr/obj/nanobsd.full
+&prompt.root; dd if=_.disk.full of=/dev/da0 bs=64k
+
+
+
+ Cambia el directorio actual por el directorio base del
+ script de generación
+ de NanoBSD.
+
+
+
+ Comienza el proceso de generación.
+
+
+
+ Cambia el directorio actual por el directorio donde se
+ encuentra la imagen generada.
+
+
+
+ Instala NanoBSD dentro del
+ medio de almacenamiento.
+
+
+
+
+
+ Personalización de una imagen de NanoBSD
+
+ Esta es probablemente la característica más
+ importante y más interesante
+ de NanoBSD. Tambié es donde
+ usted pasará la mayor parte del tiempo cuando esté
+ desarrollando con NanoBSD.
+
+ La invocación del siguiente comando forzará
+ al script nanobsd.sh a leer su
+ configuración desde el
+ fichero mi-configuracion.nano ubicado en el
+ directorio actual:
+
+ &prompt.root; sh nanobsd.sh -c mi-configuracion.nano
+
+ La personalización se hace de dos maneras:
+
+
+
+ Opciones de configuración
+
+
+
+ Funciones personalizadas
+
+
+
+
+ Opciones de configuración
+
+ Por medio de ajustes de configuración es posible
+ configurar las opciones que se pasan a las
+ fases buildworld
+ e installworld del proceso de
+ generación de NanoBSD.
+ Mediante estas opciones puede reducirse el tamaño del
+ sistema de manera que pueda incluso encajar en algo tan
+ pequeño como un dispositivo de 64MB. Es posible recortar &os;
+ incluso más, hasta que consista únicamente
+ en el kernel y dos o tres ficheros de
+ userland.
+
+ El fichero de configuración está compuesto por
+ opciones de configuración que sobreescriben los valores
+ por omisión. Las directivas más importantes
+ son:
+
+
+
+ NANO_NAME : Nombre de la
+ generación que estamos ejecutando (se usa
+ para dar nombres a los directorios donde encontraremos el
+ resultado del proceso).
+
+
+
+ NANO_SRC : Ruta al código
+ fuente que se usará para generar la imagen.
+
+
+
+ NANO_KERNEL : Nombre del fichero de
+ configuración del kernel que se usará para
+ generar el kernel.
+
+
+
+ CONF_BUILD : Opciones que se pasan a
+ la fase buildworld.
+
+
+
+ CONF_INSTALL : Opciones que se pasan a
+ la fase installworld.
+
+
+
+ CONF_WORLD : Opciones que se pasan
+ tanto a buildworld como a
+ installworld.
+
+
+
+ FlashDevice : Define el tipo de medio
+ de almacenamiento que se usará. Para más
+ información consulte el
+ fichero FlashDevice.sub.
+
+
+
+
+
+ Funciones personalizadas
+
+ Puede ajustar NanoBSD
+ de forma muy precisa mediante el uso de funciones de
+ shell en el fichero de configuración. En el siguiente
+ ejemplo vemos un modelo básico de función
+ personalizada.
+
+ cust_foo () (
+ echo "bar=topless" > \
+ ${NANO_WORLDDIR}/etc/foo
+)
+customize_cmd cust_foo
+
+ A continuación vemos un ejemplo más útil
+ de función personalizada, que cambia el tamaño por
+ omisión del directorio
+ /etc de 5MB a 30MB:
+
+ cust_etc_size () (
+ cd ${NANO_WORLDDIR}/conf
+ echo 30000 > default/etc/md_size
+)
+customize_cmd cust_etc_size
+
+ Hay unas pocas funciones de personalización
+ predefinidas listas para su uso:
+
+
+
+ cust_comconsole : Deshabilita
+ &man.getty.8; en los dispositivos VGA (los nodos de
+ dispositivo /dev/tty*) y habilita el
+ uso del puerto serie COM1 para que sea la consola del
+ sistema.
+
+
+
+ cust_allow_ssh_root : Permite a
+ root acceder a través de
+ &man.sshd.8;.
+
+
+
+
+ cust_install_files : Instala ficheros
+ de configuración desde el
+ directorio nanobsd/files,
+ que contiene scripts útiles para la
+ administración del sistema.
+
+
+
+
+
+ Cómo añadir paquetes
+
+ Se pueden añadir paquetes a la imagen de
+ NanoBSD usando una función
+ personalizada. La siguiente función instalará
+ todos los paquetes que se encuentren en
+ /usr/src/tools/tools/nanobsd/packages:
+
+
+ install_packages () (
+ mkdir -p ${NANO_WORLDDIR}/packages
+ cp /usr/src/tools/tools/nanobsd/packages/* ${NANO_WORLDDIR}/packages
+ chroot ${NANO_WORLDDIR} sh -c 'cd packages; pkg_add -v *;cd ..;'
+ rm -rf ${NANO_WORLDDIR}/packages
+)
+customize_cmd install_packages
+
+
+
+ Ejemplo de fichero de configuración
+
+ El siguiente es un ejemplo completo de fichero de
+ configuración para generar una imagen personalizada
+ de NanoBSD:
+
+ NANO_NAME=custom
+NANO_SRC=/usr/src
+NANO_KERNEL=MYKERNEL
+NANO_IMAGES=2
+
+CONF_BUILD='
+NO_KLDLOAD=YES
+NO_NETGRAPH=YES
+NO_PAM=YES
+'
+
+CONF_INSTALL='
+NO_ACPI=YES
+NO_BLUETOOTH=YES
+NO_CVS=YES
+NO_FORTRAN=YES
+NO_HTML=YES
+NO_LPR=YES
+NO_MAN=YES
+NO_SENDMAIL=YES
+NO_SHAREDOCS=YES
+NO_EXAMPLES=YES
+NO_INSTALLLIB=YES
+NO_CALENDAR=YES
+NO_MISC=YES
+NO_SHARE=YES
+'
+
+CONF_WORLD='
+NO_BIND=YES
+NO_MODULES=YES
+NO_KERBEROS=YES
+NO_GAMES=YES
+NO_RESCUE=YES
+NO_LOCALES=YES
+NO_SYSCONS=YES
+NO_INFO=YES
+'
+
+FlashDevice SanDisk 1G
+
+cust_nobeastie() (
+ touch ${NANO_WORLDDIR}/boot/loader.conf
+ echo "beastie_disable=\"YES\"" >> ${NANO_WORLDDIR}/boot/loader.conf
+)
+
+customize_cmd cust_comconsole
+customize_cmd cust_install_files
+customize_cmd cust_allow_ssh_root
+customize_cmd cust_nobeastie
+
+
+
+
+ Cómo actualizar NanoBSD
+
+ El proceso de actualización
+ de NanoBSD es relativamente
+ simple:
+
+
+
+ Generar una nueva imagen
+ de NanoBSD de la forma
+ habitual.
+
+
+
+ Copiar la nueva imagen sobre la partición no
+ utilizada del sistema empotrado que está
+ usando NanoBSD.
+
+ La diferencia más importante entre este paso y
+ la instalación inicial
+ de NanoBSD es que ahora en
+ lugar de usar el fichero _.disk.full
+ (que contiene una imagen de todo el disco) se instala
+ la imagen _.disk.image (que contiene
+ una imagen de una sola partición).
+
+
+
+ Reiniciar y arrancar el sistema desde la
+ partición que se acaba de instalar.
+
+
+
+ Si todo va bien la actualización ha
+ terminado.
+
+
+
+ Si algo va mal reinicie desde la partición
+ anterior (que contiene la imagen vieja, pero que
+ funciona) para recuperar el funcionamiento del
+ sistema lo antes posible. Arregle los problemas
+ de la nueva generación y repita el proceso.
+
+
+
+ Para facilitar la instalación de una imagen
+ nueva en su sistema NanoBSD en
+ funcionamiento dispone de los scripts updatep1
+ y updatep2, ubicados en el directorio
+ /root. La
+ elección de uno u otro script depende de qué
+ partición esté ejecutando el sistema,
+ la primera o la segunda.
+
+ Dependiendo de los servicios disponibles en
+ la máquina que va a servir la nueva imagen
+ de NanoBSD y del tipo de
+ transferencia de datos que prefiera uno de estos tres
+ métodos le resultará más o menos
+ interesante:
+
+
+ Uso de &man.ftp.1;
+
+ Si la prioridad es la velocidad de la transferencia
+ use usted este ejemplo:
+
+ &prompt.root; ftp mi-maquina
+get _.disk.image "| sh updatep1"
+
+
+
+ Uso de &man.ssh.1;
+
+ Si la prioridad es la seguridad de la transferencia
+ seguramente ejecutará algo muy parecido a lo
+ siguiente:
+
+ &prompt.root; ssh mi-maquina cat _.disk.image.gz | zcat | sh updatep1
+
+
+
+ Uso de &man.nc.1;
+
+ Si la máquina remota no dispone de servicios de
+ &man.ftp.1; ni de &man.sshd.8; puede recurrir al siguiente
+ ejemplo:
+
+
+
+ Primero abra un puerto TCP de escucha en la
+ máquina que sirve la imagen y envíela
+ al cliente:
+
+ mi-maquina&prompt.root; nc -l 2222 < _.disk.image
+
+
+ Asegúrese de que el puerto elegido no tenga
+ bloqueadas las conexiones entrantes desde la
+ máquina NanoBSD por
+ ningún cortafuegos.
+
+
+
+
+ Conéctese a la máquina que va servir la
+ nueva imagen y ejecute el script
+ updatep1:
+
+ &prompt.root; nc mi-maquina 2222 | sh updatep1
+
+
+
+
+
+
diff --git a/es_ES.ISO8859-1/books/handbook/jails/chapter.sgml b/es_ES.ISO8859-1/books/handbook/jails/chapter.sgml
index 3239bfc6cd..ed8b35ebd9 100644
--- a/es_ES.ISO8859-1/books/handbook/jails/chapter.sgml
+++ b/es_ES.ISO8859-1/books/handbook/jails/chapter.sgml
@@ -1,33 +1,1043 @@
-
MatteoRiondato
- Escrito por
+ Escrito por Jaulas
- jaulas
+ jails
- *
+ Sinopsis
+
+ En este capítulo se explica qué son las
+ jaulas en &os; y cómo usarlas. Las jaulas, citadas
+ con frecuencia como la nueva generación de
+ entornos chroot, son una herramienta
+ muy poderosa que se ha puesto al servicio de los administradores
+ de sistemas, aunque su uso más básico puede
+ ser también de suma utilidad para usuarios avanzados.
+
+ Tras leer este capítulo sabrá usted:
+
+
+
+ Qué es una jaula y para qué puede usarse
+ en sistemas &os;.
+
+
+
+ Cómo generar, arrancar y parar una jaula.
+
+
+
+ Cómo manejarse con los rudimentos de la
+ administración de las jaulas, tanto desde dentro
+ como desde fuera de la jaula.
+
+
+
+ Otras fuentes de información útil sobre
+ las jaulas:
+
+
+
+ La página de manual &man.jail.8;. Es la referencia
+ completa de jail, la herramienta administrativa
+ de &os; con la que se arrancan, paran y controlan las jaulas.
+
+
+
+ Las listas de correo y sus respectivos archivos. Los archivos
+ de la &a.questions;, entre otras listas de correo alojadas en
+ el &a.mailman.lists; contienen una enorme cantidad de
+ información sobre jaulas. La ayuda que está
+ buscando puede obtenerla, por tanto, de una búsqueda
+ en los archivos de las listas o de enviar una pregunta que
+ nadie haya hecho en la lista de correo &a.questions.name;.
+
+
+
+
+
+
+ Términos relacionados con las jaulas
+
+ Para ayudar a comprender las partes de &os; que intervienen
+ en el funcionamiento de las jaulas, su funcionamiento interno y
+ el modo en que interactuan con el resto de &os;, durante el
+ resto del capítulo se utilizarán los siguientes
+ términos:
+
+
+
+ &man.chroot.2; (comando)
+
+ Es una llamada al sistema de &os; que restringe el
+ directorio raiz de un proceso y sus hijos.
+
+
+
+
+ &man.chroot.2; (entorno)
+
+ Es el entorno de procesos que se ejecutan en un
+ chroot. Esto incluye recursos como
+ la parte visible del sistema de ficheros, los ID de usuario
+ y grupo disponibles, interfaces de red u otros mecanismos IPC,
+
+
+
+
+ &man.jail.8; (comando)
+
+ La herramienta de administración que permite arrancar
+ procesos dentro del entorno de una jaula.
+
+
+
+
+ servidor (sistema, proceso, usuario, etc)
+
+ El sistema que controla una jaula. El servidor tiene
+ acceso a todos los recursos de hardware y puede controlar
+ procesos tanto dentro como fuera de la jaula. Una de las
+ diferencias importantes entre el sistema que aloja la jaula y
+ la jaula propiamente dicha: las limitaciones que afectan a
+ los procesos que se ejecutan con privilegios de superusuario
+ dentro de la jaula no dependen de los procesos del
+ servidor que la aloja.
+
+
+
+
+ enjaulado (sistema, proceso, usuario, etc.)
+
+ Un proceso, usuario u otra entidad, cuyo acceso a los
+ recursos está restringido por una jaula de &os;.
+
+
+
+
+
+
+ Introducción
+
+ Dado lo dificil y desconcertante de la tarea de
+ administrar sistemas se han ido desarrollando poderosas
+ herramientas con el fin de hacer la vida del administrador
+ más sencilla. Dichas herramientas suelen facilitar
+ cierto tipo de mejoras en la instalación, configuración
+ o mantenimiento de los sistemas. Una de las tareas que
+ se espera que cumpla un administrador de sistemas es la
+ configuración adecuada de la seguridad, de modo que
+ pueda dar el servicio para el que se ha destinado sin que
+ pueda verse comprometido.
+
+ Una de las herramientas disponibles para mejorar los niveles
+ de seguridad de un sistema &os; es el uso de
+ jaulas. Las jaulas fueron introducidas en
+ &os; 4.X por &a.phk;, pero en &os; 5.X sus capacidades fueron
+ aumentadas hasta hacer de ellas un subsistema poderoso y
+ flexible. Su desarrollo sigue avanzando, aumentando así su
+ utilidad, rendimiento, fiabilidad y seguridad.
+
+
+ Qué es una jaula
+
+ Los sistemas tipo BSD disponen de &man.chroot.2; desde
+ la época de 4.2BSD. &man.chroot.8; permite restringir
+ el directorio raiz de un conjunto de procesos, creando un
+ entorno seguro y separado del resto del sistema. Los procesos
+ creados dentro de un entorno chroot no pueden acceder a ficheros
+ o recursos ubicados fuera del mismo. Por esta razón,
+ si un atacante logra comprometer un servicio que se ejecuta
+ en un entorno chroot no debería automáticamente
+ poder acceder al resto del sistema. &man.chroot.8; es una
+ buena herramienta para tareas sencillas que no requieran
+ mucha flexibilidad o características complejas o muy
+ avanzadas. Por desgracia, desde la invención de chroot
+ se han ido encontrando muchas formas de saltarse las
+ barreras que chroot impone y, aunque estén corregidas
+ en las versiones más modernas del kernel de &os;,
+ era evidente que &man.chroot.2; no era la solución
+ ideal para ejecutar servicios con seguridad. Había
+ que implementar un nuevo subsistema.
+
+ Este es uno de los principales motivos por los que
+ se crearon las jaulas.
+
+ Las jaulas llevan más allá en muchos
+ sentidos el concepto tradicional de entorno
+ &man.chroot.2;. En un entorno &man.chroot.2; tradicional los
+ procesos solo ven limitada la parte del sistema de ficheros
+ a la que pueden acceder. El resto de recursos del sistema,
+ es decir, el conjunto de usuarios del sistema, los procesos
+ en ejecución o el subsistema de red están
+ compartidos entre el sistema alojado y el servidor. Las jaulas
+ extienden este modelo virtualizando no solamente el acceso al
+ sistema de ficheros, sino al conjunto de usuarios, al subsistema
+ de red del kernel de &os; y unas cuantas cosas más. En la se detallan diversas opciones de
+ control exhaustivo para configurar el acceso a recursos de
+ un entorno enjaulado.
+
+ Una jaula se caracteriza por disponer de cuatro elementos:
+
+
+
+ Un subárbol de directorios:
+ el punto desde el que se entra a una jaula. Una vez
+ dentro de la jaula un proceso no puede escapar de dicho
+ subárbol. Los típicos problemas
+ de seguridad que aparecín una y otra vez en el
+ diseño del &man.chroot.2; original no afectan a
+ las jaulas de &os;.
+
+
+
+ Un nombre de máquina (hostname),
+ que definirá a la jaula. Las jaulas se usan
+ principalmente para albergar servicios de red, por lo que
+ disponer de un nombre de máquina descriptivo ayuda
+ enormemente al administrador de sistemas.
+
+
+
+ Una dirección IP: debe asignarse
+ a la jaula y no cambiarse durante el ciclo de vida de la
+ jaula. La dirección IP de una jaula suele ser un
+ alias de un interfaz de red, aunque no es imprescindible que
+ así sea.
+
- Pendiente de traducción.
+
+ Un comando: La ruta de un ejecutable ubicado dentro de
+ la jaula. La ruta es relativa al directorio raiz de la
+ jaula, por lo que puede ser muy diferentes según
+ el entorno.
+
+
+ Además, las jaulas pueden tener sus propios usuarios
+ e incluso su propio root. Es obvio que
+ este usuario root tiene su poder para hacer
+ circunscrito a la jaula y, desde el punto de vista del servidor,
+ el usuario root de la jaula no es
+ omnipotente. El usuario root de la jaula
+ no puede ejecutar tareas críticas fuera de la jaula
+ (&man.jail.8;) a la que pertenece. Más adelante, en
+ la , se dará más
+ información sobre las restricciones del usuario
+ root.
+
+
+ Creación y gestión de jaulas
+
+ Algunos administradores dividen las jaulas en dos tipos:
+ jaulas completas, que recrean un sistema &os;
+ real, y jaulas de servicio, que son aquellas
+ que están dedicadas a una sola aplicación o
+ servicio, en muchos casos ejecutándose sin privilegios. Se
+ trata de una división exclusivamente conceptual, por lo
+ que el proceso de generación de una jaula no se ve
+ afectado por ella. La página de manual &man.jail.8;
+ explica claramente el procedimiento a seguir para generar una
+ jaula:
+
+ &prompt.root; setenv D /aquí/está/la/jaula
+&prompt.root; mkdir -p $D
+&prompt.root; cd /usr/src
+&prompt.root; make world DESTDIR=$D
+&prompt.root; cd etc/Este paso
+no es necesario en &os; 6.0 y versiones posteriores.
+&prompt.root; make distribution DESTDIR=$D
+&prompt.root; mount_devfs devfs $D/dev
+
+
+
+ El mejor punto de partida es la elección del punto
+ del sistema de ficheros del servidor donde estará
+ físicamente ubicada la jaula. /usr/jail/nombredelajaula
+ es un buen sitio. nombredelajaula
+ es el nombre de máquina que identifica a la jaula. El
+ sistema de ficheros /usr/ suele tener espacio
+ suficiente para albergar el sistema de ficheros de la jaula que,
+ cuando se trata de jaulas completas, es
+ esencialmente lo necesario para alojar todos y cada uno de
+ los sistemas de ficheros en una instalación del sistema
+ base por omisión de &os;.
+
+
+
+ Este comando creará el contenido necesario
+ (binarios, bibliotecas, páginas de manual, etc.) y
+ lo copiará al subárbol elegido
+ como ubicación física de la jaula. Todo se
+ hace al típico estilo &os;: se compila todo y luego
+ se instala en la ruta de destino.
+
+
+
+ Al pasar el target
+ distribution a
+ make se instalan todos los ficheros
+ de configuración necesarios. En pocas palabras,
+ instala cada fichero instalable que haya en
+ /usr/src/etc/ en el
+ directorio /etc de la
+ jaula, es decir, en
+ $D/etc/.
+
+
+
+ No es imprescindible montar el sistema de ficheros
+ &man.devfs.8; dentro de la jaula aunque por otra parte
+ (casi) todas las aplicaciones necesitan acceso al menos
+ a un dispositivo, dependiendo esto del propósito
+ de la aplicación. Es muy importante el control del
+ acceso a dispositivos desde la jaula, puesto que una
+ configuración descuidada puede permitir que un
+ atacante haga de las suyas. El control sobre &man.devfs.8;
+ se gestiona mediante reglas que se detallan en las
+ páginas de manual &man.devfs.8; y &man.devfs.conf.5;.
+
+
+
+ Una vez instalada la jaula puede arrancarla mediante
+ &man.jail.8;. &man.jail.8; usa los cuatro argumentos que
+ se detallan en la . Puede pasarle otros argumentos
+ además de estos, por ejemplo para ejecutar procesos
+ enjaulados bajo los permisos de un usuario específico. El
+ argumento
+ depende del tipo de jaula; si se trata de un
+ virtual system/etc/rc
+ es una buena elección, puesto que ejecutará la
+ secuencia de arranque de un sistema &os; real. Si se trata
+ de una jaula de servicio depende del
+ servicio o aplicación que se quiera ejecutar mediante
+ la jaula.
+
+ Con frecuencia las jaulas se arrancan durante el arranque del
+ servidor que las aloja; el sistema rc de
+ &os; permite hacerlo de un modo muy sencillo.
+
+
+
+ Puede crear una lista de jaulas que quiera arrancar
+ en el inicio del sistema en el fichero
+ &man.rc.conf.5;:
+
+ jail_enable="YES" # Ponga NO si quiere desactivar el arranque de jaulas
+jail_list="www" # Lista de nombres de jaulas separados por espacios
+
+
+
+ Tendrá que añadir parámetros
+ específicos para cada jaula al fichero
+ &man.rc.conf.5;:
+
+ jail_www_rootdir="/usr/jail/www" # directorio raiz de la jaula
+jail_www_hostname="www.example.org" # nombre de máquina de la jaula
+jail_www_ip="192.168.0.10" # dirección IP de la jaula
+jail_www_devfs_enable="YES" # montar devfs en la jaula
+jail_www_devfs_ruleset="www_ruleset" # reglas a aplicar a devfs dentro de la jaula
+
+ El arranque de jaulas por omisión que se
+ configure en &man.rc.conf.5; ejecutará el script
+ /etc/rc de la jaula y asumirá
+ que es un sistema virtual completo. Si se trata de una
+ jaula de servicio el comando de arranque por omisión
+ tendrá que cambiarse configurando la opción
+ jail_nombredejaula_exec_start
+ según convenga.
+
+
+ Si quiere consultar la lista completa de opciones
+ consulte la página de manual
+ &man.rc.conf.5;.
+
+
+
+ Puede arrancar o parar a mano una jaula mediante el script
+ /etc/rc.d/jail siempre y cuando la jaula
+ aparezca en rc.conf:
+
+ &prompt.root; /etc/rc.d/jail start www
+&prompt.root; /etc/rc.d/jail stop www
+
+ De momento no hay una forma limpia de apagar una jaula
+ (&man.jail.8;) debido a que los comandos que se usan normalmente
+ para producir un apagado limpio del sistema no pueden usarse
+ dentro de una jaula. La mejor forma de parar una jaula es
+ ejecutar el siguiente comando desde dentro de la propia jaula
+ o bien mediante &man.jexec.8; desde fuera:
+
+ &prompt.root; sh /etc/rc.shutdown
+
+ Para más información consulte la página
+ de manual &man.jail.8;.
+
+
+
+ Administración y personalización a fondo
+
+ Hay diversas opciones que pueden usarse en las jaulas y varios
+ tipos de formas de combinar un sistema &os; servidor y las jaulas
+ y poder disponer de aplicaciones de alto nivel. En esta
+ sección se muestra lo siguiente:
+
+
+
+ Algunas de las opciones disponibles para personalizar
+ el comportamiento y las restricciones de seguridad que
+ pueden aplicarse en una jaula.
+
+
+
+ Algunas de las aplicaciones de alto nivel creadas para
+ la administración de jaulas. Estas aplicaciones
+ están en la colección de ports y pueden
+ utilizarse en conjunto para implementar productos
+ basados en jaulas.
+
+
+
+ Herramientas del sistema para la personalización
+ de jaulas en &os;
+
+ La personalización a fondo de las jaulas se hace
+ en su mayor parte mediante la configuración de variables
+ &man.sysctl.8;. Hay una subcategoría especial de
+ sysctl para que sea más sencillo organizar las opciones
+ más más importantes: se trata de las opciones
+ de la jerarquía security.jail.*
+ del kernel de &os;. A continuación veremos una lista
+ de las principales sysctl relacionadas con las jaulas y los
+ valores que tienen por omisión. Los nombres deberían
+ describir por sí mismos qué función tienen
+ (N. del T.: En inglés, claro) pero si necesita más
+ información sobre ellas consulte las páginas de
+ manual &man.jail.8; y &man.sysctl.8;.
+
+
+
+ security.jail.set_hostname_allowed:
+ 1
+
+
+
+ security.jail.socket_unixiproute_only:
+ 1
+
+
+
+ security.jail.sysvipc_allowed:
+ 0
+
+
+
+ security.jail.enforce_statfs:
+ 2
+
+
+
+ security.jail.allow_raw_sockets:
+ 0
+
+
+
+ security.jail.chflags_allowed:
+ 0
+
+
+
+ security.jail.jailed: 0
+
+
+
+ El administrador del servidor puede
+ usar estas variables para añadir o quitar limitaciones
+ impuestas por omisión al usuario
+ root. Tenga en cuenta que hay ciertas
+ limitaciones que no pueden quitarse. El usuario
+ root no puede montar o desmontar sistemas
+ de ficheros desde su jaula. El usuario root
+ no puede cargar o descargar reglas de &man.devfs.8;, configurar
+ reglas de cortafuegos ni ejecutar muchas otras tareas
+ administrativas que requieran modificaciones o acceso a datos
+ internos del kernel, como cambiar el nivel de seguridad
+ securelevel del kernel.
+
+ El sistema base de &os; contiene un conjunto básico
+ de herramientas que permiten el acceso a información
+ sobre jaulas activas en el sistema, así como la
+ conexión a una jaula para ejecutar comandos
+ administrativos. &man.jls.8; y &man.jexec.8; forman parte
+ del sistema base de &os; y permiten ejecutar las siguientes
+ tareas:
+
+
+
+ Mostrar una lista de jaulas activas y sus correspondientes
+ identificadores de jaula (JID),
+ dirección IP, nombre de máquina
+ y ruta.
+
+
+
+ Conectarse a una jaula en ejecució desde el
+ servidor y ejecutar un comando dentro de la jaula o
+ realizar tareas administrativas dentro de dicha jaula. Esto
+ es muy útil cuando el usuario
+ root quiere apagar la jaula de forma
+ limpia. La herramienta &man.jexec.8; permite
+ también arrancar una shell dentro de la jaula para
+ realizar tareas administrativas. Veamos un ejemplo:
+
+ &prompt.root; jexec 1 tcsh
+
+
+
+
+
+ Herramientas para tareas administrativas de alto nivel
+ en la Colección de Ports
+
+ Entre las variadas aplicaciones ajenas al Proyecto &os; que
+ han ido apareciendo para administrar jaulas una de las más
+ completas y útiles es sysutils/jailutils. Es un conjunto de
+ pequeñas aplicaciones de mucha ayuda en la gestión
+ de una jaula (&man.jail.8;). Por favor, consulte su página
+ web para más información.
+
+
+
+
+ Uso de las jaulas
+
+
+
+
+
+ Daniel
+ Gerzo
+ Escrito por
+
+
+
+
+
+ Jaulas de servicio
+
+ Esta sección está basada en una idea
+ que &a.simon; presentó por primera vez en y en
+ un artículo con contenido adicional escrito por Ken
+ Tom locals@gmail.com. En esta sección
+ se detalla cómo configurar un sistema &os; que
+ añade una capa adicional de seguridad mediante el uso
+ de &man.jail.8;. Para su verdadero aprovechamiento se asume
+ que el sistema en el que se vaya a aplicar ejecuta al menos
+ RELENG_6_0 y que la información que contienen las secciones
+ previas de este capítulo se ha comprendido totalmente.
+
+
+ Diseño
+
+ Uno de los mayores problemas de las jaulas es la
+ gestión de su proceso de actualización. Este
+ proceso tiene a ser un problema porque cada jaula tiene que
+ recompilarse íntegramente desde el código fuente
+ cada vez que hay que actualizarla. Esto no es un gran problema
+ si tenemos una sola jaula puesto que el proceso de
+ actualización es bastante simple, pero si hay muchas
+ jaulas será un trabajo largo y tedioso.
+
+
+ : Esta configuración requiere mucha experiencia
+ con &os; y el uso de sus características. Si los
+ pasos que se detallan a continuación le parecen
+ demasiado complicados puede echar un vistazo a sistemas
+ más sencillos como sysutils/ezjail, que le
+ permitirá acceder a un método de
+ administración de jaulas en &os; más sencillo
+ y no es tan sofisticado como el que le proponemos a
+ continuación.
+
+
+ El origen de esta idea es resolver los problemas antes
+ descritos compartiendo el máximo posible entre distintas
+ jaulas, de un modo seguro (utilizando montajes
+ using read-only &man.mount.nullfs.8; mounts) para que la
+ actualización sea más sencilla y el ubicar
+ servicios aislados en jaulas sea más interesante.
+ Además, se presenta una forma sencilla de añadir
+ o borrar jaulas así como una forma de actualizarlas.
+
+
+ Los ejemplos de servicios en este contexto son: un
+ servidor HTTP,un servidor
+ DNS, un servidor
+ SMTP, etc.
+
+
+ Los objetivos de la configuración descrita en
+ esta sección son:
+
+
+
+ Crear una estructura de jaulas simple y fácil
+ de entender. Esto implica no tener
+ que ejecutar un installworld completo en
+ todas y cada una de las jaulas.
+
+
+ Facilitar la creación de nuevas jaulas o
+ el borrado de jaulas previamente existentes.
+
+
+ Facilitar la actualización de jaulas
+ ya existentes.
+
+
+ Hacer posible el uso de una rama de &os;
+ personalizada.
+
+
+ Ser paranoico en cuanto a seguridad, reduciendo
+ todo lo posible la posibilidad de que los sistemas
+ se vean comprometidos.
+
+
+ Ahorrar todo el espacio e inodos que sea
+ posible.
+
+
+
+ Como ya se ha dicho, este diseño se basa en
+ gran medida en el disponer de una única plantilla
+ en modo de sólo lectura (a la que llamaremos
+ nullfs) montada en cada jaula
+ y un dispositivo en modo lectura-escritura por cada jaula. El
+ dispositivo puede ser otro disco físico adicional, una
+ partición o un dispositivo &man.md.4; basado en un
+ vnode. En este ejemplo utilizaremos montajes
+ nullfs en modo
+ lectura-escritura.
+
+ La estructura del sistema de ficheros se detalla en
+ la siguiente lista:
+
+
+
+ Cada jaula se montará bajo /home/j.
+
+
+ /home/j/mroot
+ será la plantilla para cada jaula y la
+ partición de sólo lectura para todas las
+ jaulas.
+
+
+ Se creará un directorio vacío para
+ cada jaula bajo el directorio /home/j.
+
+
+ Cada jaula tendrá un directorio /s que estará enlazado
+ con la parte de lectura-escritura del sistema.
+
+
+ Cada jaula tendrá su propio sistema en modo
+ lectura-escritura basado en /home/j/skel.
+
+
+ Cada parte de lectura-escritura correspondiente a cada
+ jaula se creará en /home/js.
+
+
+
+
+ Se asume que las jaulas se instalarán bajo
+ la partición /home. Por supuesto esto no
+ es en absoluto obligatorio, pero hay que tener en cuenta que
+ debe hacerse el mismo cambio en cada uno de los ejemplos que
+ se muestran más adelante.
+
+
+
+
+
+ Creación de la plantilla
+
+ En esta sección se describen los pasos necesarios
+ para crear la plantilla maestra que conformará la
+ parte de sólo lectura que usarán las jaulas.
+
+ Siempre es recomendable actualizar el sistema &os; a la
+ última rama -RELEASE. Consulte el capítulo
+ correspondiente de este libro si necesita más
+ información. En caso de que la actualización no
+ sea posible tendrá que usar buidworld para
+ poder seguir adelante. También necesitará el
+ paquete sysutils/cpdup. Usaremos
+ &man.portsnap.8; para descargar la Colección de Ports
+ de &os;. El capítulo sobre Portsnap
+ es siempre una lectura muy recomendable para quienes no tengan
+ experiencia con su funcionamiento.
+
+
+
+ Lo primero que haremos será crear una estructura
+ de directorios para el sistema de ficheros de sólo
+ lectura que contendrá los binarios de nuestras jaulas,
+ luego iremos al directorio que contiene el árbol de
+ código de &os; e instalaremos el sistema de ficheros
+ de sólo lectura en la plantilla de las jaulas:
+
+ &prompt.root; mkdir /home/j /home/j/mroot
+&prompt.root; cd /usr/src
+&prompt.root; make installworld DESTDIR=/home/j/mroot
+
+
+ Una vez hecho esto, prepararemos la Colección
+ de Ports de &os; para nuestras jaulas así como un
+ árbol de código &os;, necesario para usar
+ mergemaster:
+
+ &prompt.root; cd /home/j/mroot
+&prompt.root; mkdir usr/ports
+&prompt.root; portsnap -p /home/j/mroot/usr/ports fetch extract
+&prompt.root; cpdup /usr/src /home/j/mroot/usr/src
+
+
+ Crear la estructura de directorios necesaria para la
+ parte de lectura-escritura del sistema:
+
+ &prompt.root; mkdir /home/j/skel /home/j/skel/home /home/j/skel/usr-X11R6 /home/j/skel/distfiles
+&prompt.root; mv etc /home/j/skel
+&prompt.root; mv usr/local /home/j/skel/usr-local
+&prompt.root; mv tmp /home/j/skel
+&prompt.root; mv var /home/j/skel
+&prompt.root; mv root /home/j/skel
+
+
+ Usamos mergemaster para
+ instalar los ficheros de configuración que
+ falten. Después nos libramos de los directorios
+ adicionales que haya creado
+ mergemaster:
+
+ &prompt.root; mergemaster -t /home/j/skel/var/tmp/temproot -D /home/j/skel -i
+&prompt.root; cd /home/j/skel
+&prompt.root; rm -R bin boot lib libexec mnt proc rescue sbin sys usr dev
+
+
+ Ahora enlazamos simbólicamente el sistema
+ de ficheros de lectura-escritura con el sistema de
+ ficheros de sólo lectura. Por favor,
+ asegúrese de que los enlaces simbólicos
+ se crean en las ubicaciones correctas: s/. Si se usan directorios
+ reales o directorios erróneos la instalación
+ no funcionará.
+
+ &prompt.root; cd /home/j/mroot
+&prompt.root; mkdir s
+&prompt.root; ln -s s/etc etc
+&prompt.root; ln -s s/home home
+&prompt.root; ln -s s/root root
+&prompt.root; ln -s ../s/usr-local usr/local
+&prompt.root; ln -s ../s/usr-X11R6 usr/X11R6
+&prompt.root; ln -s ../../s/distfiles usr/ports/distfiles
+&prompt.root; ln -s s/tmp tmp
+&prompt.root; ln -s s/var var
+
+
+ Como último paso, cree un
+ /home/j/skel/etc/make.conf
+ genérico con el siguiente contenido:
+
+ WRKDIRPREFIX?= /s/portbuild
+
+
+ El tener WRKDIRPREFIX configurado
+ de este modo hará posible compilar ports de &os;
+ dentro de cada jaula. Recuerde que el el directorio
+ de los ports es de sólo lectura. La ruta
+ personalizada por WRKDIRPREFIX
+ permite ejecutar compilaciones en la parte de
+ sólo lectura de cada jaula.
+
+
+
+
+
+ Creación de las jaulas
+
+ Ya tenemos una plantilla de jaulas de &os; completa,
+ así que podemos configurar nuestras jaulas en
+ /etc/rc.conf. En este ejemplo crearemos
+ 3 jaulas: NS,
+ MAIL y WWW.
+
+
+
+ Introduzca las siguientes lineas en el fichero
+ /etc/fstab; con esto cada jaula
+ tendrá acceso a la plantilla de sólo lectura
+ y al espacio de lectura-escritura:
+
+ /home/j/mroot /home/j/ns nullfs ro 0 0
+/home/j/mroot /home/j/mail nullfs ro 0 0
+/home/j/mroot /home/j/www nullfs ro 0 0
+/home/js/ns /home/j/ns/s nullfs rw 0 0
+/home/js/mail /home/j/mail/s nullfs rw 0 0
+/home/js/www /home/j/www/s nullfs rw 0 0
+
+
+ Las particiones que tienen un 0 en la columna
+ pass no serán revisadas por
+ &man.fsck.8; durante el arranque y las que tienen
+ un 0 en la columna dump no serán
+ copiadas por &man.dump.8;. No nos interesa que
+ fsck compruebe la
+ integridad de montajes nullfs
+ ni que dump haga copias de
+ seguridad de montajes nullfs de sólo lectura de las
+ jaulas. Por esta razón el ejemplo de
+ fstab tiene en las dos últimas
+ columnas 0 0.
+
+
+
+ Configure las jaulas en
+ /etc/rc.conf:
+
+ jail_enable="YES"
+jail_set_hostname_allow="NO"
+jail_list="ns mail www"
+jail_ns_hostname="ns.ejemplo.org"
+jail_ns_ip="192.168.3.17"
+jail_ns_rootdir="/usr/home/j/ns"
+jail_ns_devfs_enable="YES"
+jail_mail_hostname="mail.ejemplo.org"
+jail_mail_ip="192.168.3.18"
+jail_mail_rootdir="/usr/home/j/mail"
+jail_mail_devfs_enable="YES"
+jail_www_hostname="www.ejemplo.org"
+jail_www_ip="62.123.43.14"
+jail_www_rootdir="/usr/home/j/www"
+jail_www_devfs_enable="YES"
+
+
+ : La razón por la que
+ jail_nombre_rootdir
+ contiene /usr/home y no
+ /home es que la ruta
+ física del directorio/home en una instalación
+ de &os; por omisión es /usr/home. La variable
+ jail_nombre_rootdir
+ no debe apuntar a una ruta que
+ contenga un enlace simbólico porque sería
+ imposible arrancar las jaulas. Utilice
+ la herramienta &man.realpath.1; para asegurarse del valor
+ exacto que debe asignar a la variable. Por favor, consulte
+ el aviso de seguridad &os;-SA-07:01.jail para más
+ información.
+
+
+
+ Creamos los puntos de montaje de sistemas de ficheros
+ de sólo lectura correspondientes a cada jaula:
+
+ &prompt.root; mkdir /home/j/ns /home/j/mail /home/j/www
+
+
+ Instalamos la plantilla de lectura-escritura dentro
+ de cada jaula. Observe que utilizamos sysutils/cpdup para asegurarnos
+ de que se hace una copia exacta de cada directorio:
+
+
+ &prompt.root; mkdir /home/js
+&prompt.root; cpdup /home/j/skel /home/js/ns
+&prompt.root; cpdup /home/j/skel /home/js/mail
+&prompt.root; cpdup /home/j/skel /home/js/www
+
+
+ Llegados a este punto las jaulas están
+ configuradas y listas para arrancar. Monte los sistemas
+ de ficheros de cada jaula y luego arránquelas
+ con el script /etc/rc.d/jail:
+
+ &prompt.root; mount -a
+&prompt.root; /etc/rc.d/jail start
+
+
+
+ Las jaulas deberían haber arrancado. Asegúrese
+ de ello con &man.jls.8;. La salida que verá debe parecerse
+ a esta:
+
+ &prompt.root; jls
+ JID IP Address Hostname Path
+ 3 192.168.3.17 ns.ejemplo.org /home/j/ns
+ 2 192.168.3.18 mail.ejemplo.org /home/j/mail
+ 1 62.123.43.14 www.ejemplo.org /home/j/www
+
+ En este punto debería ser posible entrar a
+ cada una de las jaulas, añadir nuevos usuarios o
+ configurar dæmons. La columna JID
+ indica el número de identificación de cada
+ jaula que esté funcionando en el sistema. Con el
+ siguiente comando puede ejecutar tareas administrativas
+ en la jaula cuyo JID sea 3:
+
+ &prompt.root; jexec 3 tcsh
+
+
+
+ Actualización
+
+ Llegará el momento en el que sea necesario
+ actualizar el sistema, bien por seguridad o porque sea
+ útil para las jaulas disponer de alguna nueva
+ característica del sistema. El diseño de
+ esta configuración facilita una forma fácil
+ de actualizar sus jaulas. Además, minimiza la
+ pérdida de servicio, puesto que las jaulas deben
+ apagarse sólamente al final de todo el proceso. Se
+ ofrece también la posibilidad de volver a la versión
+ anterior en caso de que algo salga mal.
+
+
+
+ El primer paso es actualizar el servidor que aloja
+ las jaulas de la forma habitual. Después creamos
+ una plantilla de sólo lectura temporal en /home/j/mroot2.
+
+ &prompt.root; mkdir /home/j/mroot2
+&prompt.root; cd /usr/src
+&prompt.root; make installworld DESTDIR=/home/j/mroot2
+&prompt.root; cd /home/j/mroot2
+&prompt.root; cpdup /usr/src usr/src
+&prompt.root; mkdir s
+
+ La ejecución de installworld
+ crea unos cuantos directorios innecesarios que debemos
+ borrar:
+
+ &prompt.root; chflags -R 0 var
+&prompt.root; rm -R etc var root usr/local tmp
+
+
+ Creamos de nuevo los enlaces simbólicos de
+ lectura-escritura del sistema de ficheros principal:
+
+ &prompt.root; ln -s s/etc etc
+&prompt.root; ln -s s/root root
+&prompt.root; ln -s s/home home
+&prompt.root; ln -s ../s/usr-local usr/local
+&prompt.root; ln -s ../s/usr-X11R6 usr/X11R6
+&prompt.root; ln -s s/tmp tmp
+&prompt.root; ln -s s/var var
+
+
+ Ha llegado el momento de parar las jaulas:
+
+ &prompt.root; /etc/rc.d/jail stop
+
+
+ Desmontamos los sistemas de ficheros originales:
+
+
+ &prompt.root; umount /home/j/ns/s
+&prompt.root; umount /home/j/ns
+&prompt.root; umount /home/j/mail/s
+&prompt.root; umount /home/j/mail
+&prompt.root; umount /home/j/www/s
+&prompt.root; umount /home/j/www
+
+
+ Los sistemas de ficheros de lectura-escritura
+ cuelgan del sistema de sólo lectura /s y por tanto deben
+ desmontarse antes.
+
+
+
+ Movemos el sistema de ficheros de sólo lectura
+ viejo y lo reemplazamos por el nuevo. Nos servirá
+ de copia de seguridad y como archivo en caso de que haya
+ problemas. Para darle un nombre usamos la fecha en la que
+ se creado una nueva copia del sistema de ficheros de
+ sólo lectura. Movemos también la
+ Colección de Ports de &os; al sistema de ficheros
+ nuevo para ahorrar un poco más de espacio e
+ inodos:
+
+ &prompt.root; cd /home/j
+&prompt.root; mv mroot mroot.20060601
+&prompt.root; mv mroot2 mroot
+&prompt.root; mv mroot.20060601/usr/ports mroot/usr
+
+
+ Una vez llegados a este punto la nueva plantilla de
+ sólo lectura está lista, de manera que lo
+ único que nos queda por hacer es montar los sistemas
+ de ficheros y arrancar las jaulas:
+
+ &prompt.root; mount -a
+&prompt.root; /etc/rc.d/jail start
+
+
+
+ Compruebe con &man.jls.8; si las jaulas han arrancado
+ sin contratiempos. No olvide ejecutar mergemaster en cada
+ jaula. Tendrá que actualizar tanto
+ los ficheros de configuración como los scripts
+ rc.d.
+
+
+
diff --git a/es_ES.ISO8859-1/share/sgml/translators.ent b/es_ES.ISO8859-1/share/sgml/translators.ent
index f3b4e96961..a266d2ab01 100644
--- a/es_ES.ISO8859-1/share/sgml/translators.ent
+++ b/es_ES.ISO8859-1/share/sgml/translators.ent
@@ -1,42 +1,46 @@
jr_baz@hartu.net">
jr_baz@hartu.net y José Vicente Carrasco carvay@es.FreeBSD.org">
carvay@es.FreeBSD.org">
cronopiolopez@terra.es">
gabor@FreeBSD.org">
+gri.msg@gmail.com">
jcamou@FreeBSD.org">
jesusr@FreeBSD.org">
jrh@it.uc3m.es">
cronopios@gmail.com">
Traducción de &a.es.baz;.">
Traducción de &a.es.bazcar;.">
Traducción de &a.es.carvay;.">
Traducción de &a.es.gabor;.">
+Traducción de &a.es.german;.">
Traducción de &a.es.jcamou;.">
Traducción de &a.es.jesusr;.">
Traducción de &a.es.jrh;.">
Traducción de &a.es.quique;.">