Argumento de Configuración de Sistemas Linux
Los sistemas operativos basados en Linux resultan extremadamente potentes y flexibles, pero liberar todo ese poder y flexibilidad requiere conocer y comprender cómo funciona el sistema. Configuración de sistemas Linux va más allá de las técnicas básicas de uso y administración de los sistemas Linux, para cubrir el modo en que dichos sistemas se diseñan. Gracias al análisis detallado de tres populares distribuciones Linux, tareas de ejemplo de configuración y administración y tres casos de estudio reales, obtendrá un auténtico dominio de los sistemas operativos basados en Linux e incluso de los sistemas similares a Unix en general. El libro está dirigido a los usuarios de sistemas Linux que ya disponen de los conocimientos básicos pero aún no son expertos. El autor crea un puente entre el conocimiento básico del "cómo consigo que..." hasta el nivel de un auténtico dominio. Encontrará ejemplos detallados sobre los componentes reales de una distribución Linux y aprenderá técnicas de gran utilidad a lo largo de este proceso. Todo ello le proporcionará una comprensión práctica y completa acerca de qué es lo que sucede bajo el envoltorio de su sistema. Incluye CD-ROM con el código fuente del libro.0Introducción Lo que este libro cubre Lo que aprenderá Lo que no aprenderá Lo que necesitará Parte I. Antedecentes 1. La fisiología de Linux Los orígenes de Linux La naturaleza de un sistema operativo Recursos Núcleo Bibliotecas de sistema ¿Es Linux un sistema operativo? Linux y GNU GNU y Linux: el sistema operativo de los campeones El programa ls gzip, bzip2, tar y vim El secreto del éxito El zen de la plataforma El debate GNU/Linux o Linux Referencias 2. Introducción al código abierto La naturaleza del software Código abierto frente a código libre Software de código abierto en acción Aplicaciones horizontales Desarrollo cooperativo de software Licencias de código abierto La Licencia Pública General (GPL) de GNU La licencia BSD La Licencia Pública Menos General (LGPL) de GNU La Licencia Pública Mozilla Otras licencias Licencia para programar Parte II. Distribuciones Linux 3. La naturaleza de una distribución Una instantánea del Continuo Linux Los objetivos de una distribución Disección de una distribución Linux Núcleo Linux Formato de empaquetado Gestor de paquetes de Red Hat Archivos Deb Formato de empaquetado frente a distribución Estructura del sistema de archivos Directorios Estándar de jerarquía del sistema de archivos Guiones de arranque del sistema Versiones de las bibliotecas de sistema Escritorio X Window Transparencia de red Modelo de GUI en capas Escoger un servidor X, conjunto de componentes,y gestor de ventanas Software de aplicación Base Estándar de Linux Resumen 4. Red Hat Linux Antecedentes y filosofía de Red Hat Núcleo Linux Formato de empaquetado Resumen técnico Convenciones de nombrado de archivos Arquitecturas Formato del archivo del paquete Uso de RPM Modos del programa Permisos de acceso Comprobaciones de dependencia Información sobre paquetes no instalados Instalación de paquetes Actualización de paquetes Información sobre paquetes instalados Verificación de los paquetes instalados Reconstrucción de paquetes Desinstalación de paquetes Creación de nuevos paquetes Prestaciones adicionales Mecanismo frente a interfaz de usuario El programa up2date de Red Hat Otros programas GUI Ejemplos de uso de RPM Estructura del sistema de archivos Guiones de arranque del sistema Comprensión de los niveles de ejecución iniciales Estructura de archivos y directorios El paquete SysVinit El paquete initscripts Seguir la pista a una ejecución Guión de configuración del nivel de ejecución Configuración manual del sistema Uso de las herramientas de Red Hat /sbin/service /sbin/chkconfig /sbin/shutdown Bibliotecas centrales del sistema El sistema X Window y el escritorio XFree86 GNOME y KDE Aplicaciones de usuario Comprensión de la distribución central CD de código fuente y documentación Ediciones de Red Hat Linux Encontrar software adicional Idiosincrasias de Red Hat Linux Uso el cargador de arranque GRUB Gestión de software similar Actualización a un núcleo estándar RPM kernel-headers Enlace simbólico /usr/src/linux-2.4 Construcción del núcleo a partir del código fuente Entorno de usuario Red Hat Linux e Inetd Dominio de los directorios de configuración de Red Hat Trabajar con Kudzu Instalar fuentes TrueType Garantizar la seguridad del sistema Uso de un cortafuego Gestión de valores de seguridad con PAM Derivados de Red Hat Linux Mandrake Caldera TurboLinux Resumen 5. Slackware Linux 8.0 Antecedentes y filosofía de Slackware Núcleo Linux Formato de empaquetado Resumen técnico Administración de paquetes instalados Instalación de paquetes Actualización de paquetes Desinstalación de paquetes Creación de nuevos paquetes Mecanismo frente a interfaz de usuario Estructura del sistema de archivos Guiones de arranque del sistema Estructura de archivos y directorios /etc/inittab /etc/rc.d/rc.S /etc/rc.d/rc.K /etc/rc.d/rc.M /etc/rc.d/rc.0 y /etc/rc.d/rc.6 /etc/rc.d/rc.modules /etc/rc.d/rc.inet1 y /etc/rc.d/rc.inet2 /etc/rc.d/rc.sysvinit Otros archivos Modificación de los guiones de arranque Seguir la pista a una ejecución /etc/rc.d/rc.S /etc/rc.d/rc.M Otras acciones Bibliotecas centrales del sistema El sistema X Window y el escritorio XFree86 GNOME y KDE Aplicaciones de usuario Aplicaciones incluidas ZipSlack Idiosincrasias de Slackware Linux Configuración de inetd El archivo /etc/services El archivo /etc/inetd.conf Instalación de un nuevo servicio basado en inetd Garantizar la seguridad del sistema Inhabilitar los servicios inetd Inhabilitar el demonio portmap Inhabilitar el demonio de impresión lpd Inhabilitar el servidor SMTP sendmail Inhabilitar el servidor HHTP Apache Otros servidores Personalización del entorno de usuario Cambiar el entorno de escritorio de X Window de un usuario Añadir hardware nuevo Derivados de Slackware Linux SuSE Linux Peanut Linux Resumen 6. Debian GNU/Linux 3.0 Antecedentes y filosofía de Debian El Contrato Social Debian Las Políticas Debian Núcleo Linux Empaquetado Debian Resumen técnico Uso del programa dpkg Uso del programa apt-get Uso del programa dselect Uso del programa tasksel Entrar en detalles Administración de paquetes con el sistema de Debian Trabajo con dpkg Gestionar fuentes de paquetes con apt-get Administración de paquetes con dselect y tasksel Configuración de paquetes Debian Actualización del sistema Manipulación de archivos de paquete Debian Administración del código fuente Instalación de paquetes no Debian Mecanismo frente a interfaz de usuario Guiones de arranque del sistema Encontrar los directorios SysV Trabajar con las herramientas de Debian Uso de update-rc.d Uso de invoke-rc.d Diferencias en /etc/inittab Bibliotecas centrales del sistema El sistema X Window y el escritorio Aplicaciones de usuario Idiosincrasias de Debian GNU/Linux Visita al directorio /etc El directorio /etc/default El directorio /etc/network El directorio /etc/dpkg Comprensión del directorio /etc/alternatives Configuración del gestor de visualización X Garantizar la seguridad del sistema Cierre de servicios SysV innecesarios Eliminación de servicios inetd Uso del programa update-inetd Derivados de Debian GNU/Linux Resumen Parte III. Instalación de software 7. Instalación y configuración de software Comienzo Lectura de la documentación Aceptar la licencia Instalación de software en seis pasos sencillos Elección entre una instalación fuente o binaria Comprensión de las plataformas hardware y las familias de procesadores Opciones de configuración del software Toma de la decisión Decidir la ubicación Instalación en /usr/local Instalación en /opt Toma de la decisión Construcción del software Especificación de opciones en tiempo de compilación Realizar la compilación Configuración de los parámetros del software Parámetros en línea de comandos Herramientas y ayudantes específicos de la aplicación Archivos de configuración global Directorios para depositar archivos de configuración Archivos o directorios planos Servidores arrancados por inetd Bibliotecas de usuario Configuración del entorno de usuario Enganche con el sistema operativo Herramientas de instalación de software Uso de autoconf de GNU Uso de las herramientas de Red Hat RPM y arquitecturas Construcción de RPM fuente Comandos RPM Contenidos del directorio /usr/src/redhat Uso de las herramientas de Slackware Uso de las herramientas de Debian Resumen 8. La shell segura OpenSSH Instalación de OpenSSH Opciones en tiempo de compilación Selección de una ruta de instalación Selección de las opciones de configuración Instalación a partir del código fuente Configuración de OpenSSH Configuración del cliente ssh Habilitar el reenvío por agente SSH Inhabilitar la comprobación estricta de claves de máquina Configuración del servidor sshd Habilitar el reenvío de conexión con X Window Resumen de la configuración de OpenSSH Instalación de OpenSSH en diferentes distribuciones Instalación de OpenSSH en Red Hat Linux Instalación de OpenSSH en Slackware Linux Instalación de OpenSSH en Debian GNU/Linux Resumen 9. Módulos de autenticación enlazables (PAM) Instalación de PAM Configuración de PAM Construcción del archivo de configuración El elemento servicio El elemento tipo El elemento control El elemento módulo El elemento argumentos Las pilas PAM Análisis de un archivo de ejemplo Instalación de PAM en diferentes distribuciones Instalación de PAM en Red Hat Linux Instalación de PAM en Slackware Linux Instalación de PAM en Debian GNU/Linux Resumen 10. Biblioteca SOCKS Dante Instalación de Dante Preparación de la ruta de instalación Compilación e instalación Resumen de la instalación Configuración de Dante Encontrar el archivo de configuración Obtención de los parámetros de red Formato del archivo de configuración Opciones globales Creación de un bloque de ruta Un archivo de muestra Instalación de Dante en diferentes distribuciones Instalación de Dante en Red Hat Linux Instalación de Dante en Slackware Linux Instalación de Dante en Debian GNU/Linux Resumen 11. El servidor HTTP Apache Instalación de Apache Opciones en tiempo de compilación Elección de un directorio de instalación Habilitación del soporte de módulos de carga dinámica Elección de un MPM Otras opciones Completar la instalación Configuración de Apache Exploración del directorio de instalación Programas en el directorio bin Archivos de configuración en el directorio conf Archivos de anotaciones en el directorio logs Directorios de contenidos Directorios de documentación Otros directorios Personalización de Apache Instalación de Apache en diferentes distribuciones Instalación de Apache en Red Hat Linux Elección de la versión correcta Inicio del servidor Apache durante el arranque del sistema Hacer apachectl compatible con chkconfig Instalación de Apache en Slackware Linux Instalación de Apache en Debian GNU/Linux Resumen 12. Sistema de versiones concurrentes (CVS) Instalación de CVS Opciones en tiempo de compilación Instalación a partir del código fuente Configuración de CVS Creación del directorio repositorio Creación de cuentas de usuario Confiar en las cuentas del sistema Compartir una única cuenta de usuario Establecimiento de permisos Parámetros para el caso de autenticación de sistema Parámetros para el caso de cuentas virtuales Establecimiento de parámetros en tiempo de ejecución Instalación de CVS en diferentes distribuciones Instalación en Red Hat Linux Actualización del archivo /etc/services El directorio /etc/xinetd.d Construcción del archivo de configuración Administración de xinetd Instalación en Slackware Linux Instalación en Debian GNU/Linux Resumen 13. Kit de desarrollo de Java de Sun Microsystems Instalación de J2SDK Configuración de J2SDK El directorio /opt/java Instalación de múltiples JDK Instalación de archivos JAR Configuración del entorno de usuario Fijar CLASSPATH Fijar PATH y JAVA_HOME Juntarlo todo Instalación de J2SDK en diferentes distribuciones Instalación en Red Hat Linux Instalación en Slackware Linux Instalación en Debian GNU/Linux Resumen Parte IV. Casos de estudio 14. Construcción de un sistema de escritorio Comienzo ¿A quién se dirige este ejemplo? Definición de un escritorio Contenidos de este capítulo Construcción del sistema Elección de los paquetes Detalles de la configuración Uso de aplicaciones de escritorio y productividad Entorno de escritorio La elección: KDE Las alternativas: GNOME, GNUStep, Sawfish, BlackBox, y FVWM Productividad ofimática La elección: OpenOffice Las alternativas: Koffice, Abiword, HancomOffice, Applixware, y Wordperfect Office Finanzas personales La elección: GNUCash Las alternativas: Kapital Navegación web La elección: Konqueror y Mozilla Las alternativas: Galeon y Opera Extensiones del navegador Uso de extensiones con los navegadores La extensión Macromedia Flash La extensión Java Soporte para hardware Uso de una disquetera ZIP Configuración de una disquetera ZIP Montaje de una disquetera ZIP Uso de dispositivos USB Marco de trabajo principal Controlador de la controladora USB Controladores específicos de dispositivo Conexión en caliente del núcleo Uso de una cámara digital Uso de un lector de tarjetas flash Uso de un reproductor MP3 Uso de otros dispositivos USB Uso de una grabadora de CD Comprensión de la emulación SCSI Red Hat Linux y SCSI Configuración de su grabadora Uso de tarjetas gráficas 3D Exploración de las opciones multimedia y de entretenimiento Trabajo con cámaras digitales Manipulación de fotografías con GIMP Creación de discos compactos Uso del programa mkisofs Uso del programa cdrecord Uso del programa xcdroast Reproducción de archivos de audio digital El programa mpg321 El programa ogg123 El sistema multimedia X Reproducción de archivos de vídeo digital El reproductor multimedia avifile El programa smpeg Otros programas Juegos Implementación de la conectividad y el acceso remoto Acceso remoto al escritorio Provisión de otros servicios Resumen 15. Un entorno de desarrollo de software corporativo Comienzo ¿A quién se dirige este ejemplo? ¿Para qué se utiliza este sistema? Construcción del sistema Comienzo con el escritorio Elección de los paquetes Detalles de la configuración Herramientas de administración y red Compresión de la red local Uso de DHCP en el sistema Instalación del servicio portmap Uso de servicios de información de red (NIS) Modificación del archivo /etc/sysconfig/network Modificación del archivo /etc/yp.conf Uso de servicios del sistema de archivos de red (NFS) Preparación de los servicios de apoyo Compresión del montador automático Administración de activos Provisión de acceso remoto como root Entorno de desarrollo Instalación de las herramientas centrales de desarrollo Configuración del entorno Java Instalación de herramientas adicionales Advertencias y mejoras Uso del servidor HTTP Apache Ejecución de aplicaciones J2EE con Tomcat Interoperación corporativa Uso de OpenOffice para documentos de empresa Funcionamiento de VMware Cuestiones de seguridad Compresión de la seguridad de la red local Protección de la estación de trabajo Configuraciones alternativas Uso de un servidor de aplicaciones alternativo Uso de otros lenguajes web Desarrollo de software tradicional Resumen 16. Construcción de un cortafuego de red Comienzo ¿Qué es un cortafuego? Prácticas seguras ¿A quién se dirige este ejemplo? Sustitución del cortafuego por defecto Elementos de un cortafuego Linux Minimizar la exposición Bloquear a los malos Enmascaramiento Servicio de red Construcción del cortafuego Hardware necesario: tarjetas Ethernet Problemas de las tarjetas Ethernet Nombrado de los dispositivos Ethernet Configuración de las interfaces Selección de un medio de instalación Reducción de la lista de paquetes Adición de paquetes de seguridad Preparación de las cuentas de usuario Configuración de un nuevo núcleo Creación de los guiones de inicio Selección de los servicios de arranque Presentación de un guión iptables Análisis del guión Comprensión de las reglas de cortafuego Arranque del cortafuego Detención del cortafuego Comprobación del estado del cortafuego Reinicio del cortafuego Validación de la instalación Resumen y limitaciones Soporte a las máquinas internas Instalación de DHCP para máquinas internas Instalación de un servidor de nombres local Lo que ya ha conseguido Vigilancia y mantenimiento del sistema Configuración del sistema de anotaciones del sistema Configuración del servidor de anotaciones interno Perforación del cortafuego local Configuración de syslog en el cortafuego Vigilancia del tráfico del cortafuego Clasificación de paquetes Cuidado y mantenimiento de su cortafuego La lista de correo Bugtraq Listas de fabricantes Otras fuentes Seguridad en profundidad Investigación de técnicas de seguridad avanzada Uso del sistema de detección de intrusiones Tripwire Integración de una LAN inalámbrica Mejora del servidor DNS Arranque desde medios de sólo lectura Configuración de una VPN mediante SSH Resumen Una despedida Bibliografía Parte V. Apén A. Reuniéndolo todo Escapada en solitario: configuraciones adicionales Educación continua Lista del núcleo Linux Listas de correo de las distribuciones Seguir la pista del trabajo activo y diversas iniciativas En busca de la seguridad Mejoras del núcleo Recorte y compresión del sistema Resumen B. Conten alfabético