Implementación De Servidores Con GNU/Linux
Implementación De Servidores Con GNU/Linux
Edición
Edición
Marzo 2011
Marzo 2011
24 De Marzo De 2011 24 De Marzo De 2011
Joel Barrios Dueñas Implementación de Servidores con GNU/Linux
Si este libro le ha sido de utilidad, puede contribuir al desarrollo de éste a través de suscripciones voluntarias a nuestro portal. Sus aportaciones nos ayudarán a crecer y desarrollar más y mejor contenido en el sitio de red y para mejorar este libro.
http://www.alcancelibre.org/staticpages/index.php/suscripciones
Alcance Libre ofrece soporte técnico gratuito exclusivamente a través de nuestros foros localizados en:
http://www.alcancelibre.org/forum/
Para cualquier consulta a través de otros medios, como correo electrónico, teléfono o mensajería instantánea, ofrecemos un servicio comercial de consultoría.
Alcance Libre ofrece los siguientes productos y servicios basados sobre Software Libre, gracias a los cuales financia sus operaciones. Para mayor información, estamos disponibles a través del número telefónico (52) (55) 5677-7130 de la ciudad de México, a través de nuestro Formulario de contacto o bien directamente en nuestras oficinas centrales en Alumnos #34, Colonia San Miguel Chapultepec, delegación Miguel Hidalgo, México, D.F., C.P. 11850, México.
• Capacitación (cursos) • Conferencias y pláticas • Consultoría
• Implementaciones (Servidores) • Soporte Técnico
Joel Barrios Dueñas Implementación de Servidores con GNU/Linux
A mi difunto padre, a quien debo reconocer jamás supe comprender y a quien jamás le dí la oportunidad de entenderme.
Blanca, eres el amor de mi vida y gracias a ti inicié mi gusto por escribir. Te agradezco el haberme permitido escribirte todas esas cosas hace tantos años. Siempre tendrás un lugar muy especial en mi corazón y mis pensamientos.
A mi hijo, Joel Alejandro Barrios Caullieres.
Joel Barrios Dueñas Implementación de Servidores con GNU/Linux
Conformación.
Joel Barrios Dueñas Implementación de Servidores con GNU/Linux
Acerca de Joel Barrios Dueñas.
Hay poco que decir respecto de mí. Solía ser médico veterinario zootecnista, dedicado principalmente a la atención médica de pequeñas especies y otras mascotas (perros, gatos, peces y tortugas) y a la venta de alimentos y accesorios para mascotas. Trabajo activamente con computadoras personales desde 1990, con las cuales siempre he tenido gran facilidad. Mi primera computadora, fue una Apple IIe que me prestó un amigo, y que eventualmente me vendió. Curiosamente, salvo por una clase que tomé en tercero de secundaria, durante la cual nos impartieron una introducción a la programación en BASIC y el uso general de computadoras Comodore 16, jamás he tomado un curso o capacitación relacionada con la informática o computación. Siempre he sido auto-didáctica.
Utilizo GNU/Linux desde Febrero de 1998, y desde Junio de 1999 como única plataforma en mi trabajo diario. Creo que es más que evidente que equivoque de carrera.
Gran parte de las razones de mi incursión en el mundo de la informática fueron verdaderamente incidentales. En 1997, nunca hubiera imaginado que me estaría ganado la vida en un ámbito completamente distinto al que me dedicaba durante ese tiempo. Yo ya tenía un consultorio veterinario y negocio pequeño de distribución de alimentos para mascotas, los cuales me aseguraban un ingreso regular y constante. Lamentablemente las condiciones del mercado durante el siguiente año repercutieron de forma importante en mis ingresos, y fue entonces que empecé a buscar alternativas. Durante 1999 me estuve dedicando a la venta de equipo de cómputo y algo de diseño de sitios de red. Fueron algunos meses durante los cuales pude sobrevivir gracias a mis ahorros y a la suerte de contar un con talento poco común con las computadoras.
¿Cómo empecé este proyecto?
A mediados de 1999, mientras visitaba a un buen amigo mío, tuve un encuentro amistoso de unos 10 minutos con quien fue, en algún momento, la persona más importante que ha habido en mi vida, Blanca.
Yo subía por un elevador, divagando en mis pensamientos con sutilezas y otros menesteres relacionados con mi profesión de veterinario. Salí del ascensor y me dirigí hacia la puerta de mi amigo. Me detuve unos instantes antes de pulsar el botón del timbre. Había una extraña sensación que circundaba mi mente, como un aroma familiar que no era posible recordar. Mi amigo tenía una reunión con varias personas, algunas de las cuales yo conocía desde hacía algunos años pero que por diversas circunstancias no frecuentaba, así que supuse que era solo la sensación de volver a ver a personas después de mucho tiempo. Toque el timbre y un instante después mi amigo abrió la puerta. Le saludé con un apretón de manos y tras saludarle de la acostumbrada forma cortés, quedé mudo al ver que la chica de la que me había enamorado durante mis años de preparatoria, estaba presente. Frente a mi, sonriendo y mirándome.
Joel Barrios Dueñas Implementación de Servidores con GNU/Linux
alguna forma jamás olvidé. Fue así que tras pasar muchas semanas planeando y tratando de dar forma a las ideas, el proyecto de comunidad que inicié con Linux Para Todos un 27 de agosto de 1999 y que hoy en día continuo con Alcance Libre. Surgió como un sueño, se materializó, se desarrollo y creció más allá de lo que hubiera imaginado.
Es irónico que años después, mi reencuentro con Blanca, quien es hoy en día mi esposa y madre de mi hijo Joel Alejandro, coincidiera con el fin del ciclo de Linux Para Todos, aunque también coincide con el inicio de otros proyectos y una nueva etapa con Alcance Libre.
Esta obra, que ahora comparto con los lectores, constituye la culminación del trabajo de más de 10 años de investigación y experiencias. Mucho del material que le compone fue escrito durante diferentes etapas de mi ciclo mientras fui propietario y administrador de Linux Para Todos. El fin de dicho ciclo me da la oportunidad de explorar otras áreas de la informática desde un diferente enfoque, mismo que se verá reflejado en el material actualizado que compone esta obra. Nunca me ha interesado ser famoso o un millonario.
Joel Barrios Dueñas Implementación de Servidores con GNU/Linux
Currículo.
Datos personales
• Nombre: Joel Barrios Dueñas.
• Año y lugar de nacimiento: 1970, México, Distrito Federal. • Sexo: masculino.
• Estado civil: Unión Libre.
Escolaridad
• Secundaria: Colegio México (Acoxpa). 1982-1985 • Preparatoria: Instituto Centro Unión. 1985-1988
• Facultad de Medicina Veterinaria y Zootecnia, U.N.A.M. 1989-1993
Empleos en los que me he desempeñado.
• 1993-1999
• Mi propia sub-distribuidora de alimentos y accesorios para mascotas. Dirección
general.
• Visitador Médico y asesor en informática. Distribuidora de Alimentos para Pequeñas
Especies (Dialpe). Junio 1997 - Noviembre 1997.
• Consultor externo de Dialpe 1998 – 1999. • 1999 a 2006:
• Fui el creador, director y administrador LinuxParaTodos.net. Dicho dominio fue
tomado hostilmente por mi ex-socio quien se quedó con todo y literalmente me dejó en la calle. Dicha empresa continua comercializando mi trabajo violando la licencia Creative Commons Reconocimiento-NoComercial-CompartirIgual 2.1, la cual explícitamente prohíbe la explotación comercial de material sin la autorización del autor.
• Asesoría y consultoría en GNU/Linux. • Capacitación en GNU/Linux.
• 2002 - 2003:
• Director Operativo Grupo MPR S.A. de C.V. (Actualmente Buytek Network Solutions) • 2002 a 2006:
• Director del proyecto LPT Desktop. • 2004 a 2006:
• Director Operativo de la unidad Linux de Factor Evolución S.A. de C.V. • 2007 a la fecha:
• Director de proyecto AL Desktop (descartado). • Director de proyecto AL Server.
• Director de proyecto ALDOS.
• Fundador y director de proyecto de AlcanceLibre.org • Director General Alcance Empresarial, S.A. De C.V.
Capacidades
• Inglés 97.5%
Joel Barrios Dueñas Implementación de Servidores con GNU/Linux
Índice de contenido
1.¿Que es GNU/Linux?...34
1.1.Requerimientos del sistema...35
2.Estándar de Jerarquía de Sistema de Ficheros...36
2.1.Introducción... 36
2.2.Estructura de directorios...36
2.3.Particiones recomendadas para instalar GNU/Linux...38
3.Instalación en modo texto de CentOS 5...39
3.1.Procedimientos... 39
4.Instalación en modo gráfico de CentOS 5...56
4.1.Procedimientos... 56
5.Cómo iniciar el modo de rescate en CentOS...75
5.1.Procedimientos... 75
6.Iniciando el sistema en nivel de ejecución 1 (nivel mono-usuario)...81
6.1.Introducción... 81
6.2.Procedimientos... 81
7.Cómo compilar el núcleo (kernel) de GNU/Linux en CentOS...85
7.1.Introducción... 85
7.1.1.Un ejemplo del porque conviene recompilar el núcleo...85
7.2.Procedimientos... 86
7.2.1.Determinar el sustento físico y controladores...86
7.2.2.Instalación el equipamiento lógico necesario...88
7.2.3.Obtener el código fuente del núcleo... 89
7.2.4.Configuración del núcleo... 92
8.Cómo gestionar espacio de memoria de intercambio (swap) en GNU/Linux...98
8.1.Introducción... 98
8.1.1.Algo de historia... 98
8.1.2.¿Qué es y como funciona el espacio de intercambio?...98
8.1.3.Circunstancias en las que se requiere aumentar la cantidad de memoria de intercambio...98
Procedimientos... 99
Joel Barrios Dueñas Implementación de Servidores con GNU/Linux
10.Cómo optimizar el sistema de ficheros ext3...107
10.1.Introducción... 107
10.1.1.Acerca de Ext3... 107
10.1.2.Acerca del registro por diario (journaling)...107
10.2.Procedimientos... 107
10.2.1.Utilizando el mandato e2fsck... 108
10.2.2.Opciones de montado... 108
10.2.3.Convirtiendo particiones de Ext3 a Ext4 en CentOS 5...111
10.2.4.Eliminando el registro por diario (journal) de Ext4...112
11.Cómo configurar y utilizar Sudo...114
11.1.Introducción... 114
11.1.1.Historia... 114
11.2.Equipamiento lógico necesario...115
11.2.1.Instalación a través de yum... 115
11.2.2.Instalación a través de Up2date... 115
11.3.Fichero /etc/sudoers... 115
11.3.1.Cmnd_Alias... 115
11.3.2.User_Alias... 116
11.3.3.Host_Alias... 116
11.3.4.Runas_Alias... 116
11.4.Candados de seguridad...116
11.5.Lo que no se recomienda...117
11.6.Facilitando la vida a través de ~/.bash_profile...117
12.Cómo crear cuentas de usuario...119
12.1.Introducción... 119
12.2.Procedimientos... 119
12.2.1.Creando una cuenta en el modo de texto: useradd y passwd...119
12.2.2.Eliminar una cuenta de usuario... 121
12.3.Manejo de grupos... 122
12.3.1.Alta de grupos... 122
12.3.2.Alta de grupos de sistema... 122
12.3.3.Baja de grupos... 122
12.3.4.Asignación de usuarios existentes a grupos existentes...122
12.4.Comentarios finales acerca de la seguridad...122
12.5.Apéndice: Configurando valores predefinidos para el alta de cuentas de usuario...124
12.5.1.Fichero /etc/default/useradd para definir variables utilizadas por el mandato useradd...124
12.5.2.Directorio /etc/skel como molde para crear los directorios de inicio de los usuarios...125
12.6.Apéndice: Ejercicio: Creando cuentas de usuario...126
12.6.1.Introducción... 126
12.6.2.Procedimientos... 126
13.Breve lección de mandatos básicos...128
13.1.Introducción... 128
13.2.Procedimientos... 128
13.2.1.Visualizando contenido de ficheros...132
Joel Barrios Dueñas Implementación de Servidores con GNU/Linux
14.2.1.Instalación y paquetes adicionales...139
14.3.Conociendo vi... 139
14.4.Otras combinaciones de teclas...152
14.5.Más allá de las funciones básicas...153
15.Introducción a sed...154
15.1.Introducción... 154
15.1.1.Acerca de sed... 154
15.2.Procedimientos... 154
15.3.Bibliografía... 158
16.Introducción a AWK...159
16.1.Introducción... 159
16.1.1.Acerca de AWK... 159
16.1.2.Estructura de los programas escritos en AWK...159
16.2.Procedimientos... 160
17.Permisos del Sistema de Ficheros...165
17.1.Introducción... 165
17.2.Notación simbólica... 165
17.3.Notación octal... 166
17.3.1.Permisos adicionales... 166
17.4.Ejemplos... 167
17.4.1.Ejemplos de permisos regulares... 167
17.4.2.Ejemplos de permisos especiales... 168
17.5.Uso de chmod... 168
17.5.1.Opciones de chmod... 169
17.5.2.El mandato chmod y los enlaces simbólicos...169
18.Cómo utilizar el mandato chattr...170
18.1.Introducción... 170
18.1.1.Acerca del mandato chattr... 170
18.2.Opciones... 170
18.3.Operadores... 170
18.4.Atributos... 171
18.5.Utilización... 171
18.5.1.Ejemplos... 171
19.Creando depósitos yum...173
19.1.Introducción... 173
19.2.Procedimientos... 173
Joel Barrios Dueñas Implementación de Servidores con GNU/Linux
21.1.1.Acerca de RPM... 178
21.2.Procedimientos... 178
21.2.1.Reconstrucción de la base de datos de RPM...178
21.2.2.Consulta de paquetería instalada en el sistema...178
21.2.3.Instalación de paquetes... 181
21.2.4.Desinstalación de paquetes... 187
22.Cómo crear paquetería con rpmbuild...189
22.1.Introducción... 189
22.2.Instalación del equipamiento lógico necesario...189
22.3.Procedimientos... 190
22.3.1.Creación de la clave GnuPG... 190
22.3.2.Configuración y creación de una jaula para rpmbuild...190
22.3.3.Creación de los ficheros*.spec... 192
22.3.4.Uso del mandato rpmbuild... 195
22.4.Ejercicios... 197
22.4.1.Paquete RPM binario y el paquete *.src.rpm correspondiente creando el fichero *.spec necesario... 197
22.4.2.Paquete RPM binario y el paquete *.src.rpm correspondiente realizando limpieza de directorio, firma digital... 198
23.Cómo instalar y utilizar ClamAV en CentOS...199
23.1.Introducción... 199
23.1.1.Acerca de ClamAV... 199
23.2.Equipamiento lógico necesario...199
23.2.1.Creación del usuario para ClamAV... 199
23.2.2.Instalación a través de yum... 200
23.3.Procedimientos... 200
23.3.1.SELinux y el servicio clamav-milter...200
23.3.2.Configuración de Freshclam... 200
23.3.3.Uso básico del mandato clamscan... 201
24.Cómo asignar cuotas de disco...203
24.1.Introducción... 203
24.2.Equipamiento lógico necesario...203
24.2.1.Instalación a través de yum... 203
24.2.2.Instalación a través de Up2date... 203
24.3.Procedimientos... 203
24.3.1.Edquota... 204
24.4.Comprobaciones... 206
25.Introducción a TCP/IP...208
25.1.Introducción... 208
25.2.Niveles de pila... 208
25.2.1.Modelo TCP/IP... 209
25.2.2.Modelo OSI... 214
Joel Barrios Dueñas Implementación de Servidores con GNU/Linux
27.Cómo configurar correctamente los parámetros de red...220
27.1.Introducción... 220
27.2.Procedimientos... 220
27.2.1.Detección y configuración del sustento físico (hardware)...220
27.2.2.Asignación de parámetros de red... 221
27.2.3.Agregar encaminamientos (rutas) adicionales...222
27.2.4.Función de Reenvío de paquetes para IP versión 4...222
27.2.5.Comprobaciones... 223
27.2.6.Alta de direcciones IP virtuales... 223
27.2.7.La función Zeroconf... 224
Desactivando el soporte para IPv6... 225
27.3.Ejercicios... 226
27.3.1.Encaminamientos estáticos... 226
27.3.2.Direcciones IP virtuales... 228
28.Cómo configurar acoplamiento de tarjetas de red (bonding)...233
28.1.Introducción... 233
28.2.Procedimientos... 233
28.2.1.Fichero de configuración /etc/modprobe.conf...233
28.2.2.Fichero de configuración /etc/sysconfig/network-scripts/bond0...235
28.2.3.Iniciar, detener y reiniciar el servicio network...236
28.3.Comprobaciones... 236
28.4.Bibliografía... 237
29.Cómo conectarse a una red Wifi desde la terminal...238
29.1.Introducción... 238
29.1.1.Preparativos... 238
29.1.2.Autenticando en el punto de acceso...239
29.1.3.Asigando parámetros de red a la interfaz...240
30.Cómo utilizar lsof...241
30.1.Introducción... 241
30.1.1.Acerca de lsof... 241
30.2.Procedimientos... 241
31.Cómo utilizar Netcat (nc)...244
31.1.Introducción... 244
31.1.1.Acerca de Netcat... 244
31.2.Equipamiento lógico necesario...244
31.2.1.Instalación a través de yum... 244
31.2.2.Instalación a través de Up2date... 244
31.3.Procedimientos... 244
31.3.1.Conexiones simples... 244
31.3.2.Revisión de puertos... 245
Joel Barrios Dueñas Implementación de Servidores con GNU/Linux
34.Introducción a IPTABLES...255
34.1.Introducción... 255
34.1.1.Acerca de Iptables y Netfilter... 255
34.2.Equipamiento lógico necesario...255
34.2.1.Instalación a través de yum... 255
34.2.2.Instalación a través de up2date... 255
34.3.Procedimientos... 256
34.3.1.Cadenas... 256
34.3.2.Reglas de destino... 256
34.3.3.Políticas por defecto... 256
34.3.4.Limpieza de reglas específicas... 256
34.3.5.Reglas específicas... 256
Ejemplos de reglas... 257
34.3.6.Eliminar reglas... 258
34.3.7.Mostrar la lista de cadenas y reglas... 258
34.3.8.Iniciar, detener y reiniciar el servicio iptables...260
34.3.9.Agregar el servicio iptables al arranque del sistema...260
34.4.Bibliografía... 260
35.Cómo utilizar CBQ...262
35.1.Introducción... 262
35.1.1.Acerca de cbq... 262
35.2.Comprendiendo la velocidad binaria (bit rate)...262
35.3.Equipamiento lógico necesario...263
35.3.1.Instalación a través de yum... 263
35.3.2.Instalación a través de up2date... 263
35.4.Preparativos... 263
35.4.1.Parámetro DEVICE... 263
35.4.2.Parámetro de clase WEIGHT... 264
35.4.3.Parámetro de clase PRIO... 264
35.4.4.Parámetro de clase PARENT... 264
35.4.5.Parámetro de clase LEAF... 265
35.4.6.Parámetro de clase BOUNDED... 266
35.4.7.Parámetro de clase ISOLETED... 266
35.4.8.Parámetros de filtración... 266
35.5.Procedimientos... 268
35.5.1.CBQ sin compartir ancho de banda entre clases...269
35.5.2.CBQ compartiendo ancho de banda entre clases...270
35.5.3.Iniciar, detener y reiniciar el servicio cbq...270
35.5.4.Agregar el servicio cbq al arranque del sistema...271
36.Introducción a SELinux en CentOS 5 y Fedora...272
36.1.Introducción... 272
36.2.¿Qué es SELinux?... 272
36.3.Mandato getsebool... 272
36.4.Mandato setsebool... 273
36.4.1.Servicios de FTP... 273
36.4.2.OpenVPN... 274
Joel Barrios Dueñas Implementación de Servidores con GNU/Linux
37.2.2.Instalación a través de up2date... 278
37.3.Procedimientos... 278
37.3.1.SELinux y el servicio dhcpd... 278
37.3.2.Fichero de configuración /etc/dhcpd.conf...278
37.3.3.Fichero de configuración /etc/sysconfig/dhcpd...279
37.3.4.Iniciar, detener y reiniciar el servicio dhcpd...280
37.3.5.Agregar el servicio dhcpd al arranque del sistema...280
37.4.Comprobaciones desde cliente DHCP...280
37.5.Modificaciones necesarias en el muro cortafuegos...281
38.Cómo configurar vsftpd (Very Secure FTP Daemon)...282
38.1.Introducción... 282
38.1.1.Acerca del protocolo FTP... 282
38.1.2.Acerca del protocolo FTPS... 282
38.1.3.Acerca de RSA... 282
38.1.4.Acerca de OpenSSL... 283
38.1.5.Acerca de X.509... 283
38.1.6.Acerca de vsftpd... 283
38.2.Equipamiento lógico necesario...283
38.2.1.Instalación a través de yum... 283
38.3.Ficheros de configuración...283
38.4.Procedimientos... 284
38.4.1.SELinux y el servicio vsftpd... 284
38.4.2.Fichero /etc/vsftpd/vsftpd.conf... 284
38.4.3.Parámetro anonymous_enable... 284
38.4.4.Parámetro local_enable... 285
38.4.5.Parámetro write_enable... 285
38.4.6.Parámetro anon_upload_enable... 285
38.4.7.Parámetro anon_mkdir_write_enable... 285
38.4.8.Parámetro ftpd_banner... 285
38.4.9.Estableciendo jaulas para los usuarios: parámetros chroot_local_user y chroot_list_file...285
38.4.10.Control del ancho de banda... 286
38.4.11.Soporte SSL/TLS para VFSTPD... 286
38.4.12.Iniciar, detener y reiniciar el servicio vsftpd...289
38.4.13.Agregar el servicio al arranque del sistema...289
38.5.Modificaciones necesarias en el muro cortafuegos...290
38.6.Ejercicio VSFTPD... 290
39.Cómo configurar OpenSSH...293
39.1.Introducción... 293
39.1.1.Acerca de SSH... 293
39.1.2.Acerca de SFTP... 293
39.1.3.Acerca de SCP... 293
39.1.4.Acerca de OpenSSH... 293
39.2.Equipamiento lógico necesario...294
39.3.Ficheros de configuración...294
Joel Barrios Dueñas Implementación de Servidores con GNU/Linux
40.Cómo utilizar OpenSSH con autenticación a través de firma digital...299
40.1.Introducción... 299
40.2.Procedimientos... 299
40.2.1.Modificaciones en el Servidor remoto... 299
40.2.2.Modificaciones en el cliente... 299
40.2.3.Comprobaciones... 300
41.Cómo configurar OpenSSH con Chroot...301
41.1.Introducción... 301
41.2.Equipamiento lógico necesario...301
41.3.Procedimientos... 303
41.3.1.Componentes mínimos para la jaula... 303
41.3.2.Ficheros /etc/passwd y /etc/group... 304
41.3.3.Dispositivos de bloque... 304
41.4.Ejemplo práctico... 304
41.4.1.Crear las cuentas de los usuarios... 304
41.4.2.Ejemplo aplicado a sitio de red virtual con Apache...305
42.Cómo configurar NTP...307
42.1.Introducción... 307
42.1.1.Acerca de NTP... 307
42.1.2.Acerca de UTC... 308
42.2.Equipamiento lógico necesario...308
42.2.1.Instalación a través de yum... 308
42.2.2.Instalación a través de up2date... 308
42.3.Procedimientos... 308
42.3.1.Herramienta ntpdate... 308
42.3.2.Fichero de configuración /etc/ntp.conf...308
42.3.3.Iniciar, detener y reiniciar el servicio ntpd...309
42.3.4.Agregar el servicio ntpd al arranque del sistema...310
42.4.Modificaciones necesarias en el muro cortafuegos...310
43.Cómo configurar el sistema para sesiones gráficas remotas...311
43.1.Introducción... 311
43.2.Sesión gráfica remota con GDM...311
43.2.1.Procedimiento... 311
44.Cómo configurar un servidor NFS...314
44.1.Introducción... 314
44.2.Procedimientos... 314
44.2.1.Instalación del equipamiento lógico necesario...314
44.3.Configurando la seguridad...314
44.3.1.Compartir un volumen NFS... 315
44.3.2.Configurando las máquinas clientes... 316
44.4.Instalación de GNU/Linux a través de un servidor NFS...317
Joel Barrios Dueñas Implementación de Servidores con GNU/Linux
45.3.3.El fichero lmhosts... 321
45.3.4.Parámetros principales del fichero smb.conf...322
45.3.5.Parámetro remote announce... 323
45.3.6.Impresoras en Samba... 323
45.3.7.Compartiendo directorios a través de Samba...323
45.4.Iniciar el servicio y añadirlo al arranque del sistema...326
45.5.Comprobaciones... 327
45.5.1.Modo texto... 327
45.5.2.Modo gráfico... 328
46.Cómo configurar Samba denegando acceso a ciertos ficheros...329
46.1.Introducción... 329
46.2.Procedimientos... 329
46.3.Aplicando los cambios...329
46.4.Comprobaciones... 330
47.Cómo configurar Samba con Papelera de Reciclaje...331
47.1.Introducción... 331
47.2.Procedimientos... 331
47.3.Aplicando los cambios...333
47.4.Comprobaciones... 333
48.Cómo instalar y configurar Samba-Vscan en CentOS 5...336
48.1.Introducción... 336
48.2.Acerca de Samba-Vscan...336
48.3.Instalación de equipamiento lógico necesario...336
48.4.Procedimientos... 336
49.Cómo configurar Samba como cliente o servidor WINS...340
49.1.Introducción... 340
49.2.Procedimientos... 340
49.2.1.Parámetros wins server y wins support... 340
49.2.2.Parámetro name resolve order... 341
49.2.3.Parámetro wins proxy... 341
49.2.4.Parámetro dns proxy... 341
49.2.5.Parámetro max ttl... 341
49.2.6.Parámetros max wins ttl y min wins ttl... 341
49.3.Aplicando los cambios...342
50.La ingeniería social y los [incorrectos] hábitos del usuario...343
50.1.Introducción... 343
Joel Barrios Dueñas Implementación de Servidores con GNU/Linux
51.5.Incrementando las capacidades de filtrado de Spamassasin...351
51.5.1.Optimizando Spamassassin... 352
51.5.2.¿Por qué Perl-Mail-SPF, Perl-Razor-Agent, Pyzor y Spamassassin-FuzzyOcr?...352
52.Configuración básica de Sendmail...354
52.1.Introducción... 354
52.1.1.Acerca de Sendmail... 354
52.1.2.Acerca de Dovecot... 354
52.1.3.Acerca de SASL y Cyrus SASL... 354
52.1.4.Protocolos utilizados... 355
52.2.Equipamiento lógico necesario...357
52.2.1.Instalación a través de yum... 358
52.2.2.Instalación a través de Up2date... 358
52.3.Procedimientos... 358
52.3.1.Alta de cuentas de usuario y asignación de claves de acceso...358
52.3.2.Dominios a administrar... 359
52.3.3.Control de acceso... 360
52.3.4.Alias de la cuenta de root... 361
52.3.5.Configuración de funciones de Sendmail... 361
52.3.6.Usuarios Virtuales... 363
52.3.7.Control del correo chatarra (Spam) a través de DNSBLs...364
52.3.8.Protocolos para acceder hacia el correo... 364
52.3.9.Reiniciando servicio... 365
52.4.Encaminamiento de dominios...365
52.4.1.Redundancia del servidor de correo...365
52.4.2.Servidor de correo intermediario... 366
52.5.Verificando el servicio...367
52.6.Pruebas para el envío de correo...368
52.6.1.Utilizando telnet... 368
52.6.2.Utilizando mutt... 370
52.7.Referencias... 370
53.Opciones avanzadas de seguridad para Sendmail...372
53.1.Introducción... 372 53.2.Funciones... 372 53.2.1.confMAX_RCPTS_PER_MESSAGE... 372 53.2.2.confBAD_RCPT_THROTTLE... 372 53.2.3.confPRIVACY_FLAGS... 372 53.2.4.confMAX_HEADERS_LENGTH... 373 53.2.5.confMAX_MESSAGE_SIZE... 373 53.2.6.confMAX_DAEMON_CHILDREN... 373 53.2.7.confCONNECTION_RATE_THROTTLE... 373
54.Cómo configurar Sendmail y Dovecot con soporte SSL/TLS...374
54.1.Introducción... 374
54.1.1.Acerca de DSA... 374
54.1.2.Acerca de RSA... 374
54.1.3.Acerca de X.509... 374
Joel Barrios Dueñas Implementación de Servidores con GNU/Linux
55.Cómo instalar y configurar Postfix y Dovecot con soporte para TLS y
autenticación...385
55.1.Introducción... 385
55.1.1.Acerca de Postfix... 385
55.1.2.Acerca de Dovecot... 385
55.1.3.Acerca de SASL y Cyrus SASL... 385
55.1.4.Acerca de DSA... 386
55.1.5.Acerca de RSA... 386
55.1.6.Acerca de X.509... 386
55.1.7.Acerca de OpenSSL... 386
55.2.Equipamiento lógico necesario...386
55.2.1.Definiendo Postfix como agente de transporte de correo predeterminado...386
55.3.Procedimientos... 387
55.3.1.SELinux y Postfix... 387
55.3.2.Configuración de Postfix... 390
55.3.3.Configuración de Dovecot en CentOS 5 y Red Hat Enterprise Linux 5...392
55.3.4.Configuración de Dovecot en CentOS 6 y Red Hat Enterprise Linux 6...393
55.3.5.Iniciar servicios y añadir éstos al arranque del sistema...393
55.3.6.Soporte para LMTP... 394
55.3.7.Modificaciones necesarias en el muro cortafuegos...394
55.3.8.Requisitos en la zona de reenvío en el servidor DNS...395
55.4.Comprobaciones... 395
55.4.1.A través de terminal... 395
55.4.2.A través de clientes de correo electrónico...396
55.5.Modificaciones necesarias en el muro cortafuegos...399
56.Cómo instalar y configurar Amavisd-new con Postfix en CentOS 5...400
56.1.Introducción... 400
56.1.1.Acerca de Amavisd-new... 400
56.2.Equipamiento lógico necesario. ...400
56.2.1.Creación del usuario para ClamAV... 400
56.2.2.Configuración de depósitos YUM para CentOS 5 y Red Hat Enterprise Linux 5...401
56.3.Procedimientos... 401
56.3.1.Configuración de SELinux... 401
56.3.2.Configuración de Amavisd-new... 402
56.3.3.Configuración de Postfix... 402
56.3.4.Iniciar, detener y reiniciar el servicio spamass-milter...403
56.3.5.Postfix con dominios virtuales y Amavisd-new...404
57.Cómo configurar Postfix en CentOS 5 para utilizar dominios virtuales con
usuarios del sistema...405
57.1.Introducción... 405
57.2.Procedimientos... 405
57.2.1.Configuración de SELinux... 405
57.2.2.Configuración de Postfix... 407
Joel Barrios Dueñas Implementación de Servidores con GNU/Linux
59.Instalación y configuración de SquirrelMail (correo a través de interfaz HTTP )..
415
59.1.Introducción... 415
59.2.Procedimientos... 415
59.2.1.Instalación del equipamiento lógico necesario...415
59.2.2.Configuración de SquirrelMail... 415
59.3.Finalizando configuración...418
59.4.Ajustes en php.ini para optimizar el uso de Squirrelmail...419
60.Cómo instalar GroupOffice en CentOS...421
60.1.¿Qué es Group Office?...421
60.2.Equipamiento lógico necesario...422
60.2.1.Configuración de depósitos YUM para CentOS 5 y Red Hat Enterprise Linux 5...422
60.3.Procedimientos... 422
60.3.1.Ajustes posteriores a la instalación... 425
61.Apéndice: Enviar correo a todos los usuarios del sistema...432
61.1.Procedimientos... 432
61.2.Acerca de la seguridad...432
62.Cómo instalar y configurar el programa vacation para responder avisos
automáticos en vacaciones...433
62.1.Intrucción... 433
62.2.Equipamiento lógico necesario...433
62.2.1.Instalación a través de yum... 433
62.2.2.Instalación a través de up2date... 433
62.3.Procedimientos... 434
63.Cómo configurar clamav-milter...436
63.1.Introducción... 436
63.1.1.Acerca de clamav-milter... 436
63.1.2.Acerca de ClamAV... 436
63.2.Equipamiento lógico necesario...437
63.2.1.Creación del usuario para ClamAV... 437
63.2.2.Instalación a través de yum... 437
63.3.Procedimientos... 437
63.3.1.SELinux y el servicio clamav-milter...437
63.3.2.Requisitos previos... 438
63.3.3.Fichero /etc/mail/sendmail.mc... 438
63.3.4.Configuración... 438
63.3.5.Iniciar, detener y reiniciar el servicio clamav-milter...438
64.Cómo configurar spamass-milter...440
64.1.Introducción... 440
64.1.1.Requisitos previos... 440
Joel Barrios Dueñas Implementación de Servidores con GNU/Linux
65.Cómo configurar un servidor NIS...446
65.1.Introducción... 446
65.2.Procedimientos... 446
Instalación del equipamiento lógico necesario en el servidor NIS...446
65.2.2.Configuración del servidor NIS... 447
65.2.3.Instalación del equipamiento lógico necesario en el cliente NIS...449
65.2.4.Configuración del cliente NIS... 449
66.Cómo configurar OpenLDAP como servidor de autenticación...452
66.1.Introducción... 452
66.2.Equipamiento lógico necesario...452
66.2.1.Instalación a través de yum... 452
66.2.2.Instalación a través de up2date... 452
66.3.Procedimientos... 453
66.3.1.SELinux y el servicio ldap... 453
66.3.2.Creación de directorios... 453
66.3.3.Generación de claves de acceso para LDAP...453
66.3.4.Fichero de configuración /etc/openldap/slapd.conf...453
66.3.5.Inicio del servicio ldap... 454
66.3.6.Migración de cuentas existentes en el sistema...454
66.4.Comprobaciones... 455
66.5.Configuración de clientes...456
66.5.1.authconfig (modo-texto)... 457
66.5.2.authconfig-tui (modo texto)... 457
66.5.3.authconfig-gtk (modo gráfico)... 458
66.6.Administración... 459
66.7.Respaldo de datos... 459
66.8.Restauración de datos...460
66.9.Modificaciones necesarias en el muro cortafuegos...460
67.Cómo configurar OpenLDAP como libreta de direcciones...461
67.1.Introducción... 461
67.2.Equipamiento lógico necesario...461
67.2.1.Instalación a través de yum... 461
67.2.2.Instalación a través de up2date... 461
67.3.Procedimientos... 461
67.3.1.SELinux y el servicio ldap... 461
67.3.2.Creación de directorios... 462
67.3.3.Generación de claves de acceso para LDAP...462
67.3.4.Fichero de esquemas... 462
67.3.5.Fichero de configuración /etc/openldap/slapd.conf...462
67.3.6.Inicio del servicio ldap... 463
67.3.7.Añadir datos al directorio... 463
67.4.Configuración de clientes...465
67.4.1.Novell Evolution... 465
Joel Barrios Dueñas Implementación de Servidores con GNU/Linux
68.2.Procedimientos... 471
68.2.1.Generando clave y certificado... 471 68.2.2.Parámetros de /etc/openldap/slapd.conf...472 68.2.3.Comprobación... 472 68.2.4.Configuración de GNOME Evolution... 472 68.2.5.Configuración de Mozilla Thunderbird...473 68.2.6.Configuración LDAP Browser... 474 68.2.7.Configuración LDAP Administration Tool...474
68.3.Modificaciones necesarias en el muro cortafuegos...475
69.Cómo instalar y configurar MySQL™...476
69.1.Introducción... 476
69.1.1.Acerca de MySQL™... 476
69.2.Equipamiento lógico necesario...476
69.2.1.Instalación a través de yum... 476 69.2.2.Instalación a través de up2date... 476
69.3.Procedimientos... 477
69.3.1.SELinux y el servicio mysqld... 477 69.3.2.Iniciar, detener y reiniciar el servicio mysqld...477 69.3.3.Agregar el servicio mysqld al arranque del sistema...477 69.3.4.Asignación de clave de acceso al usuario root...477
69.4.Creando y destruyendo bases de datos...479 69.5.Otorgando permisos a los usuarios...479 69.6.Modificaciones necesarias en el muro cortafuegos...480
70.Configuración básica de Apache...482
70.1.Introducción... 482
70.1.1.Acerca del protocolo HTTP... 482 70.1.2.Acerca de Apache... 482
70.2.Equipamiento lógico necesario...482
70.2.1.Instalación a través de yum... 482 70.2.2.Instalación a través de Up2date... 483
70.3.Iniciar servicio y añadir el servicio al arranque del sistema...483 70.4.Procedimientos... 484
70.4.1.SELinux y Apache... 484 70.4.2.UTF-8 y codificación de documentos... 485 70.4.3.Ficheros de configuración... 486 70.4.4.Directorios virtuales... 486 70.4.5.Redirección de directorios... 487 70.4.6.Tipos de MIME... 487 70.4.7.Soporte para CGI con extensión *.cgi... 487 70.4.8.Robo de imágenes... 489
70.5.Modificaciones necesarias en el muro cortafuegos...489 70.6.Apéndice: Configuración de Sitios de Red virtuales en Apache...489
71.Cómo habilitar los ficheros .htaccess y SSI )Server Side Includes) en Apache
2.x...491
Joel Barrios Dueñas Implementación de Servidores con GNU/Linux
72.1.4.Acerca de X.509... 496 72.1.5.Acerca de OpenSSL... 496 72.1.6.Acerca de mod_ssl... 496
72.2.Requisitos... 496 72.3.Equipamiento lógico necesario...496
72.3.1.Instalación a través de yum... 496
72.4.Procedimientos... 497
72.4.1.Generando firma digital y certificado... 497 72.4.2.Configuración de Apache... 498 72.4.3.Comprobación... 499 72.4.4.Modificaciones necesarias en el muro cortafuegos...499
73.Cómo configurar un servidor de nombres de dominio (DNS)...501
73.1.Introducción... 501
73.1.1.Bind (Berkeley Internet Name Domain)... 501 73.1.2.DNS (Domain Name System)... 501 73.1.3.NIC (Network Information Center)... 501 73.1.4.FQDN (Fully Qualified Domain Name)...502 73.1.5.Componentes de un DNS... 502 73.1.6.Herramientas de búsqueda y consulta... 504
73.2.Equipamiento lógico necesario...506
73.2.1.Instalación a través de yum... 506 73.2.2.Instalación a través de Up2date... 506
73.3.Procedimientos... 506
73.3.1.SELinux y el servicio named... 506 73.3.2.Preparativos... 507 73.3.3.Creación de los ficheros de zona... 508 73.3.4.Seguridad adicional en DNS para uso público...511 73.3.5.Seguridad adicional en DNS para uso exclusivo en red local...515 73.3.6.Las zonas esclavas... 515 73.3.7.Seguridad adicional para transferencias de zona...517 73.3.8.Reiniciar servicio y depuración de configuración...519
74.Cómo configurar Squid: Parámetros básicos para Servidor Intermediario
(Proxy)...521
74.1.Introducción... 521
74.1.1.¿Qué es Servidor Intermediario (Proxy)?... 521 74.1.2.Acerca de Squid... 522
74.2.Equipamiento lógico necesario...523
74.2.1.Instalación a través de yum... 523 74.2.2.Instalación a través de up2date... 523 74.2.3.Otros componentes necesarios... 523
74.3.SELinux y el servicio squid...524 74.4.Antes de continuar... 524 74.5.Configuración básica...524
Joel Barrios Dueñas Implementación de Servidores con GNU/Linux
74.8.Iniciando, reiniciando y añadiendo el servicio al arranque del sistema...533 74.9.Depuración de errores...533 74.10.Ajustes para el muro corta-fuegos...534
74.10.1.Re-direccionamiento de peticiones a través de iptables y Firestarter...534 74.10.2.Re-direccionamiento de peticiones a través de la opción REDIRECT en Shorewall...534
75.Cómo configurar Squid: Acceso por autenticación...535
75.1.Introducción... 535 75.2.Equipamiento lógico necesario...535 75.3.Eligiendo el módulo de autenticación...535
75.3.1.Autenticación a través del módulo LDAP...535 75.3.2.Autenticación a través del módulo NCSA... 536
75.4.Listas y reglas de control de acceso...537
75.4.1.Finalizando procedimiento... 538
76.Cómo configurar Squid: Restricción de acceso a Sitios de Red...539
76.1.Introducción... 539 76.2.Equipamiento lógico necesario...539 76.3.Definiendo patrones comunes...539 76.4.Parámetros en /etc/squid/squid.conf...540
76.4.1.Permitiendo acceso a sitios inocentes incidentalmente bloqueados...540 76.4.2.Finalizando procedimiento... 541
77.Cómo configurar Squid: Restricción de acceso a contenido por extensión....542
77.1.Introducción... 542 77.2.Software requerido... 542 77.3.Definiendo elementos de la Lista de Control de Acceso...542 77.4.Parámetros en /etc/squid/squid.conf...543
77.4.1.Finalizando procedimiento... 544
78.Cómo configurar Squid: Restricción de acceso por horarios...545
78.1.Introducción... 545 78.2.Equipamiento lógico necesario...545 78.3.Procedimientos... 545
78.3.1.Más ejemplos... 546 78.3.2.Finalizando procedimiento... 547
79.Cómo configurar squid con soporte para direcciones MAC...548
79.1.Introducción... 548
79.1.1.Acerca de Squid... 548
79.2.Equipamiento lógico necesario...548
79.2.1.Instalación a través de yum... 548
79.3.Procedimientos... 549
Fichero /etc/squid/listas/macsredlocal... 549 79.3.1.Fichero /etc/squid/squid.conf... 550
Joel Barrios Dueñas Implementación de Servidores con GNU/Linux
82.Cómo configurar un muro cortafuegos con Shorewall y tres interfaces de red...
558
82.1.Introducción... 558
82.1.1.Acerca de Shorewall... 558 82.1.2.Acerca de Iptables y Netfilter... 558 82.1.3.Acerca de Iproute... 558 82.1.4.Requisitos... 559
82.2.Conceptos requeridos...559
82.2.1.¿Qué es una zona desmilitarizada?... 559 82.2.2.¿Que es una Red Privada?... 559 82.2.3.¿Qué es un NAT?... 560 82.2.4.¿Qué es un DNAT?... 560
82.3.Procedimientos... 560
82.3.1.Equipamiento lógico necesario... 560 82.3.2.Fichero de configuración /etc/shorewall/shorewall.conf...560 82.3.3.Fichero de configuración /etc/shorewall/zones...561 82.3.4.Fichero de configuración /etc/shorewall/interfaces...561 82.3.5.Fichero de configuración /etc/shorewall/policy...562 82.3.6.Fichero de configuración /etc/shorewall/masq...563 82.3.7.Fichero de configuración /etc/shorewall/rules...563
82.4.Iniciar el cortafuegos y añadirlo a los servicios de arranque del sistema...566
83.Cómo configurar un servidor de OpenVPN en CentOS 5...567
83.1.Introducción... 567
83.1.1.Acerca de OpenVPN... 567 83.1.2.Breve explicación de lo que se logrará con este documento...567
83.2.Instalación del equipamiento lógico necesario...568
83.2.1.Instalación en CentOS 5... 568
83.3.Procedimientos... 569
83.3.1.Configuración de muro cortafuegos con Shorewall...573 83.3.2.Configuración de clientes Windows... 574 83.3.3.Clientes GNU/Linux... 576
83.4.Bibiliografía... 582
84.Cómo configurar SNMP...583
84.1.Introducción... 583
84.1.1.Acerca de SNMP... 583 84.1.2.Acerca de Net-SNMP... 583
84.2.Equipamiento lógico necesario...583
84.2.1.Instalación a través de yum... 583 84.2.2.Instalación a través de up2date... 583
84.3.Procedimientos... 584
Joel Barrios Dueñas Implementación de Servidores con GNU/Linux
86.Cómo configurar Freeradius con MySQL en CentOS 5...591
86.1.Introducción... 591
86.1.1.Acerca de RADIUS... 591 86.1.2.Acerca de Freeradius... 591 86.1.3.Acerca de Daloradius... 592
86.2.Procedimientos... 592
86.2.1.Instalar Daloradius para administración a través de HTTP...596
86.3.Bibliografía... 597
87.Cómo instalar Java 1.6 en CentOS 5...599
87.1.Introducción... 599 87.2.Instalación del equipamiento lógico necesario...599
87.2.1.Instalación a través de yum... 599
87.3.Procedimientos... 599
87.3.1.Creación de usuario para utilizar rpmbuild...599 87.3.2.Creación de estructura de directorios para rpmbuild...599
88.Cómo instalar la complemento (plug-in) Flash Player para Firefox y otros
navegadores...603
88.1.Introducción... 603 88.2.Procedimientos... 603
88.2.1.Fedora, CentOS 5 y Red Hat Enterprise Linux 5...603 88.2.2.CentOS 4 y Red Hat Enterprise Linux 4...604
88.3.Comprobaciones... 604
89.Cómo configurar escáner en red...606
89.1.Introducción... 606
89.1.1.Acerca de SANE... 606 89.1.2.Acerca de Xsane... 606
89.2.Equipamiento lógico necesario...607
89.2.1.Instalación del servicio saned... 607 89.2.2.Instalación del cliente Xsane... 607
89.3.Procedimientos... 607
89.3.1.Configuración del servicio saned... 607 89.3.2.Configuración del cliente Xsane... 609
90.Cómo configurar un servidor de respaldos con BackupPC en CentOS 5...610
90.1.Introducción... 610 90.2.Instalación del equipamiento lógico necesario...610
90.2.1.Instalación en CentOS 5... 610
90.3.Procedimientos... 611
90.3.1.Configuración de Apache... 611 90.3.2.Configuración de BackupPC... 612 90.3.3.Configuración de los sistemas GNU/Linux a respaldar...613 90.3.4.Configuración de los sistemas Windows a respaldar...615
Joel Barrios Dueñas Implementación de Servidores con GNU/Linux
92.Usando Smartd para anticipar los desastres de disco duro...630
92.1.Introducción... 630 92.2.Procedimientos... 630
93.Cómo crear un disco con instalación personalizada de CentOS 5...632
93.1.Instalación de equipamiento lógico necesario...632 93.2.Procedimientos... 632
93.2.1.Creación de fichero de configuración de instalación personalizada...632 93.2.2.Creación del directorio de trabajo y contenido del mismo...633 93.2.3.Añadir equipamiento lógico adicional... 635 93.2.4.Creación de la imagen ISO... 636
94.Ejercicios...638
94.1.Ejercicio NFS... 638
94.1.1.Introducción... 638 94.1.2.Procedimientos... 638
94.2.Ejercicio SAMBA... 640
94.2.1.Procedimientos... 640
94.3.Ejercicio Apache® y VSFTPD...643
94.3.1.Procedimientos... 643 94.3.2.Comprobaciones... 644
94.4.Ejercicio: Cuotas de disco, Apache, VSFTPD y DNS...646
94.4.1.Procedimientos... 646 94.4.2.Comprobaciones... 649
94.5.Ejercicio: Servidor Intermediario (Proxy)...651
94.5.1.Introducción... 651 Procedimientos... 651
95.Ejercicio: Servidor DNS Dinámico y Servidor DHCP...657
95.1.Introducción... 657 95.2.Equipamiento lógico necesario...657 95.3.Procedimientos... 657
95.3.1.Modificación de la interfaz de acceso hacia Internet...657 Configuración de servidor DNS... 658 Configuración de servidor DHCP... 662
96.Ejercicio: Servidor Intermediario (Proxy) y cortafuegos con Shorewall...664
96.1.Introducción... 664
96.1.1.Política: cerrar todo y abrir solo lo necesario...664
96.2.Equipamiento lógico necesario...665 96.3.Procedimientos... 665
Joel Barrios Dueñas Implementación de Servidores con GNU/Linux
Información de Derechos reservados
de esta publicación.
Reconocimiento-NoComercial-CompartirIgual 2.1 Usted es libre de:
● copiar, distribuir y comunicar públicamente la obra ● hacer obras derivadas
Bajo las condiciones siguientes:
Reconocimiento. Debe reconocer y citar al autor original.
No comercial. No puede utilizar esta obra para fines comerciales.
Compartir bajo la misma licencia. Si altera o transforma esta obra, o genera una obra derivada, sólo puede distribuir la obra generada bajo una licencia idéntica a ésta.
● Al reutilizar o distribuir la obra, tiene que dejar bien claro los términos de la licencia de
esta obra.
● Alguna de estas condiciones puede no aplicarse si se obtiene el permiso del titular de los
derechos de autor
Los derechos derivados de usos legítimos u otras limitaciones no se ven afectados por lo anterior.
Reconocimiento-NoComercial-CompartirIgual 2.1
Joel Barrios Dueñas Implementación de Servidores con GNU/Linux
ESTA LICENCIA. EL LICENCIADOR LE CEDE LOS DERECHOS CONTENIDOS EN ESTA LICENCIA, SIEMPRE QUE USTED ACEPTE LOS PRESENTES TÉRMINOS Y CONDICIONES.
1. Definiciones
a. La "obra" es la creación literaria, artística o científica ofrecida bajo los términos de esta licencia. b. El "autor" es la persona o la entidad que creó la obra.
c. Se considerará "obra conjunta" aquella susceptible de ser incluida en alguna de las siguientes categorías:
i. "Obra en colaboración", entendiendo por tal aquella que sea resultado unitario de la colaboración de varios autores. d. "Obra colectiva", entendiendo por tal la creada por la iniciativa y bajo la coordinación de una persona natural o jurídica que la
modifique y divulgue bajo su nombre y que esté constituida por la reunión de aportaciones de diferentes autores cuya contribución personal se funde en una creación única y autónoma, para la cual haya sido concebida sin que sea posible atribuir separadamente a cualquiera de ellos un derecho sobre el conjunto de la obra realizada.
e. "Obra compuesta e independiente", entendiendo por tal la obra nueva que incorpore una obra preexistente sin la colaboración del autor de esta última.
f. Se considerarán "obras derivadas" aquellas que se encuentren basadas en una obra o en una obra y otras preexistentes, tales como: las traducciones y adaptaciones; las revisiones, actualizaciones y anotaciones; los compendios, resúmenes y extractos; los arreglos musicales y, en general, cualesquiera transformaciones de una obra literaria, artística o científica, salvo que la obra resultante tenga el carácter de obra conjunta en cuyo caso no será considerada como una obra derivada a los efectos de esta licencia. Para evitar la duda, si la obra consiste en una composición musical o grabación de sonidos, la sincronización temporal de la obra con una imagen en movimiento ("synching") será considerada como una obra derivada a los efectos de esta licencia.
g. Tendrán la consideración de "obras audiovisuales" las creaciones expresadas mediante una serie de imágenes asociadas, con o sin sonorización incorporada, así como las composiciones musicales, que estén destinadas esencialmente a ser mostradas a través de aparatos de proyección o por cualquier otro medio de comunicación pública de la imagen y del sonido, con independencia de la naturaleza de los soportes materiales de dichas obras.
h. El "licenciador" es la persona o la entidad que ofrece la obra bajo los términos de esta licencia y le cede los derechos de explotación de la misma conforme a lo dispuesto en ella.
i. "Usted" es la persona o la entidad que ejercita los derechos cedidos mediante esta licencia y que no ha violado previamente los términos de la misma con respecto a la obra, o que ha recibido el permiso expreso del licenciador de ejercitar los derechos cedidos mediante esta licencia a pesar de una violación anterior.
j. La "transformación" de una obra comprende su traducción, adaptación y cualquier otra modificación en su forma de la que se derive una obra diferente. Cuando se trate de una base de datos según se define más adelante, se considerará también transformación la reordenación de la misma. La creación resultante de la transformación de una obra tendrá la consideración de obra derivada.
Joel Barrios Dueñas Implementación de Servidores con GNU/Linux
como las antologías y las bases de datos propiamente dichas que por la selección o disposición de sus contenidos constituyan creaciones intelectuales, sin perjuicio, en su caso, de los derechos que pudieran subsistir sobre dichos contenidos.
p. Los "elementos de la licencia" son las características principales de la licencia según la selección efectuada por el licenciador e indicadas en el título de esta licencia: Reconocimiento de autoría (Reconocimiento), Sin uso comercial (NoComercial), Compartir de manera igual (CompartirIgual).
2. Límites y uso legítimo de los derechos. Nada en esta licencia pretende reducir o restringir cualesquiera límites legales de los derechos exclusivos del titular de los derechos de propiedad intelectual de acuerdo con la Ley de Propiedad Intelectual o cualesquiera otras leyes aplicables, ya sean derivados de usos legítimos, tales como el derecho de copia privada o el derecho a cita, u otras limitaciones como la derivada de la primera venta de ejemplares.
3. Concesión de licencia. Conforme a los términos y a las condiciones de esta licencia, el licenciador concede (durante toda la vigencia de los derechos de propiedad intelectual) una licencia de ámbito mundial, sin derecho de remuneración, no exclusiva e indefinida que incluye la cesión de los siguientes derechos:
a. Derecho de reproducción, distribución y comunicación pública sobre la obra;
b. Derecho a incorporarla en una o más obras conjuntas o bases de datos y para su reproducción en tanto que incorporada a dichas obras conjuntas o bases de datos;
c. Derecho para efectuar cualquier transformación sobre la obra y crear y reproducir obras derivadas;
d. Derecho de distribución y comunicación pública de copias o grabaciones de la obra, como incorporada a obras conjuntas o bases de datos;
e. Derecho de distribución y comunicación pública de copias o grabaciones de la obra, por medio de una obra derivada.
Los anteriores derechos se pueden ejercitar en todos los medios y formatos, tangibles o intangibles, conocidos o por conocer. Los derechos mencionados incluyen el derecho a efectuar las modificaciones que sean precisas técnicamente para el ejercicio de los derechos en otros medios y formatos. Todos los derechos no cedidos expresamente por el licenciador quedan reservados, incluyendo, a título enunciativo pero no limitativo, los establecidos en la sección 4(e).
4. Restricciones. La cesión de derechos que supone esta licencia se encuentra sujeta y limitada a las restricciones siguientes:
a. Usted puede reproducir, distribuir o comunicar públicamente la obra solamente bajo términos de esta licencia y debe incluir una copia de la misma, o su Identificador Uniforme de Recurso (URI), con cada copia o grabación de la obra que usted reproduzca, distribuya o comunique públicamente. Usted no puede ofrecer o imponer ningún término sobre la obra que altere o restrinja los términos de esta licencia o el ejercicio de sus derechos por parte de los cesionarios de la misma. Usted no puede sublicenciar la obra. Usted debe mantener intactos todos los avisos que se refieran a esta licencia y a la ausencia de garantías. Usted no puede reproducir, distribuir o comunicar públicamente la obra con medidas tecnológicas que controlen el acceso o uso de la obra de una manera contraria a los términos de esta licencia. Lo anterior se aplica a una obra en tanto que incorporada a una obra conjunta o base de datos, pero no implica que éstas, al margen de la obra objeto de esta licencia, tengan que estar sujetas a los términos de la misma. Si usted crea una obra conjunta o base de datos, previa comunicación del licenciador, usted deberá quitar de la obra conjunta o base de datos cualquier referencia a dicho licenciador o al autor original, según lo que se le requiera y en la medida de lo posible. Si usted crea una obra derivada, previa comunicación del licenciador, usted deberá quitar de la obra derivada cualquier referencia a dicho licenciador o al autor original, lo que se le requiera y en la medida de lo posible.
Joel Barrios Dueñas Implementación de Servidores con GNU/Linux
original si es facilitado; el título de la obra si es facilitado; de manera razonable, el Identificador Uniforme de Recurso (URI), si existe, que el licenciador especifica para ser vinculado a la obra, a menos que tal URI no se refiera al aviso sobre propiedad intelectual o a la información sobre la licencia de la obra; y en el caso de una obra derivada, un aviso que identifique el uso de la obra en la obra derivada (e.g., "traducción francesa de la obra de Autor Original," o "guión basado en obra original de Autor Original"). Tal aviso se puede desarrollar de cualquier manera razonable; con tal de que, sin embargo, en el caso de una obra derivada, conjunta o base datos, aparezca como mínimo este aviso allá donde aparezcan los avisos correspondientes a otros autores y de forma comparable a los mismos.
e. Para evitar la duda, sin perjuicio de la preceptiva autorización del licenciador, y especialmente cuando la obra se trate de una obra audiovisual, el licenciador se reserva el derecho exclusivo a percibir, tanto individualmente como mediante una entidad de gestión de derechos, o varias, (por ejemplo: SGAE, Dama, VEGAP), los derechos de explotación de la obra, así como los derivados de obras derivadas, conjuntas o bases de datos, si dicha explotación pretende principalmente o se encuentra dirigida hacia la obtención de un beneficio mercantil o la remuneración monetaria privada.
f. En el caso de la inclusión de la obra en alguna base de datos o recopilación, el propietario o el gestor de la base de datos deberá renunciar a cualquier derecho relacionado con esta inclusión y concerniente a los usos de la obra una vez extraída de las bases de datos, ya sea de manera individual o conjuntamente con otros materiales.
5. Exoneración de responsabilidad
A MENOS QUE SE ACUERDE MUTUAMENTE ENTRE LAS PARTES, EL LICENCIADOR OFRECE LA OBRA TAL CUAL (ON AN "AS-IS" BASIS) Y NO CONFIERE NINGUNA GARANTÍA DE CUALQUIER TIPO RESPECTO DE LA OBRA O DE LA PRESENCIA O AUSENCIA DE ERRORES QUE PUEDAN O NO SER DESCUBIERTOS. ALGUNAS JURISDICCIONES NO PERMITEN LA EXCLUSIÓN DE TALES GARANTÍAS, POR LO QUE TAL EXCLUSIÓN PUEDE NO SER DE APLICACIÓN A USTED.
6. Limitación de responsabilidad.
SALVO QUE LO DISPONGA EXPRESA E IMPERATIVAMENTE LA LEY APLICABLE, EN NINGÚN CASO EL LICENCIADOR SERÁ RESPONSABLE ANTE USTED POR CUALQUIER TEORÍA LEGAL DE CUALESQUIERA DAÑOS RESULTANTES, GENERALES O ESPECIALES (INCLUIDO EL DAÑO EMERGENTE Y EL LUCRO CESANTE), FORTUITOS O CAUSALES, DIRECTOS O INDIRECTOS, PRODUCIDOS EN CONEXIÓN CON ESTA LICENCIA O EL USO DE LA OBRA, INCLUSO SI EL LICENCIADOR HUBIERA SIDO INFORMADO DE LA POSIBILIDAD DE TALES DAÑOS.
7. Finalización de la licencia
a. Esta licencia y la cesión de los derechos que contiene terminarán automáticamente en caso de cualquier incumplimiento de los términos de la misma. Las personas o entidades que hayan recibido obras derivadas, conjuntas o bases de datos de usted bajo esta licencia, sin embargo, no verán sus licencias finalizadas, siempre que tales personas o entidades se mantengan en el cumplimiento íntegro de esta licencia. Las secciones 1, 2, 5, 6, 7 y 8 permanecerán vigentes pese a cualquier finalización de esta licencia.
b. Conforme a las condiciones y términos anteriores, la cesión de derechos de esta licencia es perpetua (durante toda la vigencia de los derechos de propiedad intelectual aplicables a la obra). A pesar de lo anterior, el licenciador se reserva el derecho a divulgar o publicar la obra en condiciones distintas a las presentes, o de retirar la obra en cualquier momento. No obstante, ello no supondrá dar por concluida esta licencia (o cualquier otra licencia que haya sido concedida, o sea necesario ser concedida, bajo los términos de esta licencia), que continuará vigente y con efectos completos a no ser que haya finalizado conforme a lo establecido anteriormente.
8. Miscelánea
a. Cada vez que usted explote de alguna forma la obra, o una obra conjunta o una base datos que la incorpore, el licenciador original ofrece a los terceros y sucesivos licenciatarios la cesión de derechos sobre la obra en las mismas condiciones y términos que la licencia concedida a usted.
Joel Barrios Dueñas Implementación de Servidores con GNU/Linux
o especiales (incluido el daño emergente y el lucro cesante), fortuitos o causales, en conexión con esta licencia. A pesar de las dos (2) oraciones anteriores, si Creative Commons se ha identificado expresamente como el licenciador, tendrá todos los derechos y obligaciones del licenciador.
Salvo para el propósito limitado de indicar al público que la obra está licenciada bajo la CCPL, ninguna parte utilizará la marca registrada "Creative Commons" o cualquier marca registrada o insignia relacionada con "Creative Commons" sin su consentimiento por escrito. Cualquier uso permitido se hará de conformidad con las pautas vigentes en cada momento sobre el uso de la marca registrada por "Creative Commons", en tanto que sean publicadas su página web (website) o sean proporcionadas a petición previa.
Joel Barrios Dueñas Implementación de Servidores con GNU/Linux
Otras notas acerca de esta publicación.
La información contenida en este manual se distribuye con la esperanza de que sea de utilidad, y se proporciona tal cual es pero SIN GARANTÌA ALGUNA, aún sin la garantía implícita de comercialización o adecuamiento para un propósito en particular, y el autor o autores no asumirán responsabilidad alguna si el usuario o lector hace mal uso de esta.
Joel Barrios Dueñas Implementación de Servidores con GNU/Linux
1. ¿Que es GNU/Linux?
Autor: Joel Barrios Dueñas
Correo electrónico: darkshram en gmail punto com
Sitio de Red: http://www.alcancelibre.org/
Creative Commons Reconocimiento-NoComercial-CompartirIgual 2.1
© 1999-2011 Joel Barrios Dueñas. Usted es libre de copiar, distribuir y comunicar públicamente la obra y hacer obras derivadas bajo las condiciones siguientes: a) Debe reconocer y citar al autor original. b) No puede utilizar esta obra para fines comerciales. c) Si altera o transforma esta obra, o genera una obra derivada, sólo puede distribuir la obra generada bajo una licencia idéntica a ésta. Al reutilizar o distribuir la obra, tiene que dejar bien claro los términos de la licencia de esta obra. Alguna de estas condiciones puede no aplicarse si se obtiene el permiso del titular de los derechos de autor. Los derechos derivados de usos legítimos u otras limitaciones no se ven afectados por lo anterior. La información contenida en este documento y los derivados de éste se proporcionan tal cual son y los autores no asumirán responsabilidad alguna si el usuario o lector hace mal uso de éstos.
GNU es un acrónimo recursivo que significa GNU No es Unix (GNU is Not Unix). Este proyecto fue iniciado por Richard Stallman, y anunciado el 27 de septiembre de 1983, con el objetivo de crear un sistema operativo completamente libre.
GNU/Linux® es un poderoso y sumamente versátil sistema operativo con licencia libre y que implemente el estándar POSIX (acrónimo de Portable Operating System Interface, que se traduce como Interfaz de Sistema Operativo Portable). Fue creado en 1991 por Linus Torvalds, siendo entonces un estudiante de la Universidad de Helsinski, Finlandia. En 1992, el núcleo
Linux> fue combinado con el sistema GNU. El Sistema Operativo formado por esta combinación se conoce como GNU/Linux.
GNU/Linux es equipamiento lógico libre o Software Libre. Esto significa que el usuario tiene la libertad de redistribuir y modificar a de acuerdo a necesidades específicas, siempre que se incluya el código fuente, como lo indica la Licencia Pública General GNU (acrónimo de GNU is Not
Unix), que es el modo que ha dispuesto la Free Software Foundation (Fundación de equipamiento lógico libre). Esto también incluye el derecho a poder instalar el núcleo de GNU/Linux® en cualquier número de ordenadores o equipos de cómputo que el usuario desee.
GNU/Linux® no es equipamiento lógico gratuito (comúnmente denominado como Freeware), se trata de equipamiento lógico libre o Software Libre. Cuando nos referirnos a libre, lo hacemos en relación a la libertad y no al precio. La GPL (acrónimo de General Public Licence, que se traduce como Licencia Pública General), a la cual Linus Torvalds incorporó a Linux, está diseñada para asegurar que el usuario tenga siempre la libertad de distribuir copias del equipamiento lógico (y cobrar por el servicio si así lo desea). La GPL tiene como objetivo garantizar al usuario la libertad de compartir y cambiar equipamiento lógico libre, es decir, asegurarse de que el equipamiento lógico siempre permanezca libre para todos los usuarios. La
GPL es aplicable a la mayoría del equipamiento lógico de la Free Software Foundation así como a cualquier otro programa cuyos autores se comprometan a usarlo.
Joel Barrios Dueñas Implementación de Servidores con GNU/Linux
Microsystems, han encontrado en GNU/Linux una plataforma con un muy amplio mercado, y se han volcado al desarrollo de versiones para Linux de sus más importantes aplicaciones. Grandes corporaciones, como Compaq, Dell, Hewlett Packard, IBM y muchos más, llevan varios años distribuyendo equipos con GNU/Linux® como sistema operativo.
Gracias a sus características, la constante evolución de los ambientes gráficos para X Window®, que cada vez son de más fácil uso, como es el caso de GNOME y KDE, al trabajo de cientos de programadores y usuarios fieles alrededor del mundo, Linux ha dejado de ser un sistema operativo poco atractivo y complicado de utilizar para convertirse en una alternativa real para quienes buscan un sistema operativo confiable y poderoso, ya sea para una servidor, estación de trabajo o la computadora personal de un usuario intrépido.
1.1. Requerimientos del sistema
Se debe contar con la suficiente cantidad de memoria y un microprocesador en buen estado. Con casi cualquier distribución comercial de Linux, el ambiente gráfico necesitará al menos 192 MB RAM, y 650-800 MB de espacio en disco duro para la instalación mínima. Para contar con la menor cantidad de aplicaciones prácticas, se requieren al menos 800 MB adicionales de espacio en disco duro, repartido en al menos 2 particiones. Se recomienda un microprocesador 80586 (pentium o equivalente) a 200 MHz. Sin ambiente gráfico, como es el caso de un servidor, o bien solamente aplicaciones para modo de texto, 64MB RAM y un microprocesador 80586 a 100 MHz serán suficientes.
El servidor de vídeo puede funcionar con sólo 64 MB RAM; pero su desempeño será mucho muy lento. Algunas aplicaciones para modo gráfico pueden necesitar escalar 64 MB, 128 MB o 256 MB de RAM adicional. El mínimo recomendado para utilizar GNOME 2.x es de 192 MB RAM; se recomiendan 256 MB. El óptimo es de 512 MB RAM.
Joel Barrios Dueñas Implementación de Servidores con GNU/Linux
2. Estándar de Jerarquía de Sistema de Ficheros
Autor: Joel Barrios Dueñas
Correo electrónico: darkshram en gmail punto com
Sitio de Red: http://www.alcancelibre.org/
Artículo basado sobre el publicado en inglés por Wikipedia, Enciclopedia Libre, en http://en.wikipedia.org/wiki/FHS.
Creative Commons Reconocimiento-NoComercial-CompartirIgual 2.1
© 1999-2011 Joel Barrios Dueñas. Usted es libre de copiar, distribuir y comunicar públicamente la obra y hacer obras derivadas bajo las condiciones siguientes: a) Debe reconocer y citar al autor original. b) No puede utilizar esta obra para fines comerciales. c) Si altera o transforma esta obra, o genera una obra derivada, sólo puede distribuir la obra generada bajo una licencia idéntica a ésta. Al reutilizar o distribuir la obra, tiene que dejar bien claro los términos de la licencia de esta obra. Alguna de estas condiciones puede no aplicarse si se obtiene el permiso del titular de los derechos de autor. Los derechos derivados de usos legítimos u otras limitaciones no se ven afectados por lo anterior. La información contenida en este documento y los derivados de éste se proporcionan tal cual son y los autores no asumirán responsabilidad alguna si el usuario o lector hace mal uso de éstos.
2.1. Introducción.
El estándar de jerarquía de ficheros (FHS o Filesystem Hierarchy Standard) define los principales directorios y sus contenidos en GNU/Linux y otros sistemas operativos similares a Unix.
El procesos de desarrollar un estándar de sistema de ficheros jerárquico inició en Agosto de 1993 con un esfuerzo para reestructurar la estructuras de ficheros y directorios de GNU/Linux. El 14 de Febrero de 1994 se publicó el FSSTND (Filesystem Standard), un estándar de jerarquía de ficheros específico para GNU/Linux. Revisiones de éste se publicaron el 9 de Octubre de 1994 y el 28 de Marzo de 1995.
A principios de 1996, con la ayuda de miembros de la comunidad de desarrolladores de BSD, se fijó como objetivo el desarrollar una versión de FSSTND más detallada y dirigida no solo hacia Linux sino también hacia otros sistemas operativos similares a Unix. Como uno de los resultados el estándar cambió de nombre a FHS o Filesystem Hierarchy Standard.
El FHS es mantenido por Free Standards Group, una organización sin fines de lucro constituida por compañías que manufacturan equipamiento físico (Hardware) y lógico (Software) como Hewlett Packard, Dell, IBM y Red Hat. La mayoría de las distribuciones de Linux, inclusive las que forman parte de Free Software Standards, no aplican de forma estricta el estándar. La versión actual del FHS es la 2.3, anunciada en 29 de Enero de 2004.
2.2. Estructura de directorios.
Todos los ficheros y directorios aparecen debajo del directorio raíz «/», aún si están almacenados en dispositivos físicamente diferentes.
Directorio. Descripción
Joel Barrios Dueñas Implementación de Servidores con GNU/Linux
Directorio. Descripción
/etc/sgml/ (opcional) Ficheros de configuración para SGML.
/etc/xml/ (opcional) Ficheros de configuración para XML.
/home/ (opcional) Directorios de inicios de los usuarios.
/lib/ Bibliotecas compartidas esenciales para los binarios de /bin/, /sbin/ y el núcleo del sistema.
/mnt/ Sistemas de ficheros montados temporalmente.
/media/ Puntos de montaje para dispositivos de medios como unidades lectoras de discos compactos.
/opt/ Paquetes de aplicaciones estáticas.
/proc/ Sistema de ficheros virtual que documenta sucesos y estados del núcleo. Contiene principalmente ficheros de texto.
/root/ (opcional) Directorio de inicio del usuario root (super-usuario).
/sbin/ Binarios de administración de sistema.
/tmp/ Ficheros temporales
/srv/ Datos específicos de sitio servidos por el sistema.
/usr/ Jerarquía secundaria para datos compartidos de solo lectura (Unix system
resources). Este directorio debe poder ser compartido para múltiples anfitriones y no debe contener datos específicos del anfitrión que los comparte.
/usr/bin/ Mandatos binarios.
/usr/include/ Ficheros de inclusión estándar (cabeceras de cabecera utilizados para desarrollo).
/usr/lib/ Bibliotecas compartidas.
/usr/share/ Datos compartidos independientes de la arquitectura del sistema. Imágenes, ficheros de texto, etc.
/usr/src/ (opcional) Códigos fuente.
/usr/X11R6/ (opcional) Sistema X Window, versión 11, lanzamiento 6.
/usr/local/ Jerarquía terciaria para datos compartidos de solo lectura específicos del anfitrión.
/var/ Ficheros variables, como son bitácoras, bases de datos, directorio raíz de servidores HTTP y FTP, colas de correo, ficheros temporales, etc.
/var/account/ (opcional) Procesa bitácoras de cuentas de usuarios.
/var/cache/ Cache da datos de aplicaciones.
/var/crash/ (opcional) Depósito de información referente a estrellamientos del de sistema.
Joel Barrios Dueñas Implementación de Servidores con GNU/Linux
Más detalles acerca del FHS en http://www.pathname.com/fhs/.
2.3. Particiones recomendadas para instalar GNU/Linux.
Como mínimo se requieren tres particiones:
/boot Requiere al menos 75 MB. Asignar más espacio puede considerarse desperdicio.
/ Requiere de 512 a 1024 MB.
Swap Debe asignarse el doble del tamaño del RAM físico, esta será siempre la última
partición del disco duro y no se le asigna punto de montaje