Administración de Sistemas Linux
Soltux SRL
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
Administración de Sistemas Linux por Soltux SRL Copyright © 2011 Soltux S.R.L.
Esta obra está licenciada bajo una Licencia Attribution-ShareAlike 3.0 Unported de Creative Commons, que le permite copiar, distribuir, exhibir y ejecutar la obra, hacer obras derivadas y hacer usos comerciales de la misma, bajo las condiciones de atribuir el crédito correspondiente al autor y compartir las obras derivadas resultantes bajo esta misma licencia o una licencia similar a esta. Para ver una copia de esta licencia, visite http://creativecommons.org/licenses/by-sa/3.0/ o envíe una carta a Creative Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA. Linux es una marca registrada de Linus Torvalds. Todas las otras marcas registradas mecionadas en esta obra son propiedad de sus respectivos dueños. Si bien se han tomado todas las precauciones en la preparación de este material, el autor no asume ninguna responsabilidad por errores u omisiones, ni por los daños resultantes del uso de la información contenida en este documento. Soltux S.R.L. Soluciones Tecnológicas en Linux http://www.soltux.com/ La Paz, Bolivia
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
1. Instalación de Red Hat Enterprise Linux 6 ....................................................................... 1 1.1. Objetivos ........................................................................................................ 1 1.2. El proceso de instalación en general ..................................................................... 2 1.3. Compatibilidad del Hardware ............................................................................. 3 1.4. Hardware Incompatible ..................................................................................... 4 1.5. Espacio Suficiente ............................................................................................ 5 1.6. Requisitos de Espacio ....................................................................................... 6 1.7. Creación de Particiones ..................................................................................... 7 1.8. Número de Particiones Permitidas ....................................................................... 8 1.9. Notación para Particiones .................................................................................. 9 1.10. Notación para Particiones ............................................................................... 10 1.11. Número de Particiones ................................................................................... 11 1.12. Sistema de Archivos en varias Particiones .......................................................... 12 1.13. Particiones y Sistema de Archivos .................................................................... 13 1.14. Particiones y Puntos de Montaje ...................................................................... 14 1.15. Instalación de Red Hat Enterprise Linux ............................................................ 15 1.16. Eligiendo el Método de Instalación ................................................................... 16 1.17. Inicio de la Instalación ................................................................................... 17 1.18. Consolas Virtuales ......................................................................................... 18 2. Redes TCP/IP en Linux .............................................................................................. 19 2.1. Objetivos ...................................................................................................... 19 2.2. Introducción .................................................................................................. 20 2.3. Interfaces de Red ............................................................................................ 21 2.4. Interfaces de red habituales ............................................................................... 22 2.5. Instalacion de Tarjetas de Red ........................................................................... 23 2.6. Como comprobar las tarjetas de red .................................................................... 24 2.7. Como Configurar TCP/IP en Linux .................................................................... 25 2.8. La red como servicio ....................................................................................... 26 2.9. Opciones de la tarjeta de red ............................................................................. 27 2.10. Configuración de rutas estáticas ....................................................................... 28 3. Administrando cuentas de usuario ................................................................................ 29 3.1. Objetivos ...................................................................................................... 29 3.2. Gestión de cuentas de usuario y grupos ............................................................... 30 3.3. La cuenta de usuario root ................................................................................. 31 3.4. ¿ Qué es una cuenta de usuario ? ....................................................................... 32 3.5. Convertirse en root .......................................................................................... 33 3.6. Creando cuentas de usuario .............................................................................. 34 3.6.1. Acciones de useradd y password ............................................................. 35 3.6.2. Datos utilizados por una cuenta ............................................................... 36 3.6.3. Entorno inicial de la cuenta .................................................................... 37 3.6.4. Opciones de useradd ............................................................................. 38 3.7. Creando grupos .............................................................................................. 40 3.8. Modificando cuentas de usuario ........................................................................ 41 3.9. Modificando grupos ........................................................................................ 43 3.10. Eliminar cuentas de usuario ............................................................................ 44 3.11. Eliminar grupos ............................................................................................ 45 3.12. El juego de herramientas Shadow ..................................................................... 46 3.13. Formato de archivos passwd, shadow y group ..................................................... 47 3.13.1. Utilidades passwd/shadow .................................................................... 49 3.13.2. Integridad de los archivos ..................................................................... 50 3.14. Manejo de contraseñas ................................................................................... 51 3.15. Modificando los datos de vigencia de una contraseña ........................................... 52 3.16. Ajustando el entorno del usuario ...................................................................... 54 4. Administrando paquetes ............................................................................................. 55 4.1. Objetivos ...................................................................................................... 55 4.2. ¿ Qué es un paquete ? ...................................................................................... 56 4.3. Trabajando con RPM ....................................................................................... 57 4.4. Nomenclatura de nombres RPM ........................................................................ 58
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
iii
Administración de Sistemas Linux
4.5. La orden rpm ................................................................................................. 60 4.6. Verificar firmas de un paquete ........................................................................... 61 4.7. Instalar nuevos paquetes .................................................................................. 62 4.7.1. Dependencia entre paquetes ................................................................... 63 4.8. Estar al día con los paquetes ............................................................................. 64 4.8.1. Refrescar vs. Actualizar ......................................................................... 64 4.9. Eliminar paquetes ........................................................................................... 65 4.10. Consultar paquetes ........................................................................................ 66 4.11. Verificar paquetes ......................................................................................... 69 5. Gestión de procesos ................................................................................................... 71 5.1. Objetivos ...................................................................................................... 71 5.2. Control de Trabajos ......................................................................................... 72 5.3. Usando el control de trabajos ............................................................................ 73 5.4. Manejo de procesos ........................................................................................ 75 5.4.1. Envío de señales a procesos .................................................................... 77 5.4.2. Manejo de prioridad de procesos ............................................................. 79 6. Arranque, inicialización, apagado y niveles de ejecución ................................................... 81 6.1. Objetivos ...................................................................................................... 81 6.2. Arranque e inicialización .................................................................................. 82 6.2.1. Opciones del núcleo ............................................................................. 83 6.3. Niveles de ejecución ....................................................................................... 84 6.4. Archivo inittab ............................................................................................... 85 6.5. Inicialización del sistema ................................................................................. 86 6.6. Personalizar el arranque ................................................................................... 88 6.7. Apagar o reiniciar el sistema ............................................................................. 90 7. Uso y gestión de los sistemas de archivos ...................................................................... 93 7.1. Objetivos ...................................................................................................... 93 7.2. Procedimiento general ..................................................................................... 94 7.3. Dispositivos ................................................................................................... 95 7.4. Particiones .................................................................................................... 96 7.4.1. Esquema de particiones ......................................................................... 97 7.4.2. Creando particiones .............................................................................. 98 7.5. Los sistemas de archivos ................................................................................ 100 7.5.1. El superbloque ................................................................................... 100 7.5.2. i-nodos y archivos .............................................................................. 101 7.5.3. i-nodos y espacio en disco .................................................................... 102 7.5.4. Tipos de sistemas de archivos ............................................................... 103 7.6. Creando sistemas de archivos .......................................................................... 105 7.6.1. Opciones de creación del sistema de archivos ........................................... 106 7.7. Herramientas de sistemas de archivos ............................................................... 107 7.7.1. Información del sistema de archivos ....................................................... 107 7.7.2. Integridad del sistema de archivos .......................................................... 109 7.7.3. Ajuste del sistema de archivos ............................................................... 111 7.7.4. Depuración del sistema de archivos ........................................................ 112 7.8. Montando sistemas de archivos ........................................................................ 113 7.8.1. El archivo /etc/fstab ............................................................................ 114 7.9. Uso de espacio ............................................................................................. 116 7.10. Cuotas de disco ........................................................................................... 118 7.10.1. Términos de cuotas de disco ................................................................ 119 7.10.2. Configurando cuotas de disco .............................................................. 120 7.10.3. Fijando el periodo de gracia ................................................................ 123 8. El sistema X-Window ............................................................................................... 125 8.1. Objetivos ..................................................................................................... 125 8.2. Descripción breve de X-Window ...................................................................... 126 8.2.1. Manejador de ventanas ........................................................................ 126 8.2.2. Entornos de Escritorio ......................................................................... 128 8.3. Instalando X ................................................................................................ 129 8.3.1. Ubicación de los archivos de X ............................................................. 130
iv
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
Administración de Sistemas Linux
8.4. Configuración de X ....................................................................................... 131 8.5. Iniciando X .................................................................................................. 132 8.6. Personalizar X .............................................................................................. 133 8.7. El gestor de pantalla xdm ............................................................................... 135 8.8. Clientes remotos ........................................................................................... 136 Indice General ............................................................................................................ 139
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
v
vi
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
1. Instalación de Red Hat Enterprise Linux 6 1.1. Objetivos
Al concluir este capítulo usted será capaz de: • Comprender los requisitos de hardware para instalar Red Hat / CentOS Linux • Organizar un esquema de particiones • Comprender el procedimiento general de instalación • Realizar una instalación personalizada
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
1
El proceso de instalación en general
1.2. El proceso de instalación en general
En general, para instalar Linux en una máquina, se debe verificar si el hardware (Microprocesador, Disco Duro, Memoria RAM, Tarjetas de Red y otros perifericos) cumple con los requisitos, es decir, si es compatible Después, se debe verificar si se tiene el espacio suficiente, es decir, suficiente memoria RAM, suficiente espacio en Disco Duro y un microprocesador con la velocidad de reloj mínima requerida Una vez cumplidos los requerimientos, se puede iniciar el proceso de instalación, por ejemplo desde un CD o DVD, seguido de algunos datos del sistema como ser distribución del teclado. Despues creamos las particiones del sistema, es decir particionamos el disco duro de acuerdo a nuestras necesidades, pero es importante nunca olvidarnos de una particion para la memoria de intercambio. Finalmente, se deben elegir los paquetes (programas) a instalar y ahí termina el proceso en general.
2
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
Compatibilidad del Hardware
1.3. Compatibilidad del Hardware
Red Hat Enterprise Linux, debería ser compatible con la mayoría del hardware fabricado en los últimos años, ya que Red Hat es un empresa que tiene acuerdos con la mayoría de los fabricantes de la actualidad. Los problemas de compatibilidad se pueden reducir eligiendo hardware certificado, de esta forma es aconsejable antes de adquirir un equipo, revisar o pedir la certificación del fabricante por parte de Red Hat, así estaremos seguros de que no tendremos problemas en el futuro Para saber que hardware es certificado o es compatible, puede visitar la siguiente página: http://www.redhat.com/hardware Tenga en cuenta que el hardware cambia aceleradamente, siempre revise esa pagina y sobre todo si hará adquisiciones.
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
3
Hardware Incompatible
1.4. Hardware Incompatible
No todo el hardware se encuentra certificado, o en muchos casos primero se hizo la adquisición del hardware y despues el software, entonces es posible que se encuentre con hardware no compatible. Generalmente los dispositivos "especiales" como scanners, winmodems, controladores RAID, SCSI, HBA, así como hardware recién salido al mercado, pueden llegar a ser incompatibles. Lo más aconsejable es consultar con el fabricante y/o distribuidor de estos productos en el país, para saber si existe la compatibilidad o si existe el controlador de ese dispositivo para GNU/Linux (Red Hat Enterprise Linux) De cualquier manera, lo mejor es adquirir hardware certificado cuando sea posible
4
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
Espacio Suficiente
1.5. Espacio Suficiente
Linux, necesita sus propias particiones en disco duro para poder funcionar, por ejemplo, necesita de un área de intercambio para la memoria virtual así como por lo menos otra partición para el sistema de archivos, denominada / En el caso de servidores, las particiones que dependerán del uso que se dará al servidor, por ejemplo si es servidor de sitios web, se necesitará una partición /varpara guardar ahí los diferentes sitios web. Linux, puede ser instalado en un mismo disco duro que contenga otro(s) sistema(s) operativo(s), y así tener un sistema dual boot o multi boot. Esto es aconsejable para instalaciones de usuario final y no así para instalaciones de servidores Para cargar el sistema operativo, Linux necesita de un Cargador de Arranque, la mayoría de las distribuciones utilizan GRUB (GRand Unified Bootloader)
Nota Antes de iniciar el proceso de instalación, se debe tener espacio no asignado en el disco o particiones que se puedan eliminar y así hacer espacio
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
5
Requisitos de Espacio
1.6. Requisitos de Espacio
Como se mencionó en los capitulos anteriores, Linux necesita de un área de intercambio, pero esta debe cumplir con ciertos requerimientos mínimos: Para el área de intercambio se necesita mínimo 512 MB y máximo dos veces la memoria RAM pudiendo llegar a nomas que 32 GB: Mínimo 512 MB. Máximo RAMx2. Para la raíz/ se necesita: 1 GB: Instalación mínima sin modo gráfico 3 GB: Instalación compacta. 5 GB: Instalación completa (Recomendable). Es recomendable hacer la instalación mínima en caso de los servidores, a menos que se requieran ciertas cosas adicionales, como ser virtualizacion, donde ahí si es recomendable hacer una instalación completa, para estar seguros de que se tiene todo lo necesario.
6
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
Creación de Particiones
1.7. Creación de Particiones
Existen dos tipos de particiones: primaria y extendida Un disco duro, acepta como máximo 4 particiones primarias, de las cuales 1 debe ser para a raiz / y otra para el área de intercambio. En caso de requerir mas de 4 particiones, una de ellas (la última preferentemente), debe ser una partición extendida. Las particiones extendidas se pueden dividir en varias particiones lógicas, donde cada una de ellas puede ser utilizada por el sistema operativo
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
7
Número de Particiones Permitidas
1.8. Número de Particiones Permitidas
Como se dijo en el anterior punto, en un disco duro sólo pueden existir 4 particiones primarias como máximo (como se muestró en la figura) En caso de requerirse más, se puede crear hasta 255 particiones en una partición lógica.
8
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
Notación para Particiones
1.9. Notación para Particiones
Linux tiene su propia forma de notación de las diferentes particiones, a diferencia de Windows que utiliza una única letra (C, D, E, etc), Linux utiliza la siguiente notación:/dev/xxyN donde: /dev/ Archivo del dispositivo. xx Tipo de disco hd (IDE) o sd (SCSI, USB). y Dispositivo donde se encuentra la partición (posición en bus de datos). N Número de partición (1-4 primaria o extendida, 5 o más unidad lógica). Ejemplo: /dev/hda, /dev/hdb3,/dev/sdc7. en el ejemplo se puede observar que hda es un disco duro de tecnología IDE, asi como hdb3 es la tercer partición. Pero sdc7 es la séptima partición de un disco duro tipo SATA (SCSI) de esta forma, se puede observar que la notación de los discos duros esta creada de forma tal que esta incluso nos ayude a saber el tipo de hardware (disco duro) que se tiene en el sistema
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
9
Notación para Particiones
1.10. Notación para Particiones
Linux da nombres comunes a los Discos, estos nombres son secuenciales y alfabeticos, que va desde la aa la z, empezando por el primario (como se muestra en la figura) Si se trata de discos SCSI la letra va en secuencia a los dispositivos (SCSI ID), pero la idea principal se mantiene, es decir la secuencia y el órden alfabetico
10
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
Número de Particiones
1.11. Número de Particiones
Linux en general y Red Hat Enterprise Linux necesitan al menos 2 particiones, la swap o área de intercambio (para memoria virtual) y la partición root / para el sistema de archivos Según la tarea del servidor (o incluso del usuario) pueden usarse otros esquemas que se ajusten mejor. Por ejemplo: Sistema con usuarios accediendo /home, en otra particion o por ejemplo para un tipo de servidor de correo /var/spool/mail , en otra partición
Nota Uno puede crear el número de particiones necesario de acuerdo a sus necesidades
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
11
Sistema de Archivos en varias Particiones
1.12. Sistema de Archivos en varias Particiones
El sistema de archivos puede estar distribuido en varias particiones si es necesario Tecnicamente, cada carpeta puede estar dentro de una partición, ahora lo recomendable es que cada uno de los siguientes directorios tengan su partición, sobre todo en servidores de producción: /boot: Archivos de inicio del sistema (núcleo) /home: Directorio base de los usuarios /tmp: Archivos temporales del sistema /usr: Directorio donde se instalan las aplicaciones /var: Archivos de tamaño variable del sistema
12
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
Particiones y Sistema de Archivos
1.13. Particiones y Sistema de Archivos
Para que una partición sea utilizable, necesita un sistema de archivos. Durante la instalación existen: ext2: Sistema de archivos tradicional, actualmente ya no tiene mucho uso en sistemas modernos, a menos que se lo utilice para la particion donde se encontrará /boot, ya que este directorio cambiará muy pocas veces. ext3: Basado en ext2 con soporte de “journaling”. es recomendable para particiones donde se encontrarán los directorios /usr, /tmp ext4: Basado en ext3, con grandes mejoras en la re-escritura y la re-lectura, es aconsejable utilizar este sistema de archivos en particiones que contendrán los directorios /home y /var. swap: Usado para memoria virtual. vfat: Compatible con Windows, es recomendable usarlo cuando una partición será compartida con un sistema de tipo Windows, en caso de un servidor esto no es necesario y se recomienda NO utilizar este tipo de sistema de archivos. software RAID Para usar RAID 1 o RAID 5 basado en software, esta solución es buena, si el hardware no soporta RAID por hardware (controlador), en caso contrario es preferible utilizar el RAID del hardware
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
13
Particiones y Puntos de Montaje
1.14. Particiones y Puntos de Montaje
En Linux no existe el concepto de unidades como en DOS/Windows (C:, D:, etc.), en lugar de ello se usa el concepto de montar, que es la asociación de un directorio a un sistema de archivos (partición) Al directorio se denomina punto de montaje (mount point). como se muestra en la figura:
Como se mostró en la figura, en Linux no es necesario montar los directorios con las particiones del disco duro en forma secuencial, mas bien, una de las grandes ventajas de Linux, es que esto se hace de forma independiente al orden de las particiones así como de los puntos de montaje
14
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
Instalación de Red Hat Enterprise Linux
1.15. Instalación de Red Hat Enterprise Linux
El programa de instalación (llamado anaconda) de Red Hat Enterprise Linux es bastante versátil ya que puede instalar desde medios locales o remotos vía red, puede funcionar en modo texto o gráfico y se puede automatizar (kickstart), para instalar varias computadoras al mismo tiempo Es gracias a esta versatilidad, que se puede hacer la instalación de Red Hat Enterprise Linux de acuerdo a nuestras necesidades, lo más aconsejable es utilizar medios locales para la instalación de un servidor de produccion por ejemplo, o medios locales o remotos para la instalación de un servidor de certifiacción El modo texto es de gran ayuda para usuarios experimentados, ya que hace lo estrictamente necesario como particionamiento, instalación de programas, etc. sin la necesidad de utilizar el mouse para moverse de una opción a la otra. El modo grafico se recomienda mas a usuarios que recien están empezando ya que tiene varias ayudas de cómo hacer ciertas cosas y es más gráfico La instalación automatizada es adecuada cuando se tiene que instalar por ejemplo un laboratorio con varios equipos y parametros iguales, de esta forma se ahorra mucho tiempo en el proceso de instalación
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
15
Eligiendo el Método de Instalación
1.16. Eligiendo el Método de Instalación
Existen diferentes métodos de instalación para el Red Hat Enterprise Linux, siendo los mas recomendables los siguientes: — CD/DVD: Instalar desde el primer CD/DVD es la forma más directa — Disco duro: Se requiere tener las imágenes ISO en un directorio accesible por el programa de instalación — Vía red (netinstall): Este método requiere un CD especial de arranque (boot.iso) y un servidor NFS, FTP ó HTTP — Automatizado (kickstart): Es un método de instalación programado (vía guión), que puede ser creado con el asistente system-config-kickstart. — PXE (Pre-Execution Environment): Disponible en algunas tarjetas de red, y se puede usar para instalar vía red. Se arranca desde archivos recuperados desde un servidor. Se requiere un servidor PXE y NFS/FTP/HTTP.
16
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
Inicio de la Instalación
1.17. Inicio de la Instalación
Para iniciar la instalación de Red Hat Enterprise Linux, se puede hacer de la siguiente forma, desde el DVD de instalación, el BIOS debe ser capaz de arrancar desde DVD/CD. Desde un CD/DVD de arranque, se requiere preparar un disquete de arranque que inicia el proceso de instalación, aunque en la actualidad, este proceso ya es obsoleto, porque los equipos modernos ya no vienen con disqueteras. En su reemplazo, lo que se puede hacer ahora, es instalar desde una memoria USB, que consiste primero en instalar la imagen del CD/DVD al USB, y despues colocar el USB en el equipo y arrancar desde esta unidad, para ello el BIOS debe ser capaz de arrancar desde USB Ambos métodos conducen a lo mismo: “iniciar el proceso de instalación”
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
17
Consolas Virtuales
1.18. Consolas Virtuales
Estas consolas virtuales pueden ayudarle en el caso de que encuentre problemas durante la fase de instalación de Red Hat Enterprise Linux. Los mensajes visualizados durante la instalación o en las consolas del sistema pueden ayudarle a señalar cualquier problema que surja Las consolas virtuales tienen los siguientes usos:
18
Consola
1
2
3
4
5
Teclas
ctrl+alt+F1
ctrl+alt+F2 ctrl+alt+F3 ctrl+alt+F4 ctrl+alt+F5 ctrl+alt+F6
Uso
Dialogo de Instalación
Interprete Registro de M e n s a j e s Otros Men- P a n t a l l a de ordenes Instalación del Sistema sajes Gráfica X (mensajes del programa de instalación)
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
6
2. Redes TCP/IP en Linux 2.1. Objetivos
Al concluir este capítulo usted será capaz de: • Conocer el soporte de red en Linux • Configurar tarjetas Ethernet • Cofigurar interfaces de red para TCP/IP • Cofigurar rutas estáticas • Conocer las órdenes esenciales de red • Gestionar la red como servicio
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
19
Introducción
2.2. Introducción
Linux (a diferencia de muchos sistemas operativos), desde sus inicios dio soporte a redes, en general TCP/IP, así como otras. En la actualidad Linux tiene soporte maduro para los siguientes protocolos de redes: TCP/IP, SLIP, PPP, PLIP, IPX, AppleTalk También incluye otros protocolos poco utilizados X.25, NetRom, Rose Dichos protocolos, en su época fueron muy utilizados, pero poco a poco fueron desplazados por el TCP/IP. Pero aún se usan en algunos casos. Linux también incorpora varias funcionaes avanzadas de redes como ser Cortafuegos, Routing, VPN entre los mas importantes. Finalmente, integra gran soporte para tecnologías de redes como ser Ethernet, FastEthernet, GigabitEthernet, Frame Relay, ISDN, FDDI, Wifi, WiMax, Bluetooth entre los importantes y más utilizados en la actualidad.
20
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
Interfaces de Red
2.3. Interfaces de Red
En Linux, TCP/IP define una interface abstracta, mediante la cual el Sistema puede acceder al hardware (Ethernet, Wireless, PPP, etc.) de red.
Nota Esta interface ofrece las mismas prestaciones para cualquier hardware de red, enviar y recibir paquetes La interface se crea automaticamente desde el momento en que se reconoce el hardware de red y el controlador (como se muestra en la figura), para que esto suceda, es importante tener hardware compatible con nuestra distribucion de Linux.
Todas las interfaces requieren de una dirección IP (pública o privada) válida para ser utilizadas.
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
21
Interfaces de red habituales
2.4. Interfaces de red habituales
Las siguientes interfaces de red son las más habituales para un Linux: Interfaz
Descripción
lo
Interfaz local
ethx
Interfaz Ethernet, FastEthernet, Gigabit Ethernet
trx
Interfaz Token Ring
slx
Interfaz SLIP
ppx
Interfaz PPP
wlanx
Interfaz Wireless
tunx
Interfaz virtual de red para VPN
tapx
Interfaz virtual de red para VPN
Nota La interfaz local lo se crea de manera automática el momento en que se instala el sistema operativo, aun sin contar con hardware de red instalado.
22
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
Instalacion de Tarjetas de Red
2.5. Instalacion de Tarjetas de Red
Despues de haber instalado una tarjeta de red en el equipo, se debe configurar su controlador, de hecho, se debe insertar sólo un alias (ligadura), esto para que el hardware pueda ser accedido desde el sistema (como se mostró en la figura) En las anteriores versiones de Red Hat Enterprise Linux, toda esta configuración se hace en /etc/modprobe.conf, esto se cambió en las nuevas versiones. Y ahora la configuración se hace bajo el directorio /etc/modprobe.d/.
Nota Si la tarjeta se detecta durante la instalación, el sistema realizará automáticamente la configuración necesaria.
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
23
Como comprobar las tarjetas de red
2.6. Como comprobar las tarjetas de red
Como se mencionó anteriormente, en caso de haber realizado una instalación fresca, el sistema operativo, debió haber detectado todas las tarjetas de red instaladas. Ahora, en caso de tener algún problema, estos se pueden detectar inspeccionando los mensajes del núcleo al momento de cargar los controladores de dispositivos (por ejemplo en el arranque del sistema) mediante la orden dmesg | less y veremos algo similar a lo siguiente: [ [ [ [ [
0.975877] 0.975881] 0.975929] 1.003329] 1.003983]
e100: Intel(R) PRO/100 Network Driver, 3.5.24-k2-NAPI e100: Copyright(c) 1999-2006 Intel Corporation e100 0000:02:08.0: PCI INT A -> GSI 20 (level, low) -> IRQ 20 e100 0000:02:08.0: PME# disabled e100: eth0: e100_probe: addr 0xf0101000, irq 20, MAC addr 00:1b:38:f
Si el sistema ha sido configurado correctamente, y el núcleo carga el controlador adecuado, como en el ejemplo anterior. Se creará de forma dinámica el dispositivo de red y se puede comprobar inspeccionando el archivo /proc/net/dev:
Inter-| Receive | Transmit face |bytes packets errs drop fifo frame compressed multicast|bytes packets lo: 2508503 16207 0 0 0 0 0 0 2508503 16207 eth0: 0 0 0 0 0 0 0 0 0 0 wlan0:203525830 240628 0 0 0 0 0 0 42608315 208517
24
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
Como Configurar TCP/IP en Linux
2.7. Como Configurar TCP/IP en Linux
Existen varios elementos a configurar para que una interfaz de red TCP/IP trabaje adecuadamente, todas estas son órdenes necesarias de fácil uso: Orden
Descripción
ifconfig
Configura o muestra la configuación IP de una interfaz de red
route ó ip Establece la tabla de rutas IP estáticas route hostname
Establece el nombre y dominio del sistema
Para configurar la resolución de nombres de dominio mediante un servidor DNS, se debe configurar el archivo /etc/resolv.conf. Por ejemplo para usar dos servidores DNS (primario, secundario), se hace de la siguiente forma: nameserver 200.87.100.10 nameserver 200.87.100.40 En RHEL, existe el utilitario system-config-network, el cual ayuda a configurar todos los parámetros de red.
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
25
La red como servicio
2.8. La red como servicio
En Linux, la red es considerada como un servicio más de los muchos ofrecidos por el sistema operativo, es así que una vez configurada la red mediante la utilidad system-config-network, esta puede ser recargada, re-iniciada, parada, iniciada o se puede saber su estatdo, todo esto mediante la orden: /etc/init.d/network {start|stop|restart|reload|status} También se puede utilizar service network start|stop|restart Cabe recordar, que Red Hat Enterprise Linux, guarda todos los parámetros de configuración en archivos de texto dentro el directorio /etc/sysconfig/network-scripts/
Ejemplo 2.1. Contenido del directorio /etc/sysconfig/network-scripts/ $ ls /etc/sysconfig/network-scripts/ ifcfg-lo ifdown-eth ifdown-post ifcfg-venet0 ifdown-ippp ifdown-ppp ifcfg-venet0:0 ifdown-ipsec ifdown-routes ifdown ifdown-ipv6 ifdown-sit ifdown-bnep ifdown-isdn ifdown-sl
26
ifdown-tunnel ifup ifup-aliases ifup-bnep ifup-eth
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
ifup-ippp ifup-ipsec ifup-ipv6 ifup-ipx ifup-isdn
ifup-plip ifup-plusb ifup-post ifup-ppp ifup-routes
Opciones de la tarjeta de red
2.9. Opciones de la tarjeta de red
Existen ocaciones en las que se requieren cierta configuración especial. como por ejemplo no negociar la velocidad, trabajar a 100 Mbps. Para dicho cometido, se puede utilizar la orden ethtool como en el ejemplo ethtool -s eth0 speed 100 autoneg off Ahora, si se requiere que el cambio sea persistente, se debe añadir la opción ETHTOOL_OPTS al archivo /etc/sysconfig/network-scripts/ifcfg-ethX. Por ejemplo para la primera interfaz de red ethernet eth0: # vim /etc/sysconfig/network-scripts/ifcfg-eth0 ETHTOOL_OPTS="speed 100 autoneg off"
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
27
Configuración de rutas estáticas
2.10. Configuración de rutas estáticas
Para añadir una ruta estática se debe utilizar la orden ip route add de la siguiente forma: ip route add 192.168.20.0/24 via 192.168.1.1 dev eth0 es de esta forma que se creará la ruta estática a la red 192.168.20.0 por el gateway 192.168.1.1 por la interface eth0 La ruta desaparecerá despues de re-iniciar el servicio, y si es necesaria mantenerla de forma permanente, lo que se debe hacer es añadirla al archivo route-eth0, que se encuentra en /etc/sysconfig/network-scripts/ es así que se configura: # vim /etc/sysconfig/network-scripts/route-eth0 GATEWAY0=192.168.1.1 NETMASK0=255.255.255.0 ADDRESS0=192.168.20.1 Si requiere más rutas se puede seguir añadiendo: GATEWAY1=. NETMASK1=... ADDRESS1=...
28
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
3. Administrando cuentas de usuario La administración de cuentas de usuarios es una tarea común que muchos administradores de sistemas deben realizar de manera cotidiana o de manera esporádica, dependiendo de las necesidades y características de su entorno.
3.1. Objetivos
Este capítulo presenta las diferentes órdenes y archivos que están relacionados con las tareas administrativas de cuentas de usuario en un sistema Linux. Al concluir con este capítulo usted será capáz de: • Comprender el siginificado de la cuenta root • Comprender como maneja el sistema las cuentas de usuario y de grupo • Crear, Modificar, Eliminar y Bloquear cuentas de usuario • Crear, Modificar, Eliminar grupos • Manejar perfiles de usuario • Trabajar con el formato Shadow • Manejar contraseñas • Ajustar el entorno de usuario
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
29
Gestión de cuentas de usuario y grupos
3.2. Gestión de cuentas de usuario y grupos
La gestión de cuentas de usuarios y grupos es una tarea muy importante en la administración de sistemas. Las tareas comunes básicamente son: crear nuevas cuentas y grupos de usuario, bloquear cuentas temporalmente, modificar las propiedades de una cuenta, elimnar cuentas y grupos en desuso. Pero además, estas tareas no deben estar limitadas unicamente a trabajos en el sistema mismo, si no también en educar a los usuarios sobre las responsabilidades que conlleva tener una cuenta, ya que esto incide directamente en la seguridad general del sistema. Todo lo que un atacante tiene que hacer es conseguir una cuenta de usuario con su contraseña para intentar una penetración al sistema con el propósito de aprovecharse o abusar del sistema.
30
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
La cuenta de usuario root
3.3. La cuenta de usuario root
La cuenta de usuario root es la más privilegiada en un sistema Linux. Esta cuenta le permite realizar todas las tareas de administración, como ser creación de cuentas de usuario, cambiar contraseñas, examinar la bitácora del sistema (log files), instalar programas, crear sistemas de archivos, etc. Cuando se usa ésta cuenta es crucial ser lo más cuidadoso posible, ya que ésta cuenta no tiene restricciones de seguridad impuestas, esto significa que puede hacer prácticamente lo que quiera en el sistema, inclusive dañarlo inadvertidamente y no hay manera de deshacer lo que se hizo. El sistema asume que cuando se usa la cuenta root usted sabe lo que está haciendo. La regla general es usar la cuenta root sólo cuando es absolutamente necesario. Mientras use ésta cuenta escriba las órdenes cuidadosamente y revise dos veces antes de ejecutar la orden. Abandone la cuenta, apenas haya completado la tarea por la que usted ingreso como root. Finalmente, como ocurre con cualquier cuenta, debe mantener la contraseña de la forma más segura posible y escoger una contraseña que no sea lo que yo llamo una contraseña trivial, como por ejemplo «toor» (root al revés), o el nombre de su mascota «rufo». Es recomendable siempre mezclar números, letras mayúsculas y minúsculas para una contraseña no trivial.
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
31
¿ Qué es una cuenta de usuario ?
3.4. ¿ Qué es una cuenta de usuario ?
Para el sistema no existe la cuenta «root» o la cuenta «sofia» ni el grupo «users» como cadenas que usamos nosotros —los humanos—, en lugar de ello el sistema utiliza números para identificar las cuentas de usuario y de grupo, a estos números se los denomina UID (user id) para el usuario y GID (group id) para el grupo, ambos números pueden estar en un rago de 0 a 65535 (2 bytes). El sistema usa el archivo /etc/passwd para vincular el UID con el nombre de la cuenta (ej. root) y /etc/group para vincular el GID con el nombre del grupo (ej. users). Los únicos valores de UID y GID que tienen una interpretación específica para el sistema es UID=0 y GID=0 que identifican al usuario más privilegiado del sistema. Que de manera predeterminada están mapeados a la cuenta y grupo root respectivamente. El sistema no impone ninguna restricción para que varias cuentas o grupos compartan el mismo UID y GID. En un sistema recién instalado, los archivos /etc/passwd y /etc/group contienen varias cuentas y grupos creados que se denominan cuentas del sistema. Se acostumbra que las cuentas del sistema estén entre 1 y 100. Y que las cuentas de usuario empiezen en 500 (como en Red Hat) o 1000 (como en Debian).
32
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
Convertirse en root
3.5. Convertirse en root
Varias de las órdenes que se usan para administrar un sistema GNU/Linux, requieren ejecutarse como usuario root. La forma inmediata de convertirse en usuario root es obiamente iniciar la sesión con la cuenta de usuario root y su respectiva contraseña. La segunda forma es cambiar la cuenta de usuario actual mediante la orden su (sustituir usuario). Cualesquiera de las siguientes órdenes nos permiten convertirnos temporalmente en root: su su - root También se puede ejecutar una orden como usuario root sin necesidad de convertirse en él, mediante la orden sudo. Para que funcione sudodebe estar previamente configurado. Algunas distribuciones como Ubuntu ya vienen así y es la forma preferida para "trabajar como root". Para ejecutar una orden como root, basta con anteponer sudo a la orden deseada. El siguiente ejemplo ejecuta la orden /etc/init.d/cups restart como usuario root: sudo /etc/init.d/cups restart El siguiente ejemplo ejecuta la orden ifconfig: sudo ifconfig eth0
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
33
Creando cuentas de usuario
3.6. Creando cuentas de usuario
Crear una cuenta de usuario implica dos simples pasos 1. Crear la cuenta misma 2. Asignar una contraseña a la cuenta En los sistemas Linux hay dos programas para crear cuentas de usuarios: /usr/sbin/useradd y /usr/sbin/adduser, este último es más verboso e interactivo, y es en realidad un guión (script). En algunas distribuciones como Debian están presentes ambos y en otras como Red Hat sólo uno y usualmente adduser es un enlace simbólico a useradd. Por ejemplo para crear la cuenta para el Sr. Pedro Moreno, usted tendría que escribir: useradd pmoreno passwd pmoreno Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully
Nota Recuerde que cuando se escribe la nueva contraseña passwd no muestra lo que usted está escribiendo. El comportamiento de useradd es ligeramente diferente en Red Hat comparado con Debian, pero ambos crearán la información mínima necesaria en los archivos /etc/passwd y /etc/group que se requieren para una cuenta nueva.
Crear muchas cuentas Si necesita crear muchas cuentas de usuarios -digamos unos cientos- es mejor que recurra al utilitario newusers. Consulte la página del manual para ver como se usa.
34
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
Acciones de useradd y password
3.6.1. Acciones de useradd y password
En un sistema Red Hat useradd crea una entrada en el archivo /etc/passwd para la cuenta pmoreno con el siguiente UID disponible. En el archivo /etc/group crea un grupo con el mismo nombre de la cuenta y el siguiente GID disponible. Crea el directorio de trabajo del usuario (HOME) /home/pmoreno y copia a este el contenido del directorio /etc/skel. En un sistema Debian, la misma orden crea la cuenta pmoreno con el siguiente UID disponible en el archivo /etc/passwd y fija el GID a 100 que corresponde al grupo users, y no crea el directorio de trabajo. La orden passwd pide la contraseña y la guarda en el archivo /etc/shadow que tiene también una entrada para la cuenta pmoreno.
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
35
Datos utilizados por una cuenta
3.6.2. Datos utilizados por una cuenta
La creación de una cuenta de usuario en Linux puede utilizar hasta ocho datos, cuatro de los cuales son obligatoriamente requeridos (*). 1. El nombre de la cuenta (ej. pmoreno)* 2. El identificador de usuario UID* 3. El nombre del grupo (ej. pmoreno o users)* 4. El identificador de grupo GID* 5. La contraseña 6. La ruta completa del directorio de trabajo 7. La ruta completa al intérprete de órdenes 8. La descripción de la cuenta (ej. Pedro Moreno, Contabilidad) Observe que en el ejemplo mostrado anteriormente, nosotros únicamente proporcionamos dos datos: el nombre de cuenta pmoreno y la contraseña. Como ya mencionamos antes, el resto de los datos obligatorios UID, GID y nombre de grupo son resueltos por la orden useradd. La contraseña tiene asignada de modo predeterminado un valor arbitrario, que suelen ser los caracteres '!' o '!!'. Hasta que no se asigne una contraseña mediante la orden passwd, la persona no podrá sacar mucho provecho de su nueva cuenta creada.
Importante No todas las cuentas requieren de contraseña para que sean de utilidad. Por ejemplo las cuentas del sistema nunca tienen contraseña y no se requieren porque no están destinadas a que sean utilizadas por una persona. En el caso de Red Hat valores como el intérprete de órdenes y la ubicación del directorio de trabajo son leídos por useradd desde el archivo /etc/default/useradd. En Debian este archivo no existe de modo predeterminado.
36
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
Entorno inicial de la cuenta
3.6.3. Entorno inicial de la cuenta
Cuando se crea una cuenta nueva en Red Hat, el directorio de trabajo del usuario contiene varios archivos que definen el «entorno de usuario». Típicamente estos archivos son: — .bash_profile — .bash_logout — .bash_rc — .gtkrc Como ya mencionamos, el responsable de esto es useradd que copia todo contenido del directorio /etc/skel/ al directorio de trabajo del usuario. El administrador del sistema puede alterar el contenido del directorio /etc/skel/ o usar otros directorios diferentes para tener distintos perfiles de usuarios. Obviamente todos estos cambios únicamente tendrán efecto para las nuevas cuentas que vayan a ser creadas. En el caso particular de Debian, para provocar que useradd se comporte igual que en Red Hat basta emplear las opciones adecuadas. Más adelante veremos un ejemplo de ello.
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
37
Opciones de useradd
3.6.4. Opciones de useradd
El comportamiento predeterminado de la orden useradd puede ser modificado empleando las órdenes adecuadas. Estas opciones también hacen posible fijar otros valores para una cuenta en el momento de su creación. La siguiente es una lista de las opciones más importantes, para ver una lista completa y mayor información revise la página del manual useradd(8) -c DESC
Descripción sobre la cuenta creada. Ej. el nombre del usuario, su oficina, teléfono, etc.
-d DIR
Directorio de trabajo del usuario. Va ser creado si se añade la opción -m
-g GRUPO
Grupo primario para el usuario. Este grupo de existir previamente.
-G GRUPOS,...
Grupos sencundarios adicionales, tantos como se quiera separados por comas sin espacios.
-s SHELL
Ruta completa del intérprete de órdenes
-k DIR
Directorio con los archivos de perfil. Se usa con la opción -m
-m
Crea el directorio de trabajo del usuario, si no existe.
-e
Fecha en que la cuenta es desabilitada en formato AAAA-MM-DD.
-f
Número de días después de que la contraseña a expirado para que el usuario pueda seguir ingresando con su cuenta.
-D
Muestra o cambia los datos que useradd mantiene en el archivo /etc/default/useradd.
Veamos algunos ejemplos de uso: useradd -G users -k /etc/skel-mark -c "Camila Salazar, Marketing" camila
Crear la cuenta camila que pertenece al grupo secundario users. Usa el directorio /etc/skelmark/ desde donde copia los archivos para el perfil, y añade la descripción «Camila Salazar, Marketing» a la cuenta. useradd -m -d /home/fabricio -k /etc/skel -g 100 -c "Fabricio Mesa" fmeza
38
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
Opciones de useradd
En Debian esta orden se comportaría de manera similar a Red Hat. Se crea el directorio de trabajo y copia los archivos para el entorno inicial.
Sugerencia Si necesita crear cientos de cuentas, es mejor usar la orden newusers(8).
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
39
Creando grupos
3.7. Creando grupos
La orden para añadir nuevos grupos al sistema es groupadd, que es mucho más simple de usar que la orden useradd. Esta orden tiene únicamente dos opciones: -g NUM
Usa el valor de NUM para el GID
-o
Se acompaña a la opción anterior y permite usar un GID exitente. No recomendable
Veamos un ejemplo que crea el grupo webmail y le asigna el siguiente GID que esté disponible groupadd webmail Otro ejemplo asignando un GID específico groupadd -g 1042 marketing
40
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
Modificando cuentas de usuario
3.8. Modificando cuentas de usuario
Para modificar una cuenta de usuario se usa la orden usermod. Las siguientes opciones permiten modificar diferentes datos: -c
Descripción de la cuenta
-d
El directorio de trabajo
-e
La fecha de expiración de la cuenta
-f
El número de días después de que la contraseña a expirado para que el usuario pueda seguir ingresando con su cuenta
-g
El grupo primario. Se permite el nombre o el número GID
-G
Los grupos secundarios de los cuales es miembro el usuario
-l
El nuevo nombre de la cuenta. El directorio de trabajo no es afectado.
-s
El intérprete de órdenes
-u
El nuevo UID para la cuenta. El directorio de trabajo y los archivos en él son también cambiados al nuevo UID. Otros archivos deben ser cambiados manualmente.
-L
Bloquea la cuenta, alterando el campo de la contraseña en /etc/shadow. Pone el caracter ! en frente de la contraseña.
-U
Quita el bloqueo puesto por la opción anterior. Simplemente borra el caracter ! añadido.
Veamos algunos ejemplos: usermod -u 1010 pmoreno Cambia a 1010 el UID de la cuenta pmoreno. Recuerde que cualquier archivo fuera del directorio de trabajo tiene que ser cambiado manualmente para que le pertenezca al nuevo UID. usermod -d /home/croca -l croca camila Cambia el directorio de trabajo y el nombre de la cuenta. Esto no renombra el directorio de trabajo ni se asegura que los archivos del usuario están en este directorio, estas tareas deben ser hechas manualmente. usermod -G users,audio sofia
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
41
Modificando cuentas de usuario
Esta orden hace que el usuario sofia pertenezca la los grupos secundarios users y audio, dicho de otro modo que el usuario pertenezca a estos grupos.
Truco Para quitar todos los grupos secundarios a los que un usuario pertenece basta con utilizar -G ""
42
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
Modificando grupos
3.9. Modificando grupos
También groupmod es mucho más sencillo de usar que usermod por que tiene pocas opciones. Esta orden sólo cambia los datos del grupo y no altera quienes son miembros del grupo. A continuación las opciones que se pueden emplear: -g num
Modifica el GID del grupo a num. Si se usa con -o puede repetirse un GID exitente. Pero no es recomendable.
-n nombre Cambia el grupo a un nuevo nombre Ejemplos: groupmod -n mercadeo marketing Cambia el nombre del grupo marketing a mercadeo groupmod -g 900 mercadeo Cambia el GID del grupo mercadeo a 900. Si existen cuentas de usuario cuyo grupo primario es mercadeo, esta orden no modificará los datos de esas cuentas. Ocurrirá lo mismo si existen archivos con este grupo. Los cambios necesarios para que todo esté correcto se deben hacer manualmente. Por esta razón piénselo dos veces antes de cambiar el GID de un grupo.
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
43
Eliminar cuentas de usuario
3.10. Eliminar cuentas de usuario
Eliminar una cuenta de usuario es una tarea sencilla ya que simplemente consiste en borrar las entradas que tiene la cuenta en los archivos /etc/passwd y /etc/shadow. Sólo se debe poner atención en los archivos que pertenecen al usuario, que por una parte estarán en su directorio de trabajo y probablemente en otras partes del sistema como ser archivos de correo, trabajos de impresion, crontabs, etc. Para eliminar la cuenta de usuario se puede emplear la orden userdel, por ejemplo la siguiente orden sólo borra los datos de la cuenta (su entrada en /etc/passwd y /etc/shadow) userdel pmoreno Si desea también borrar el directorio de trabajo del usuario se debe usar la opción -r, por ejemplo: userdel -r pmoreno Recuerde que cualquier otro archivo que pertenezca a este usuario y que no se encuentra en su directorio de trabajo debe eliminarse manualmente. En ciertos entornos como los empresariales, hay que pensar dos veces antes de eliminar los archivos del usuario, por que seguro llegará un momento en el que algún otro empleado los va solicitar. Lo recomendable es hacer una copia de respaldo de todos los archivos y luego de ello proceder a eliminarlos con la confianza de que existe una copia confiable y guardada. No es posible eliminar la cuenta de un usuario mientras se encuentre en el sistema (logged-in). Lo que se debe hacer es averiguar quienes están en el sistema usando la orden w y luego buscar el proceso que corresponde a su intérprete de órdenes haciendo ps aux | grep pmoreno y una vez encontrado el PID enviarle la señal de terminar usando el PID, así: kill -TERM 1382.
44
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
Eliminar grupos
3.11. Eliminar grupos
Para poder borrar un grupo es necesario verificar que no tenga miembros y que no sea grupo primario para ninguna cuenta. Hecho esto, para borrar el grupo sólo se necesita hacer: groupdel marketing Si el grupo que se quiere eliminar tiene muchos miembros, la forma más rápida de quitar a todos los miembros es manual, editando el archivo /etc/group como se indica más adelante.
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
45
El juego de herramientas Shadow
3.12. El juego de herramientas Shadow
Los sistemas UNIX tradicionales mantienen la contraseña cifrada junto a los otros datos de la cuenta en el archivo /etc/passwd. Como este archivo es usado por varias herramientas, por ejemplo ls -l para mapear los UID con los nombres de cuenta, éste necesita ser legible para todo el mundo. Y esto implica cierto riesgo de seguridad. A fin de reducir este riesgo, los modernos sistemas UNIX y los sistemas Linux emplean el denominado Shadow Suite, que es un conjunto de herramientas y utilidades que permiten manejar de un modo diferente el almacenamiento de la contraseña conservando compatibilidad con el método tradicional que guarda datos de la cuenta en /etc/passwd. Cuando se usa Shadow Suite la contraseña cifrada es almacenada en el archivo /etc/shadow que es legible únicamente para la cuenta root lo que ayuda a disminuir el riesgo. En el archivo /etc/passwd la contraseña para todas las cuentas está puesta a un simple caracter "x", es decir este archivo ya no guarda la contraseña pero si el resto de los datos tradicionales de una cuenta. Aunque hoy en día es muy raro encontrar un sistema UNIX o Linux que no use las herramientas Shadow. Pero si usted se econtrara ante tal situación, lo que necesita hacer para convertirlo es conseguir el juego de herramientas Shadow para su distribución y proceder a instalarlo. Luego usted tiene que correr un par de herramientas que convertirán los archivos al nuevo formato, las que están mecionadas a continuación. pwconv
Convierte el archivo /etc/passwd al nuevo formato (contraseñas con x) y crea el archivo /etc/shadow.
pwunconv
Esencialmente revierte todo el proceso realizado por pwconv y borra el archivo /etc/shadow.
grpconv
Convierte el archivo /etc/group al nuevo formato (contraseñas con x) y crea el archivo /etc/gshadow.
grpunconv
Esencialmente revierte todo el proceso realizado por grpconv y borra el archivo /etc/gshadow.
Importante Cuando se usa el esquema Shadow el archivo /etc/group también tiene su archivo correspondiente /etc/gshadow destinado a guardar las contraseñas de grupo.
46
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
Formato de archivos passwd, shadow y group
3.13. Formato de archivos passwd, shadow y group
El siguiente ejemplo es una entrada en el archivo /etc/passwd que corresponde a la cuenta sofia sofia:x:501:501:Sofia Gutierrez,Marketing,2440011:/home/sofia:/bin/bash Cada campo se separa con el signo ":" (dos puntos), y cada uno representa lo siguiente de izquierda a derecha: 1. Nombre de la cuenta. Usualmente todo en minúsculas 2. Contraseña cifrada. Si es "x" está almacenada en el archivo /etc/shadow 3. Identificador de usuario o UID 4. Grupo primario expresado como GID 5. Descripción de la cuenta 6. Directorio de trabajo. Usualmente de la forma /home/nombre_de_cuenta 7. Intérprete de órdenes que va utilizar el usuario Veamos ahora la entrada que le corresponde a esta cuenta en el archivo /etc/shadow: sofia:$1$oEGHXchC$M9hj/GB4gPBFUNuXy7Dl.:12723:0:99999:7::: 1. Nombre de la cuenta. Igual que en /etc/passwd 2. Contraseña cifrada (MD5) 3. Días transcurridos desde el último cambio de contraseña (contado a partir del 1 de Enero de 1970) 4. Número de días que deben transcurrir antes de que se pueda cambiar la contraseña (0 indica que se puede cambiar en cualquier momento) 5. Número de días antes de que la contraseña deba ser cambiada (99999 indica que el usuario nunca necesita cambiar su contraseña)
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
47
Formato de archivos passwd, shadow y group 6. Número de días antes de que expire la contraseña para que el usuario sea alertado. El valor predeterminado es 7 días 7. Número de días en que la cuenta es desactivada luego de que la contraseña expira 8. Número de días en que la cuenta caduca (contado a partir del 1 de Enero de 1970) 9. Reservado para posibles usos futuros Respecto al archivo /etc/group que guarda los datos del grupo, las entradas en este archivo son de la forma: users:x:100:samuel,sofia,hugo 1. Nombre del grupo. Usualmente todo en minúscula 2. Contraseña. En general no se acostumbra usar 3. Identificador de grupo o GID 4. Cuentas miembros del grupo, separadas por comas sin espacios En el caso particular de nuestra cuenta sofia que ha sido creada en un sistema Red Hat, ésta tiene su propia entrada para su grupo: sofia:x:501: Es redundante poner la cuenta sofia en el campo que corresponde a miembros del grupo por que ya es grupo primario de la cuenta.
Nota Cuando se usa el esquema Shadow el archivo /etc/gshadow tiene básicamente el mismo formato que /etc/group, difiere únicamente en que se guarda la contraseña en lugar de llevar el caracter "x". Es también muy importante tener en cuenta los permisos de acceso a los archivos shadow por que tienen que ver con la seguridad del sistema. En particular los permisos de los siguientes archivos: Archivo
Red Hat
Debian
/etc/passwd -rw-r--r-- (644) -rw-r--r-- (644) /etc/shadow -r-------- (400) -rw-r----- (640)
48
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
Utilidades passwd/shadow
3.13.1. Utilidades passwd/shadow
Como pudimos ver, toda la información de las cuentas se guardan simplemente en archivos de texto plano, por tanto las operaciones con cuentas y grupos de crear, modificar y eliminar se pueden hacer manualmente, pero no es recomendable por que si se introduce un formato incorrecto el sistema no podrá manejar adecuadamente todo lo concerniente con las cuentas de usuario (desde un simple ls -l que lee /etc/passwd). Si no le queda otra opción y necesita modificar estos archivos manualmente, se recomienda usar las utilidades vipw y vigr que editan los archivos /etc/passwd y /etc/group respectivamente. Cuando se usan con la opción -s editan las versiones shadow: /etc/shadow y /etc/gshadow. Estos programas se encargan del bloquear el acceso a estos archivos para prevenir posibles corrupciones.
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
49
Integridad de los archivos
3.13.2. Integridad de los archivos Si alguna vez se le presenta un problema de integridad con estos archivos, puede emplear la utilidad pwck que verifica la consistencia de todas las entradas en los archivos /etc/passwd y /etc/shadow y trata de corregirlos automáticamente. La utilidad grpck se puede emplear para el mismo propósito pero con los archivos /etc/group y /etc/gshadow
50
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
Manejo de contraseñas
3.14. Manejo de contraseñas
El usuario root puede cambiar la contraseña de cualquier usuario, únicamente necesita indicar la cuenta cuando use la orden passwd. Por ejemplo: passwd sofia Esto pedirá que se se introduzca la contraseña dos veces por verificación. No olvide indicar la cuenta del usuario, ya que si no lo hace estará cambiando su propia contraseña y no es lo que quiere. De modo predeterminado el sistema no usa ninguna política de control sobre la vigencia de las contraseñas. Sin embargo es una buena medida de precacución que los usuarios se vean forzados a cambiar regularmente sus contraseñas para evitar que los atacantes tengan tiempo de suponerlas. Se puede emplear algunas opciones de passwd para manejar la información de vigencia de una contraseña en el momento que se está cambiando o asignando contraseña a la cuenta.
Tabla 3.1. Opciones de passwd para vigencia de contraseñas Opción
Uso
-x max
Número máximo de días que la contraseña es vigente.
-n min
Número mínimo de días que la contraseña es vigente. El usuario debe esperar que transcurra ésta cantidad de días para poder cambiar su contraseña.
-w n
Aviso al usuario n días antes de que su contraseña expire.
-i dias
Número días en que la cuenta debe ser bloqueada luego de expirar su contraseña.
-e
Hace que la contraseña expire inmediatamente, forzando al usuario a cambiar su contraseña la próxima vez que ingresa.
Otro par de opciones útiles son:
Tabla 3.2. Opciones de passwd para bloquear cuenta Opción
Uso
-l
Bloquea la cuenta alterando la contraseña a un valor para el que no hay coincidencia posible.
-u
Desbloquea la cuenta restaurando la contraseña a su valor original.
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
51
Modificando los datos de vigencia de una contraseña
3.15. Modificando los datos de vigencia de una contraseña
Para cambiar los datos de vigencia de una contraseña se usa la orden chage, cuyo uso está restringido al usuario root excepto cuando se usa la opción -l. Sinopsis: chage OPCION cuenta Las opciones disponibles para esta orden son:
Tabla 3.3. Opciones de uso común en chage Opción
Uso
-m min
Cambia el mínimo número de días que la contraseña es vigente.
-M max
Cambia el número máximo de días que la contraseña es vigente.
-d fecha
Modifica la fecha en que se cambió la contraseña por última vez. La fecha se indica en la forma AAAA-MM-DD.
-E fecha
Cambia la fecha en que la cuenta expira. El formato de la fecha es igual al anterior.
-I dias
Cambia el número días (periodo de gracia) en que la cuenta debe ser bloqueada luego de que la contraseña expira.
-W dias
Cambia el número de días para avisar al usuario que su contraseña va expirar.
-l cuenta Muestra todos los valores de vigencia de la contraseña para esa cuenta. Afortunadamente, chage es fácil de usar aún cuando no recuerde las opciones. Basta con escribir chage cuenta como usuario root y empezará a preguntar interactivamente por cada valor que puede ser configurado. Recuerde que la opción -l puede ser utilizada por cualquier usuario, así por ejemplo el dueño o dueña de la cuenta sofia podría escribir: chage -l sofia Que produciría el siguiente resultado: Mínimo: 0 Máximo: 99999
52
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
Modificando los datos de vigencia de una contraseña Aviso: 7 Inactivo: -1 Último cambio: La contraseña caduca: Contraseña inactiva: La cuenta caduca:
nov 01, 2004 Nunca Nunca Nunca
Estos son los valores predeterminados que básicamente indican que no se está aplicando control sobre la vigencia de las contraseñas. Estos valores predeterminados fueron mencionados en la Sección 3.13, “Formato de archivos passwd, shadow y group”.
Importante Las funciones de expiración de contraseña manejadas por passwd y chage sólo están disponibles cuando se usa el juego de herramientas shadow. Recuerde que el formato del archivo /etc/shadow fue mencionado en la Sección 3.13, “Formato de archivos passwd, shadow y group”.
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
53
Ajustando el entorno del usuario
3.16. Ajustando el entorno del usuario
Podemos ajustar el entorno del usuario empleando alguno de los siguientes recursos: /etc/profile
Este archivo contiene las variables de entorno que todos los usuarios tienen en común (PATH, HOME, etc). También otros aspectos del entorno como el valor de umask se fijan en este archivo.
/etc/skel/
Este directorio contiene archivos o directorios para que sean copiados al directorio de trabajo del usuario al momento de crear la cuenta mediante useradd.
Si usted necesita modificar el valor de alguna variable u otra información del entorno, basta con editar el archivo /etc/profile. Recuerde que los cambios en este archivo afectan a todos los usuarios en el sistema. Si usted necesita crear un grupo de usuarios que deben tener el archivo ~/.cvs. Entonces puede crear otro directorio de perfil, por ejemplo /etc/skel_dev y copiar ahí el archivo ~/.cvs, para luego crear las cuentas. Algo así: mkdir /etc/skel_dev cp cvs-ejemplo /etc/skel_dev/.cvs useradd -k /etc/skel_dev ruiz
54
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
4. Administrando paquetes Cualquier sistema operativo es muy poco útil si no cuenta con programas y aplicaciones adicionales que permitan realizar diversas tareas. En los sistemas Linux los programas y aplicaciones se instalan usualmente a partir de los denominados «paquetes», aunque para ser más precisos en general todo el software inclusive el mismo sistema operativo se instala en forma de paquete.
4.1. Objetivos
Este capítulo cubre las tareas de gestión de paquetes RPM, que todo administrador necesita conocer. Al concluir este capítulo usted será capaz de usar un sistema de paquetes para: • Instalar, re-instalar, mantener al día, actualizar y remover paquetes • Obtener información de estado de los paquetes • Obtener información de un paquete, como ser versión, dependencias, integridad y firmas • Determinar que archivos provee o contiene un paquete • Determinar de que paquete proviene un archivo
Nota En el Anexo A se cubre la gestión de paquetes Debian
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
55
¿ Qué es un paquete ?
4.2. ¿ Qué es un paquete ?
Un paquete es un archivo contenedor que contiene programas, archivos de configuración, documentación, y cualquier otro archivo que es parte de una aplicación. Una instalación de Linux puede contener de cientos a miles de paquetes dependiendo de sus necesidades de software (aplicaciones). El examen LPI evalúa dos tipos de paquetes: — RPM: Red Hat Package Manager — DPKG: Debian Package Manager Ambos tienen capacidades similares pero sólo uno puede estar presente en un sistema Linux. Casi todas las distribuciones usan alguno de estos tipos de paquetes, pero hay también unas cuantas distribuciones que no usan ninguno de estos y en su lugar conservan la antigua forma de manejo de programas en UNIX (archivos empaquetados y comprimidos). Aunque ambos ofrecen funciones similares, son completamente incompatibles, es decir no se puede instalar paquetes Debian en un sistema que use RPM.
56
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
Trabajando con RPM
4.3. Trabajando con RPM
Mas que un tipo de paquete, RPM es en realidad un sistema de gestión de paquetes que está formado por tres componentes: — Base de datos: Una colección de archivos con información sobre los paquetes instalados. — Paquete: Archivos con formato específico para RPM. — Orden rpm: Proporciona un modo sencillo para realizar todas las operaciones con paquetes RPM (instalar, actualizar, remover, consultar, verificar, etc). La base de datos RPM es una colección de archivos en formato Berkely DB ubicados en el directorio /var/lib/rpm/. La orden rpm usa esta base de datos para diversas operaciones con paquetes, por ejemplo durante la instalación se registra en ella diferente información sobre el paquete instalado. Como cualquier base de datos debe tener un estado consistente, si fuera a corromperse o tener otra falla se puede usar la siguiente orden para reconstruir la base de datos: rpm --rebuilddb
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
57
Nomenclatura de nombres RPM
4.4. Nomenclatura de nombres RPM
Los archivos de paquete RPM siguen una nomemclatura o convención para que a simple vista del nombre, el usuario sepa de que software se trata el paquete. La convención es: nombre-version-lanzamiento.arquitectura.rpm Donde: • nombre: es el nombre que describe el paquete de software. • versión: es el número de versión correspondiente al software. • lanzamiento: es el número de veces que esta versión del software ha sido preparada como paquete. • arquitectura: es un abreviación que corresponde a la arquitectura de hardware en la cual el paquete funciona. Puede tener otros valores como src que indica un paquete fuente (código fuente del software), o nosrc que indica que sólo contiene archivos para construir el paquete, es decir no tiene código fuente. Normalmente el nombre del paquete es usualmente tomado tal cual del paquete de software. Por ejemplo php, pero es posible que varias funcionalidades del paquete de software sea separada en varios paquetes RPM, y podríamos tener por ejemplo php, php-devel, php-cli, php-mysql, etc. El número de versión es tambien tomado tal cual del software, con la única restricción de que no se permite el uso de guiones. El valor de lanzamiento puede ser visto como número de versión del paquete rpm. Tradicionalmente cuando se toma un paquete de software y se lo convierte en paquete rpm por primera vez se empieza en 1, a medida que se van produciendo nuevos paquetes de una versión dada del software este número se incrementa. Como sucede con el número de versión, la restricción es no usar guiones en el número de lanzamiento. La arquitectura es indicada por una abreviación que indica para que arquitectura de hardware el paquete ha sido contruido. Estas son las architecturas definidas: i386 — Familia de procesadores Intel x86, empezando con 80386. i686 — Familia de procesadores Intel Pentium x86, empezando con Pentium II. alpha — Procesadores Digital Alpha/AXP sparc — Procesadores SPARC de Sun Microsystem
58
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
Nomenclatura de nombres RPM
mips — Procesadores MIPS Technologies ppc — Familia de procesadores Power PC m68k — Procesadores CISC de Motorola serie 68000 noarch — Tiene una idea especial, significa que no tiene una arquitectura específica. Puede ver una lista mas completa de las arquitecturas en el archivo /usr/lib/rpm/rpmrc.
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
59
La orden rpm
4.5. La orden rpm
La orden rpm proporciona una manera sencilla para trabajar con la administración de paquetes, ofreciendo seis modos principales de uso, que son:
Tabla 4.1. Modos principales de uso de rpm Uso
Orden
Instalar un nuevo paquete de software rpm {-i | --install} [install-options] archivo.rpm Actualizar un paquete de software a rpm {-U | --upgrade} [install-options] archivo.rpm una nueva versión o lanzamiento posterior Actualizar un paquete de software si rpm {-F | --freshen} [install-options] archivo.rpm y sólo si está instalado una versión o lanzamiento anterior Desintalar y eliminar un paquete de rpm {-e | --erase} [erase-options] archivo.rpm software Consultar varios aspectos sobre los rpm {-q | --query} [query-options] nombre_de_paquete paquetes
60
Verificar paquetes instalados
rpm {-V | --verify} [verify-options] nombre_de_paquete
Verificar firmas digitales
rpm {-K | --checksig} [signature-options] paquete.rpm
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
Verificar firmas de un paquete
4.6. Verificar firmas de un paquete
Antes de proceder a instalar un nuevo paquete (o actualizar), es importante revisar las firmas digitales del paquete para asegurarse de que se tiene el paquete fidedigno y no una versión alterada o corrupta. La validación se hace también al momento de instalar, pero se puede hacer explícitamente del siguiente modo:
rpm -K curl-7.12.1-5.rhel4.i386.rpm curl-7.12.1-5.rhel4.i386.rpm: (SHA1) DSA sha1 md5 (GPG) NOT OK (MISSING KEYS: Aquí podemos ver que las firmas DSA y SHA están correctas. Si el paquere tiene una firma GPG, como en este caso, hay que descargar el archivo que contiene la llave pública GPG e importarlo en la base de datos RPM. Por ejemplo así: rpm --import RPM-GPG-KEY-RHEL-4 Y a continuación intentar nuevamente la verificación de firmas rpm -K curl-7.12.1-5.rhel4.i386.rpm curl-7.12.1-5.rhel4.i386.rpm: (sha1) dsa sha1 md5 gpg OK Ahora si la verificación de todas las firmas es correcta
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
61
Instalar nuevos paquetes
4.7. Instalar nuevos paquetes
Instalar paquetes de software usando la orden rpm requiere privilegios de root. Cuando se invoca a rpm para instalar el paquete, este revisa que se cumplan las siguientes condiciones: Que hay suficiente espacio libre en el disco Que las dependencias entre paquetes se cumplen Que los archivos existentes no sean sobrescritos al instalar el paquete La forma simple de instalar es usar la opción -i. Los siguientes ejemplos son válidos: rpm -i chkrootkit-0.45-1.i386.rpm rpm -i *.rpm rpm -i *devel*.rpm rpm -i /ruta/al/paquete/file-server.rpm rpm -i uno.rpm dos.rpm tres.rpm Un par de opciones que hacen la tarea mas informativa son -v (verboso) y -h (barra de progreso). rpm -ivh chkrootkit-0.45-1.i386.rpm Preparing... ########################################### [100%] 1:chkrootkit ########################################### [100%]
Una vez que un paquete es instalado rpm se reusa a volver a instalar el mismo paquete por que no sobrescribe archivos. Se puede forzar a que los sobrescriba usando la opción --force. rpm -i --force chkrootkit-0.45-1.i386.rpm
62
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
Dependencia entre paquetes
4.7.1. Dependencia entre paquetes
La dependencia entre paquetes se da cuando un paquete A necesita para funcionar que otro paquete B esté instalado previamente en el sistema. Si el paquete B no está instalado rpm se negará a instalar el paquete A, hasta que las dependencias sean resueltas. Este es un ejemplo de dependencia simple, pero un paquete pueden depender de varios paquetes, también puede darse una dependencia circular, es decir que A dependa de B y este a su vez dependa de A, hay muy pocos paquetes que tienen esta condición. Las dependencias se resuelven simplemente instalando los paquetes requeridos. Por ejemplo si el paquete A depende de B, basta hacer: rpm -i B.rpm rpm -i A.rpm Si la dependencia es circular hay que instalar los paquetes al mismo tiempo: rpm -i A.rpm B.rpm Es posible hacer que rpm no verifique las dependecias e instale el paquete «rompiendo las dependencias» usando la opción --nodeps. Sin emabargo usar esta opción es extremadamente peligrosa y usarla arbitrariamente puede afectar negativamente al sistema
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
63
Estar al día con los paquetes
4.8. Estar al día con los paquetes
Mantener el software instalado en el sistema al día, nos pone a salvo de errores en los programas, y de problemas de seguridad conocidos. Debemos distinguir la diferencia entre update (al día) y upgrade (mejora). Mantener al día significa quedarse en la misma versión mayor del paquete de software pero usar la más reciente versión menor, o en el caso de paquetes del proveedor usar el lanzamiento (release) más reciente. Instalar una mejora significa cambiar a una versión mayor reciente, debido a ello la mejora en un sistema puede involucrar cambios que requieren pruebas y revisiones previas cuidadosas. Mantener al día o mejorar paquetes también requiere privilegios de root. Cuando se hace alguna de estas operaciones rpm primero elimina la versión anterior del paquete y luego instala la nueva versión.
Sugerencia Cuando vaya a realizar una mejora de cualquier paquete de software lea cuidadosamente la documentación para asegurarse que el procedimiento sea exitoso. Tenga presente que no todos los programas siguen el mismo esquema de numeración de versiones, por eso asegúrese también de que usted entiende el manejo de números de versión del software que está a punto de mejorar.
4.8.1. Refrescar vs. Actualizar La orden rpm proporciona dos opciones para actualizar a nuevas versiones, la opción refrescar (--freshen o -F) y la opción actualizar (--upgrade o -U). La diferencia entre ambas opciones es que -F sólo actualiza a la nueva versión del paquete si está instalado en el sistema otra versión anterior del paquete. -U va actualizar a la nueva versión aun cuando no haya una versión anterior instalada. Como ejemplo, suponga que tenemos un directorio lleno de paquetes que contienen correciones de errores y de problemas de seguridad. Si aplicamos la siguiente orden: rpm -Uvh *.rpm Se instalarán todos los paquetes en ese directorio, en cambio con la siguiente orden sólo se instalarán paquetes para los que hay una versión anterior instalada, dejando el resto sin instalar: rpm -Fvh *.rpm
64
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
Eliminar paquetes
4.9. Eliminar paquetes
Para eliminar paquetes se emplea la opción -e o --erase que también requiere privilegios de root. Cuando se hace esta operación rpm también verifica las dependencias, y no deja eliminar un paquete si encuentra que las dependencias se van a romper. Remover un paquete, significa que se desintala del sistema y que se borran todos sus archivos. Por ejemplo para remover un paquete basta con hacer: rpm -e chkrootkit En este ejemplo usamos el nombre del paquete, pero si hubiera dos versiones de este paquete, esta orden daría un error. Para borrar uno de ellos tendríamos que indicar el número de versión y lanzamiento: rpm -e chkrootkit-0.40-1 Pero si queremos borrar todas las versiones basta con emplear la opción --allmatches (todas las coincidencias): rpm -e --allmatches chkrootkit Es posible desintalar un paquete aun rompiendo dependencias usando la opción --nodeps. Pero tenga en cuenta que esta opción es peligrosa y sólo debe usarse bajo indicación. Si ocurre que se modifican archivos de configuración o el contenido de directorios que pertenecen a un paquete, entonces al removerlo rpm no borrará esos directorios y los archivos de configuración serán guardados con su nombre original y llevarán como sufijo la extensión .rpmsave.
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
65
Consultar paquetes
4.10. Consultar paquetes
Una de las ricas características del sistema de paquetes RPM es la posibilidad de hacer diferentes consultas respecto a los paquetes utilizando la opción -q. La consulta puede ser sobre los paquetes instalados en el sistema (que aparecen en la base de datos RPM) o sobre paquetes que están en forma de archivos, en este último caso se debe añadir la opción -p. La forma más simple de consulta es averiguar si un paquete particular está intalado en el sistema: rpm -q kernel kernel-2.4.20-8 El anterior ejemplo nos dice que el paquete kernel, versión 2.4.20 y lanzamiento 8 está instalado en el sistema. Si un paquete no está instalado tendremos el siguiente resultado: rpm -q desconocido package desconocido is not installed Podemos obtener un listado de todos los paquetes instalados empleando la orden rpm -qa. Una forma útil de usar este resultado es cuando no recordamos con exactitud el nombre de un paquete. Por ejemplo suponga que sólo recordamos que el nombre llevaba "net", la siguiente orden nos mostrará todos esos paquetes: rpm -qa | grep net net-tools-1.60-12 netconfig-0.8.14-2 telnet-0.17-25 redhat-config-network-tui-1.2.0 Otras opciones útiles de consulta son -i (información del paquete):
rpm -qi kernel Name : kernel Relocations: (not relocateable) Version : 2.4.20 Vendor: Red Hat, Inc. Release : 8 Build Date: jue 13 mar 2003 19:01:52 BO Install Date: vie 16 dic 2005 13:24:18 BOT Build Host: porky.devel.redhat.com Group : Entorno del Sistema/kernel Source RPM: kernel-2.4.20-8.src.rpm Size : 31954258 License: GPL
66
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
Consultar paquetes
Signature : DSA/SHA1, jue 13 mar 2003 19:20:14 BOT, Key ID 219180cddb42a60e Packager : Red Hat, Inc. Summary : Kernel de Linux (núcleo del sistema operativo Linux). Description : El paquete kernel contiene el kernel Linux (vmlinuz), núcleo del sistema operativo Red Hat Linux. El kernel administra las funciones básicas del sistema operativo: asignación de memoria y procesos, entrada y salida de dispositivos, etc. Para saber que archivos trae un paquete se usa la opción -l (listar archivos): rpm -ql hdparm /etc/sysconfig/harddisks /sbin/hdparm /usr/share/doc/hdparm-5.2 /usr/share/doc/hdparm-5.2/Changelog /usr/share/doc/hdparm-5.2/hdparm.lsm /usr/share/man/man8/hdparm.8.gz Para saber cuales son los archivos de configuración de un paquete (si los tiene) se usa la opción -c (archivos de configuración): rpm -qc hdparm /etc/sysconfig/harddisks Imaginemos una situación en la cual tenemos un archivo pero no sabemos a que paquete pertenece. RPM también nos ayuda en esto utilizando la opción -f: rpm -qf /etc/sysconfig/harddisks hdparm-5.2-4 Tenemos también un par de opciones que nos ayudan a ver las dependencias. La primera es la opción -R o --requires que indica que otros componentes necesita el paquete: rpm -q --requires hdparm config(hdparm) = 5.2-4 libc.so.6 libc.so.6(GLIBC_2.0) libc.so.6(GLIBC_2.1) libc.so.6(GLIBC_2.2) libc.so.6(GLIBC_2.3) rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 Podemos ver también que funciones o componentes proporciona el paquete usando la opción --provides, como sigue a continuación: rpm -q --provides hdparm config(hdparm) = 5.2-4 hdparm = 5.2-4 Recuerde que estas consultas se pueden hacer a paquetes que están como archivos en el disco, sólo se requiere añadir la opción -p, por ejemplo:
rpm -qpi chkrootkit-0.45-1.i386.rpm warning: chkrootkit-0.45-1.i386.rpm: V3 DSA signature: NOKEY, key ID 3e13cf5b Name : chkrootkit Relocations: (not relocateable) Version : 0.45 Vendor: http://www.karan.org/ Release : 1 Build Date: mié 27 abr 2005 15:00 Install Date: (not installed) Build Host: agni.build.karan.org
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
67
Consultar paquetes
Group : Size : Signature : Packager : URL : Summary : Description : chkrootkit is It contains:
Applications/System Source RPM: chkrootkit-0.45-1.src.rpm 542372 License: BSD-like DSA/SHA1, sáb 30 abr 2005 19:04:47 BOT, Key ID 300dbd9e3e13cf5b Karanbir Singh http://www.chkrootkit.org A tool to locally check for signs of a rootkit a tool to locally check for signs of a rootkit.
* chkrootkit: shell script that checks system binaries for rootkit modification. * ifpromisc: checks if the network interface is in promiscuous mode. * chklastlog: checks for lastlog deletions. * chkwtmp: checks for wtmp deletions. * chkproc: checks for signs of LKM trojans. * chkdirs: checks for signs of LKM trojans. * strings: quick and dirty strings replacement. * chkutmp: checks for utmp deletions.
68
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
Verificar paquetes
4.11. Verificar paquetes
De tiempo en tiempo es necesario verificar que los paquetes instalados están en correcto estado. Un accidente podría borrar inadvertidamente archivos, o podrían realizarse cambios no autorizados sobre algunos archivos instalados. RPM también nos puede ayudar en esta tarea mediante la opción -V o --verify. Cuando RPM verifica un paquete, básicamente compara el estado del paquete registrado en la base de datos RPM con lo que el sistema refleja. La verificación considera ocho atributos representados por letras para indicar el resultado de la comparación y una letra adicional que describe el archivo (marcador). Cuando todo está en orden no se produce ninguna salida, pero si la verificación de algún atributo falla se muestra la letra correspondiente.
Tabla 4.2. Atributos para comparación y sus letras S
El tamaño del archivo difiere
M
Los permisos o tipo de archivo difieren
5
La cifra de comprobación MD5 difiere
D
El número mayor/menor de dispositivo difiere
L
La ruta del enlace readLink(2) difiere
U
El usuario dueño no coincide
G
El grupo dueño no coincide
T
Las marcas de tiempo (fecha y hora) difieren
Marcador
c — archivo de configuración d — archivo de documentación l — archivo de licencia r — archivo leame (readme)
Por ejemplo para verificar el paquete hdparm basta con hacer: rpm -V hdparm En este ejemplo la orden no devuelve ninguna salida, lo que significa que todo está en orden. Si modificamos el archivo de configuración /etc/sysconfig/harddisks y volvemos a verificar: rpm -V hdparm
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
69
Verificar paquetes
Obtenemos lo siguiente: ..5....T c /etc/sysconfig/harddisks Esta salida nos indica que dos atributos del archivo de configuración han cambiado y que son diferentes respecto al archivo original cuando el paquete fue instalado. Podemos verificar todos los paquetes instalados en el sistema con la orden rpm -Va.
70
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
5. Gestión de procesos La gestión de procesos es una actividad importante en un sistema Linux, ya que los procesos consumen recursos valiosos del sistema como son la memoria y el procesador.
5.1. Objetivos
Los candidatos deben poder manejar procesos. Esto incluye saber correr trabajos en primero plano y segundo plano, traer un trabajo del segundo al primero plano y viceversa, iniciar un proceso para que corra sin ser conectado a una terminal y enviar la señal adecuada a un programa para que siga funcionando después de cerrar la sesión. Las tareas también incluyen la supervisión de procesos activos, seleccionar y clasificar procesos para su despliege, envío de señales a los procesos, terminar procesos, e identificar y terminar aplicaciones X que no terminaron después de que la sesión X fue cerrada. Los candidatos deben también poder manejar prioridades de ejecución de un proceso. Las tareas incluyen la ejecución de un programa con una prioridad más alta o más baja, determinar la prioridad de un proceso y cambiar la prioridad de un proceso en ejecución.
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
71
Control de Trabajos
5.2. Control de Trabajos
Entendemos por trabajo a cualquier aplicación o programa que el usuario lanza, desde la línea de órdenes. Con el control de trabajos el usuario puede ejecutar múltiples órdenes en segundo plano mientras trabaja con un aplicación en primer plano. Cuando se trabaja en una interfaz gráfica de usuario como Gnome o Kde, trabajar con aplicaciones en primer y segundo plano es sencillo e imperceptible. Por ejemplo si desde el menú lanzamos un reproductor de música y lo usamos para poner nuestra canción favorita estamos en primer plano, si a continuación volvemos al menú, lanzamos la calculadora y nos ponemos hacer cálculos, entonces la calculadora está ahora en primer plano y el reproductor de música está corriendo en segundo plano por que seguimos escuchando la música.
72
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
Usando el control de trabajos
5.3. Usando el control de trabajos
En la línea de órdenes no tenemos la sencilléz que nos ofrece una interfaz gráfica de usuario (GUI) pero de igual manera podemos correr un programa, suspenderlo, llevarlo a segundo o primer plano y terminarlo. Para ver como funciona esto veamos el siguiente ejemplo: 1.
Inice una tarea watch uptime En la pantalla verá algo similar a: Every 2,0s: uptime 12:35:55 up 2:52,
2.
Fri Feb load average: 0.09, 0.16, 0.35
Ahora suspenda la tarea presionando Ctrl+Z que mostrará el siguiente mensaje: [1]+
3.
3 users,
Stopped
watch uptime
Ejecute la orden jobs para ver el estado de los los trabajos: jobs Nos mostrará esto: [1]+
4.
Stopped
watch uptime
Envíe el trabajo a segundo plano con la orden bg bg Que producirá esto: [1]+ watch uptime &
5.
Ahora inicie un programa en segundo plano por ejemplo top así:
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
73
3 12:35:
Usando el control de trabajos
top & 6.
Si hacemos nuevamente jobs para ver el estado de los trabajos jobs Veremos esto: [1][2]+
Stopped Stopped
watch uptime top
• Entre corchetes se muestra el número de trabajo. • El signo más (+) indica el trabajo actual. Las órdenes fg y bg, actúan en este trabajo de modo predeterminado. • El signo menos (–) indica el trabajo anterior. • Si el signo no aparece indica que es un trabajo regular. Para realizar alguna acción sobre él se debe indicar su número de trabajo. • La siguiente columna muestra el estado del trabajo, que puede ser: Detenido o suspendido (Stopped) y Ejecutando (Running). 7.
Ahora traiga el primer trabajo a primer plano fg %1 Y a continuación presione Ctrl+C para terminarlo.
8.
Traiga a primer plano el trabajo actual (+) que en este caso es top. fg Para salir de top presione q. También puede terminar un trabajo usando la orden kill y el número de trabajo, por ejemplo kill %1.
9.
Si emplea la orden jobs nuevamente verá que no hay ningún trabajo.
Tabla 5.1. Ordenes para control de trabajos
74
Orden Uso
Descripción
jobs
jobs
Muestra los trabajos
fg
fg [%n] Envía a primer plano el trabajo actual o el trabajo n
bg
bg [%n] Envía a segundo plano el trabajo actual o el trabajo n
&
orden & Ejecuta orden en segundo plano
kill
kill %n Termina (mata) el trabajo n
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
Manejo de procesos
5.4. Manejo de procesos
Para obtener un listado de los procesos que están corriendo en el sistema se emplea la orden ps. Acompañada de las opciones adecuadas puede mostar todos los procesos. Por ejemplo, para ver los procesos que está corriendo el usuario actual basta con escribir la orden: ps PID TTY 7776 pts/1 9661 pts/1
TIME CMD 00:00:00 bash 00:00:00 ps
De modo predeterminado, ps muestra todos los procesos con la misma identificación del usuario efectivo (EUID) que el usuario actual (UID) asociado a la terminal en la que se invoca la orden. Las cuatro columnas mostradas corresponden a la siguiente descripción: – PID el número identificador de proceso – TTY la terminal asociada al proceso – TIME el tiempo acumulado de CPU – CMD el nombre del ejecutable Esta es la forma más simple de uso, pero hay muchos procesos en segundo plano y sin una terminal asociada que no son mostrados. Para mostrar todos los procesos podemos usar la siguiente orden: ps ax PID 1 2 3 4 5 7 62 88 89 . . . 7891 8088
TTY ? ? ? ? ? ? ? ? ?
STAT S SN S< S< S< S< S< S S
TIME 0:02 0:00 0:00 0:00 0:00 0:00 0:00 0:00 0:00
COMMAND init [2] [ksoftirqd/0] [events/0] [khelper] [kthread] [kacpid] [kblockd/0] [pdflush] [pdflush]
? ?
SNs SNs
0:06 /usr/sbin/cupsd -F 0:00 /sbin/syslogd -u syslog
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
75
Manejo de procesos
8778 8953 9094 9095
pts/1 tty1 pts/0 pts/0
Ss S+ R+ R+
0:00 0:00 0:00 0:00
-bash -sh ps ax -bash
Los procesos pueden tener los siguientes estados (columna STAT o S): D Proceso no interrumpible (usualmente E/S) R Ejecutándose (en cola de ejecución) S Durmiendo, interrumpible (espera un acontecimiento para terminar) T Detenido, por una señal de control de trabajos o por que está en depuración (paso a paso) W Paginación (no válido desde el núcleo 2.6) X Muerto (nunca debería verse) Z Zombie, terminado pero no recogido por su padre Adicionalmente pueden aparecer los siguientes caracteres cuando se usan opciones en formato BSD: < Alta prioridad N Baja proiridad L Tiene páginas bloqueadas en memoria (para tiempo-real y E/S personalizada) s Es un líder de sesión l Es de múltiples-hilos + Está en el grupo de procesos en primer plano A continuación algunas opciones usualmente empleadas con ps:
Tabla 5.2. Opciones de uso común en ps Opción Opción Uso UNIX BSD ninguna a
Muestra todos los procesos asociados a una terminal (tty)
ninguna x
Muestra procesos sin una terminal (tty) de control
ninguna u
Muestra el usuario efectivo dueño del proceso
-e
ax
Muestra absolutamente todos los procesos
-ef
axu
Muestra absolutamente todos los procesos
Además de ps, también puede usar las siguientes órdenes relacionadas con procesos: – pstree, muestra la relación jerárquica que tienen los procesos (padre–hijo). – top, muestra de manera dinámica y en tiempo real variada información del sistema en ejecución y de 15 procesos seleccionados por un criterio (ej.: primeros quince, los quince que más CPU consumen, etc).
76
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
Envío de señales a procesos
5.4.1. Envío de señales a procesos
Los procesos son capaces de reaccionar de una manera específica a determinadas señales. Existen alrededor de 64 señales pero sólo algunas son las realmente importantes:
Tabla 5.3. Señales habituales Señal
Valor
Descripción
HUP
1
El proceso se reinicia a si mismo
KILL
9
Termina brúscamente el proceso (ej. posible pérdida de datos). Es el último recurso para terminar (matar) un proceso
TERM
15
Termina gentilmente el proceso
CONT
18
Le dice a un proceso detenido (estado T) que continúe corriendo
STOP
19
Le dice a un proceso que se detenga.
Las señales se envían con la orden kill y la señal predeterminada es TERM (15), el proceso al que se envía la señal se indica mediante su PID. Veamos algunos ejemplos: kill 1421 Envía la señal TERM al proceso cuyo PID es 1421 kill -HUP 718 720 721 Envía la señal HUP a los procesos 718, 720 y 721 kill -9 1471 Termina (mata) el proceso 1471 brúscamente También existe la orden killall que envía señales a procesos por su nombre. Supongamos que usted tiene varios procesos llamados wget y quiere enviarles la señal TERM, la siguiente orden lo haría: killall -15 wget Existe una orden llamada nohup que ejecuta otra orden dada ignorando las señales HUP, de modo que la orden siga corriendo aún después de salir de la sesión. Si hay salida estándar este es añadido al archivo nohup.out.
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
77
Envío de señales a procesos
El siguiente ejemplo descarga el archivo linux-2.4.32.tar.bz2 y deja la orden corriendo en segundo plano ignorando señales HUP: nohup wget ftp://ftp.kernel.org/pub/linux/kernel/v2.4/linux-2.4.32.tar.bz2 &
78
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
Manejo de prioridad de procesos
5.4.2. Manejo de prioridad de procesos
Linux ejecuta los procesos basado en una planificación y prioridad de procesos de modo que sea posible tener multi-tarea. La prioridad de ejecución está en un rago de -20 (alta) a 19 (baja). De modo predeterminado la prioridad de un proceso es 0 (cero). La orden nice permite establecer la prioridad de ejecución de un proceso, pero los usuarios están limitados a valores bajos (de 0 a 19), únicamente el usuario root puede fijar una prioridad superior (de -1 a -20). El siguiente ejemplo ejecuta el script slowbackup con una prioridad baja de 10: nice -10 slowbackup Ahora, para alterar la prioridad de un proceso que ya está en ejecución, se debe usar la orden renice. El siguiente ejemplo cambia la prioridad del proceso cuyo PID es 104: renice +2 104 Un usuario regular puede alterar la prioridad de ejecución de un proceso sólo si es el dueño. En cambio el usuario root no tiene esta restricción.
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
79
80
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
6. Arranque, inicialización, apagado y niveles de ejecución Desde el momento en que encendemos la computadora hasta que se presenta la pantalla de ingreso a un sistema Linux, ocurren una serie de pasos que vamos a revisar en este capítulo.
6.1. Objetivos
Al concluir esta sección usted será capaz de: • Comprender todo el proceso de arranque de un sistema Linux • Usar opciones del núcleo durante el arranque • Comprender todo el proceso de inicialización de un sistema Linux • Gestionar los niveles de ejecución del sistema • Arrancar el sistema en modo mono-usuario • Seguir el procedimiento adecuado para apagar o reiniciar el sistema
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
81
Arranque e inicialización
6.2. Arranque e inicialización
El proceso de arranque de un computador es específico para cada arquitectura, en la familia Intel x86 y compatibles, al momento de encender la computadora, se carga y ejecuta el BIOS (Basic Input/Output System). Este programa típicamente realiza una auto-prueba (POST: Power-On Self Test) que revisa los dipositivos básicos y los inicializa. Entonces el BIOS recorre una lista preconfigurada de dispositivos hasta encontrar uno capáz de arrancar, de éste dispositivo carga y ejecuta el cargador de arranque. El cargador de arranque (GRUB o LILO) procederá a cargar el núcleo y es posible que le permita al usuario introducir opciones del núcleo para usarlas durante el arranque. El núcleo puede buscar un disco de RAM (initrd: initial RAM Disk) y cargarlo ya sea desde disquete,disco fijo o CD-ROM. Acto seguido el núcleo inicializa los dispositivos hardware, para los que tiene soporte compilado. Si es necesario cargará módulos adicionales desde el initrd para inicializar otro hardware (ej. SCSI) o para reconocer sistemas de archivos y entonces procederá a montar el sistema de archivos / (raíz) en modo solo-lectura con el propósito de ejecutar el primer proceso /sbin/init. Al ejecutarse init, éste toma el control del proceso de inicialización del sistema ejecutando procesos y lanzando varios guiones (scripts) de acuerdo a lo definido en el archivo /etc/inittab. De modo general se revisará la integridad de los sistemas de archivos y se montarán si no hay problemas. Para finalmente habilitar las consolas. Si ha sido configurado también lanzará el gestor de pantalla xdm/gdm/kdm para ofrecer ingreso al sistema en modo gráfico. Llegado a este punto el sistema está listo para utilizarse.
Sugerencia Los scripts que son ejecutados por init de acuerdo a lo indicado en el archivo /etc/inittab, realizan varias cosas, entre ellas: Configurar la fecha y hora del sistema Configurar el idioma del teclado Configurar la red Levantar servicios, por ejemplo: Correo, Web, FTP, DNS, etc
82
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
Opciones del núcleo
6.2.1. Opciones del núcleo
Durante el arranque del sistema, antes de cargar el núcleo, el cargador puede ofrecernos una línea de órdenes para indicar opciones de núcleo. Hay varios tipos de opciones, entre ellas: resolución de consola VGA, ubicación del sistema de archivos raíz, nivel de ejecución, o varias otras relacionadas a hardware. Una lista de todas las opciones soportadas por nuestra versión de núcleo se puede encontrar en el archivo /usr/src/linux/Documentation/kernel-parameters.txt. Probablemente usted necesitará instalar la documentación que acompaña al núcleo. Las opciones pueden usarse desde el cargador en el momento de arranque o ser incluidas en el archivo de configuración del cargador. Por ejemplo si está usando LILO, las opciones van en la palabra reservada append=: append=vga=791 acpi=off quiet splash Si está usando GRUB, las opciones van en línea donde se define el núcleo: kernel /vmlinuz.2.6.9 root=/dev/hda3 vga=791 acpi=off quiet splash Para ver que opciones se utilizaron durante el arranque, basta mirar el contenido del archivo /proc/cmdline. Si desea ver mensajes del núcleo, basta emplear la orden dmesg. Esta orden sólo muestra los mensajes de un buffer temporal. Para ver otros mensajes pasados puede inspeccionar el archivo /var/log/messages.
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
83
Niveles de ejecución
6.3. Niveles de ejecución
Un nivel de ejecución es una configuración del sistema que permite la existencia de sólo un grupo seleccionado de procesos. init es el encargado de poner el nivel de ejecución predeterminado y lanzar los procesos adecuados de acuerdo a la configuración de /etc/inittab. Existen 8 niveles de ejecución (0 al 6 y S o s), y un usuario privilegiado puede cambiar de nivel empleando la orden telnit. Los niveles de ejecución 0, 1 y 6 están reservados para usos específicos, el uso del resto de niveles varía entre distribuciones GNU/Linux.
Tabla 6.1. Niveles de ejecución reservados Nivel
Uso
0
Se usa para suspender el sistema (halt)
1
Se usa para llevar el sistema a modo mono-usuario
6
Se usa para reiniciar el sistema (reboot)
Sós
No están pensados para usar directamente, en lugar de ello se usan por los scripts que se ejecutan cuando se cambia a nivel de ejecución 1.
El nivel prederteminado de ejecución se indica en el archivo /etc/inittab con la siguiente entrada: id:X:initdefault Donde X es el nivel de ejecución, por ejemplo 2 o 5. Por ejemplo para cambiar explícitamente a nivel de ejecución 3, se debe usar la siguiente orden: telinit 3 La orden runlevel muestra el nivel de ejecución anterior y el actual. Cuando no hay un nivel de ejecución anterior se muestra N. Ejemplo: runlevel N 5
84
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
Archivo inittab
6.4. Archivo inittab
El archivo inittab describe que procesos serán inicializados al arrancar el sistema y durante el uso normal del mismo. Cada entrada en el archivo tiene la siguiente forma:Id:runlevels:accion:proceso. Las lineas que empiezan con # . id
runlevels
acción
proceso
Secuencia Lista de niveles de acceso para en la Describe la acción que Especifica el proceso a única de 1 a cual, la acción especifica correrá se realizará ser ejecutado 4 caracteres que define una línea en inittab
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
85
Inicialización del sistema
6.5. Inicialización del sistema
El guión de inicialización del sistema, lanzado por init durante el arranque, es el que corresponde a la siguiente entrada en el archivo /etc/inittab: si::sysinit:/etc/rc.d/rc.sysinit (Red Hat) si::sysinit:/etc/init.d/rcS (Debian) Luego de ejecutar ese guión, se ejecutan una serie de guiones dependiendo del nivel de ejecución. Estos guiones se lanzan desde un guión maestro llamado rc, que es ejecutado por init cada vez que cambia a un nivel de ejecución. La ubicación exacta de este guión se puede ver en el archivo /etc/initab. En el caso de Red Hat y Debian corresponden a: Red Hat: /etc/rc.d/rc A su vez el sistema, tiene un directorio para cada nivel de ejecución y básicamente la tarea del guión maestro rc, es entrar al directorio del nivel de ejecución correspondiente y ejecutar todos los guiones que encuentra, levantando o deteniendo servicios según corresponda. Por ejemplo, en un sistema Red Hat, estas son las líneas del archivo /etc/inittab que ejecutan el guión maestro rc, para cada nivel de ejecución: l0:0:wait:/etc/rc.d/rc l1:1:wait:/etc/rc.d/rc l2:2:wait:/etc/rc.d/rc l3:3:wait:/etc/rc.d/rc l4:4:wait:/etc/rc.d/rc l5:5:wait:/etc/rc.d/rc l6:6:wait:/etc/rc.d/rc
0 1 2 3 4 5 6
Nota La ubicación exacta de los directorios para cada nivel de ejecución varian en los sistemas. En Red Hat los directorios son /etc/rc.d/rc[0-6].d/. Uno de los últimos pasos en la inicialización del sistema es habilitar las consolas (modo texto). Para ello init ejecuta un programa que habilita la consola (tty) y pide un nombre de usuario y luego ejecuta el programa /bin/login. En este punto el sistema está listo para utilizarse.
86
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
Inicialización del sistema
En un sistema Red Hat, las líneas del archivo /etc/inittab que habilitan las consolas son: # Run gettys in standard runlevels 1:2345:respawn:/sbin/mingetty tty1 2:2345:respawn:/sbin/mingetty tty2 3:2345:respawn:/sbin/mingetty tty3 4:2345:respawn:/sbin/mingetty tty4 5:2345:respawn:/sbin/mingetty tty5 6:2345:respawn:/sbin/mingetty tty6
Nota Para habilitar el ingreso al sistema en modo gráfico, tanto Red Hat como Debian usan estrategias diferentes. En Red Hat se hace desde /etc/inittab con la siguiente línea de configuración: # Run xdm in runlevel 5 x:5:respawn:/etc/X11/prefdm -nodaemon
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
87
Personalizar el arranque
6.6. Personalizar el arranque
En los sistemas Linux, personalizar el arranque o inicio del sistema, significa establecer que procesos queremos que se ejecuten en un determinado nivel de ejecución. Algunos de estos procesos corresponderán a servicios (web, correo, etc.) La práctica generalizada, es emplear scripts para iniciar servicios (correr el proceso) en un nivel de ejecución. Es asi que los directorios /etc/rc.d/init.d/ y /etc/init.d/ en Red Hat y Debian respectivamente, contienen una serie de scripts usados para iniciar o detener servicios. Podemos iniciar o detener un servicio a demanda, invocando directamente al script. Por ejemplo para detener cron: /etc/rc.d/init.d/crond stop Para iniciar cron: /etc/rc.d/init.d/crond start En Red Hat también podemos usar la orden service o la ruta /etc/init.d/: service crond restart /etc/init.d/crond restart Para configurar en que nivel queremos se inicie un servicio utilizamos la orden chkconfig en Red Hat y update-rc.d en Debian. Veamos algunos ejemplos: Iniciar atd en los niveles 2, 3 y 5: chkconfig --level 235 atd on Detener atd en los niveles 2, 3 y 5: chkconfig --level 235 atd off Retirar el servicio atd: chkconfig --del atd Añadir el servicio atd: chkconfig --add atd Mostrar el estado del servicio atd en cada nivel: chkconfig --list atd
Sugerencia Lo que hace en realidad chkconfig, es crear en el directorio del nivel de ejecución, un enlace simbólico al guión del servicio en /etc/rc.d/init.d/. Este enlace simbólico es de la forma:
88
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
Personalizar el arranque
SnnGuión: Para iniciar (start) el servicio KnnGuión: Para detener (stop) el servicio Donde: nn es un número de secuencia, que determina el orden en que se inicia o detiene el servicio. Guión es el nombre del guión en el directorio /etc/rc.d/init.d/ Por ejemplo en un sistema Red Hat, los enlaces predeterminados para iniciar/detener el servicio crond son: find /etc/rc.d/rc[0-6].d -name "*crond" /etc/rc.d/rc0.d/K60crond /etc/rc.d/rc1.d/K60crond /etc/rc.d/rc2.d/S90crond /etc/rc.d/rc3.d/S90crond /etc/rc.d/rc4.d/S90crond /etc/rc.d/rc5.d/S90crond /etc/rc.d/rc6.d/K60crond En Debian update-rc.d, hace lo mismo usando las rutas de directorios aplicables.
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
89
Apagar o reiniciar el sistema
6.7. Apagar o reiniciar el sistema
Antes de que se apague (o reinicie) la computadora, el sistema necesita ser bajado apropiadamente: bajar apropiadamente los servicios en el nivel actual de ejecución y desmontar todos los sistemas de archivos. Esto se realiza con alguna de las siguientes órdenes: Bajar el sistema y apagar la computadora: shutdown -h now poweroff halt telinit 0 Bajar el sistema y reiniciar la computadora: shutdown -r now reboot telinit 6 La órdenes reboot y poweroff son enlaces simbólicos a la orden halt. Cuando se invoca a halt o reboot y el sistema no está en nivel de ejecución 0 o 6, entonces se invoca en su lugar a la orden shutdown. shutdown es la orden que baja el sistema de una forma adecuada. Su sintaxis de uso es: shutdown [opciones] tiempo [mensaje]
Tabla 6.2. Opciones comunes de shutdown
90
Opción
Descripción
-t seg
Espera seg segundos entre enviar a los procesos la señal warning y la señal kill.
-h
Suspender o apagar el sistema luego de bajarlo
-r
Reiniciar el sistema luego de bajarlo
-c
Cancelar un shutdown en plena ejecución.
-a
Usa el archivo /etc/shutdown.allow
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
Apagar o reiniciar el sistema
Opción
Descripción
tiempo
En que momento bajar el sistema. Puede ser 0 que es igual a now (ahora). +m que indica m minutos, o de la forma hh:mm.
shutdown también puede ser invocado presionando la combinación de teclas Ctrl+Alt+Del si ha sido configurado en el archivo /etc/inittab. Un usuario regular puede invocar esta orden si usa la opción -a y su nombre de usuario aparece en el archivo /etc/shutdown.allow. También podemos usar shutdown para llevar el sistema a modo mono-usuario, también conocido como modo mantenimiento, así: shutdown now En este modo sólo el usuario root tiene abierta una sesión y se detienen casi todos los servicios: consolas, red, etc.
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
91
92
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
7. Uso y gestión de los sistemas de archivos Toda la información que un sistema operativo maneja está almacenada en archivos. Saber como se preparan los sistemas de archivos para ser utilizados en el sistema, es necesario cuando se require instalar un nuevo disco o reorganizar la estructura actual del disco.
7.1. Objetivos
Al concluir este capítulo usted será capaz de: • Configurar particiones de disco • Crear sistemas de archivos en medios como los discos • Verificar la integridad de los sistemas de archivos • Hacer un seguimiento del espacio y los i-nodos libres • Reparar problemas simples en los sistemas de archivos • Montar y desmontar sistemas de archivos • Configurar el montaje del sistema de archivos durante el arranque • Configurar el sistema para que los usuarios puedan montar/desmontar sistemas de archivos removibles como CDs, memorias flash • Gestionar cuotas de disco para los usuarios
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
93
Procedimiento general
7.2. Procedimiento general
Para que sea posible usar en el sistema (grabar información) un nuevo disco, debemos seguir el siguiente procedimiendo general:
94
1.
Instalar el dispositivo correctamente a nivel de hardware
2.
Crear las particiones necesarias
3.
Crear el sistema de archivos en las particiones
4.
Escoger el directorio que usaremos como punto de montaje
5.
Montar el sistema (automáticamente o manualmente)
6.
Ajustar la propiedad y los permisos (si es necesario)
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
Dispositivos
7.3. Dispositivos
Cuando instalamos un dispositivo de almacenamiento en nuestro sistema, Linux vincula el dispositivo físico con un archivo de dispositivo ubicado en el directorio /dev/, esta asociación nos permite acceder al dispositivo, pero la simple aparición del archivo no significa que el dispositivo físico existe, ya que se trata de un simple archivo que como cualquier otro puede ser creado o borrado. De modo predeterminado únicamente el usuario root tiene permisos de acceso a los archivos de dispositivo en /dev/. El nombre del archivo de dispositivo que hace referencia a una partición o disco, tiene una notación autodescriptiva en Linux que es de la forma /dev/xxyN donde: xx
Estas dos primeras letras indican el tipo de medio de almacenamiento que puede ser: hd (disco fijo IDE) o sd (disco fijo SCSI).
y
Es una letra que indica cual dispositivo es, por ejemplo /dev/sdc (tercer disco SCSI) o /dev/hda (primer disco IDE).
N
Es un número que si está presente denota una partición. Las particiones se numeran del siguiente modo: 1 a 4 para particiones primarias y 5 o más para particiones lógicas. Cuando este número no se indica se esta haciendo referencia a todo el disco.
Nota Esta es la designación estándar, pero hay fabricantes de medios de almacenamiento como arreglos de discos (RAID) que usan sus propias designaciones. Por ejemplo este nombre /dev/ida/c0d0p1. En un sistema estándar con interfaz IDE, estos son todos los dispositivos de disco que podemos tener: • /dev/hda — Disco maestro en el canal IDE primario. • /dev/hdb — Disco esclavo en el canal IDE primario. • /dev/hdc — Disco maestro en el canal IDE secundario. • /dev/hdd — Disco esclavo en el canal IDE secundario.
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
95
Particiones
7.4. Particiones
Hay dos tipos de particiones primaria y extendida. Los discos fijos en las PC se pueden dividir hasta en 4 particiones por disco como máximo. Si se necesitan más particiones entonces es necesario usar una partición extendida. La partición extendida puede tener un número ilimitado de particiones lógicas, que luego pueden usarse como cualquier partición primaria.
Tabla 7.1. Cantidad de particiones posibles Primaria
Extendida
Total
4
0
4
3
1
4
2
1
3
1
1
2
Usualmente las particiones se marcan con un identificador de sistema, que simplemente sirve para distinguir a que sistema operativo pertenecen, en el caso de Linux se pueden emplear los siguientes: • 82 — Partición Linux de intercambio (swap) • 83 — Partición Linux regular • 8e — Partición Linux LVM
96
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
Esquema de particiones
7.4.1. Esquema de particiones
No hay una regla que indique cual es el mejor esquema de particiones, siempre depende para que se va usar el sistema, aunque en general las estaciones de trabajo y PC de escritorio tienen menor número de particiones que un servidor. Lo único de lo que estamos seguros es que Linux necesita al menos de dos particiones para funcionar: una para intercambio (swap) y la otra para el sistema de archivos raíz. Algunas de las razones para crear más de una partición son: • Por seguridad, si por alguna razón se produce una falla en el sistema de archivos de una partición, los más probable es que las otras van a estar bien. • Para aislar, si un sistema de archivos se queda sin espacio, esto afectará solo a las aplicaciones que usan ese espacio. • Para usar cuotas de disco, que consiste en limitar el espacio que un usuario puede usar. Linux aplica políticas de cuota por sistema de archivos.
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
97
Creando particiones
7.4.2. Creando particiones
En los sistemas Linux tenemos la utilidad fdisk para realizar las tareas de particionamiento. fdisk es una utilidad que funciona en línea de órdenes y tiene la costumbre de perder el control de la pantalla cuando se apreta una tecla demás, provocando que uno se pierda por instantes. Así que se debe ser cuidadoso mientras se la utiliza. Para empezar a trabajar en un disco con fdisk todo lo que necesitamos hacer es darle como argumento el nombre del archivo de dispositivo que hace referencia al disco. Por ejemplo si escribimos: # fdisk /dev/hda Mostrará algo similar a esto: The number of cylinders for this disk is set to 1247. There is nothing wrong with that, but this is larger than 1024, and could in certain setups cause problems with: 1) software that runs at boot time (e.g., old versions of LILO) 2) booting and partitioning software from other OSs (e.g., DOS FDISK, OS/2 FDISK) Command (m for help): Se puede ignorar sin mayor problema el mensaje de que el disco tiene más de 1024 cilindros. En este punto fdisk se queda esperando alguna orden, las más importantes son:
Tabla 7.2. Ordenes importantes de fdisk
98
Orden
Descripción
p
Muestra la tabla de partciones
n
Añade una nueva partición (primaria, extendida o lógica)
d
Borra una partición
t
Cambia el identificador de sistema de una partición
a
Marca/desmarca una partición como arrancable (bootable flag)
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
Creando particiones
Orden
Descripción
u
Cambia unidades, cilindros a sectores y viceversa
w
Escribe la tabla de particiones al disco y sale
q
Sale sin guardar los cambios
Una opción muy util de fdisk es -l que muestra la tabla de particiones: # fdisk -l /dev/hdb Mostrará algo similar a: Disk /dev/hdb: 41.1 GB, 41110142976 bytes 255 heads, 63 sectors/track, 4998 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot /dev/hdb1 * /dev/hdb2 /dev/hdb5 /dev/hdb6 /dev/hdb7 /dev/hdb8 /dev/hdb9 /dev/hdb10
Start 1 14 14 80 1100 1368 1612 1917
End 13 2160 79 1099 1367 1611 1916 2160
Blocks 104391 17245777+ 530113+ 8193118+ 2152678+ 1959898+ 2449881 1959898+
Id 83 5 82 8e 83 83 83 83
System Linux Extended Linux swap Linux LVM Linux Linux Linux Linux
Sugerencia Es muy buena idea guardar la información de la tabla de particiones en caso de que un día ocurra un desastre que dañe dicha tabla. Otra herramienta de particionamiento habitualmente disponible en sistemas Debian y sus derivados (Knoppix, Ubuntu, etc.) es cfdisk. Esta herramienta tiene una mejor interfaz que la anterior por que usa menúes y funciona en toda la pantalla reduciendo la posibilidad de error. Algunas veces usted necesita reproducir el esquema de particiones de un sistema a otro, una herramienta útil para hacer esto es sfdisk que permite manipular la tabla de particiones de manera programática (no interactiva). Como ejemplo, la siguiente secuencia de órdenes replica las particiones de un disco a otro en el mismo sistema: # sfdisk -d /dev/hda > tabpart # sfdisk /dev/hdb < tabpart
Nota cfdisk y sfdisk no se toman en cuenta en los exámenes, asi que con estar familiarizado es suficiente.
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
99
Los sistemas de archivos
7.5. Los sistemas de archivos
Un sistema de archivos, es un método para almacenar y organizar información, para hacerla fácil de encontrar, acceder y manipular. Los sistemas de archivos pueden utilizar un dispositivo de almacenamiento masivo tal como un disco fijo o un CD-ROM, o pueden prescindir de la ubicación física y existir solamente como método de acceso para los datos que podrían estar sobre una red (ej. NFS, CIFS) o sobre otro archivo. (ej. imagen ISO). En Linux tenemos varios sistemas de archivos para usarlos con dispositivos de almacenamiento masivo, el estándar de facto es el sistema de archivos ext2/ext3 que tiene como principales características el superbloque y los i-nodos (nodos índice).
7.5.1. El superbloque
El sistema de archivos ext2/ext3 está formado por un conjunto de grupos de bloques. Existe el denominado superbloque que está almacenado en el primer sector del sistema de archivos y guarda información descriptiva como: etiqueta, cantidad de i-nodos (disponibles y usados), cantidad de bloques (disponibles y usados), tamaño de los bloques, fecha que se montó por última vez, fecha que se revisó por última vez, etc. El contenido del Superbloque está replicado varias veces, haciendo más fácil la recuperación de errores. La primera copia de respaldo del superbloque está usualmente en el bloque 8193.
100
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
i-nodos y archivos
7.5.2. i-nodos y archivos
En el sistema de archivos ext2/ext3 cada archivo es representado por una estructura llamada i-nodo (o nodo índice). El i-nodo contiene la descripción del archivo: – Tipo de archivo – Permisos de acceso – Usuario y grupo dueño – Marcas de tiempo (fecha y hora) – Tamaño – Punteros a los bloques de datos Podemos ver el i-nodo que le corresponde a un archivo y la información que contiene con la orden stat. Por ejemplo: $ stat / Mostrará algo similar a: File: Size: Device: Access: Access: Modify: Change:
«/» 4096 Blocks: 8 IO Block: 4096 349h/841d Inode: 2 Links: 26 (0755/drwxr-xr-x) Uid: ( 0/ root) Gid: ( 2006-02-07 16:58:23.000000000 -0400 2006-02-02 10:45:37.000000000 -0400 2006-02-02 10:45:37.000000000 -0400
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
Directory 0/
root)
101
i-nodos y espacio en disco
7.5.3. i-nodos y espacio en disco
La cantidad de i-nodos es establecida en el momento en que se crea el sistema de archivos en base al tamaño del mismo, siendo el tamaño predeterminado para el i-nodo 128 bytes. Puede ocurrir que si un sistema de archivos tiene muchísimos archivos pequeños, los i-nodos se acaben pero no así los grupos de bloques. Esto tendrá como resultado que haya espacio libre en el disco pero que ya no se puedan crear más archivos por que no hay i-nodos disponibles para asignar. El problema anterior se puede resolver modificando los valores predeterminados al momento de crear el sistema de archivos. En particular se debe usar la opción -T que sirve para indicar como va ser utilizado el sistema de archivos. Los valores que se pueden usar para esta opción son: – news —Crea 1 i-nodo por bloques de 4KiB – largefile —Crea 1 i-nodo por bloques de 1MiB – largefile4 —Crea 1 i-nodo por bloques de 4MiB Más adelante veremos la orden con la que se usa esta opción.
102
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
Tipos de sistemas de archivos
7.5.4. Tipos de sistemas de archivos
Una de las características más importantes de Linux es su soporte para diferentes tipos de sistemas de archivos. Esto lo hace muy flexible y hábil para coexistir con otros sistemas operativos. Al momento de escribir esto, Linux soporta hasta 31 sistemas de archivos: afs, autofs, autofs4, befs, bfs, coda, cramfs, ext2, ext3, fat, freevxfs, hfs, intermezzo, jbd, jfs, lockd, minix, msdos, ncpfs, nfs, nls, reiserfs, romfs, smbfs, sysv, udf, ufs, umsdos, xfs, vfat. De esta cantidad estos son con los que usted tiene que estar familiarizado: • cramfs —Sistema de archivos comprimido de sólo-lectura (compressed ROM filesystem), diseñado para ser simple. Usado principalmente en sistemas empotrados (embedded systems). • ext2 —Second extended filesystem, diseñado específicamente para Linux. • ext3 —Third extended filesystem, es una extensión a ext3 para soportar transacciones (journalling). • iso9660 —Define un sistema de archivos para ser utilizado en CD-ROM. Soporta extensiones específicas para los sistemas operativos Windows (Romeo, Joliet), UNIX/Linux (Rock Ride), • udf —Universal Disk Format, define un sistema de archivos para ser usado en medio ópticos, como los DVD, eventualmente debe reemplazar al ISO9660. • vfat —Sistema de archivos utilizado desde Windows 95 denominado FAT32. • msdos —Sistema de archivos utilizado en DOS • ReiserFS —Fue el primer sistema de archivos transaccional disponible en Linux, introducido oficialmente en la versión 2.4.1 del núcleo. • JFS —Sistema de archivos transaccional creado por IBM para su sistema operativo AIX (familia UNIX). En Diciembre de 1999, IBM lo puso a disposición de la comunidad Linux, y fue introducido en la versión 2.4.10 del núcleo de Linux • XFS —Sistema de archivos transaccional creado por Silicon Graphics para su sistema operativo IRIX (familia UNIX). En Mayo 2000, Silicon Graphics liberó XFS bajo licencia GNU GPL y fue introducido en la versión 2.4.25 del núcleo de Linux. • NFS —Es en realidad un protocolo para permitir un sistema de archivos en red, fue creado originalmente para UNIX y se considera obsoleto.
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
103
Tipos de sistemas de archivos
• SMB —Es también otro protocolo creado para compartir archivos e impresoras usado en los sistemas Windows. En 1998 se le añadió nuevas funciones y se le cambió el nombre a CIFS (Common Internet File System) El sistema de archivos usado en Linux es en general ext3, aunque en distribuciones como Suse el predeterminado es ReiserFS.
Sugerencia La única actualización sencilla de un sistema de archivos es de ext2 a ext3. Si está interesado en una discución más amplia sobre las características de cada uno de estos sistemas de archivos y comparaciones de rendimiento, por favor refiérase a los siguientes documentos: The Linux Kernel por David A Rusling. http://www.tldp.org/LDP/tlk/tlk-title.html Filesystems HOWTO por Martin Hinner, version 0.7.5, 22 Agosto 2000. http://www.tldp.org/HOWTO/Filesystems-HOWTO.html
104
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
Creando sistemas de archivos
7.6. Creando sistemas de archivos
Para crear un sistema de archivos usamos la orden mkfs, en realidad esta orden es una máscara para los variados programas específicos que crean un sistema de archivos. Un ejemplo de uso es: # mkfs -t ext2 /dev/hdd6 Esta orden crea un sistema de archivos tipo ext2 (opción -t) en la partición /dev/hdd6. mkfs invoca al programa mkfs.ext2 (llamado constructor del sistema de archivos), que puede ser invocado directamente así: # mkfs.ext2 /dev/hdd6 Estos son los programas para sistemas de archivos específicos: Orden
Valor -t
Constructor
Atajo
mkfs
ext2
mkfs.ext2
mke2fs
ext3
mkfs.ext3
mke2fs
jfs
mkfs.fjs
(ninguno)
xfs
mkfs.xfs
(ninguno)
reiserfs
mkfs.reiserfs
mkreiserfs
reiser4
mkfs.reiser4
mkreiser4
cramfs
mkfs.cramfs
(ninguno)
msdos
mkfs.msdos
mkdosfs
vfat
mkfs.vfat
mkdosfs
Nota Para crear sistema de archivos ISO9660 para usar en un CD-ROM, se emplea la orden mkisofs, para escribirlo al CD-ROM (quemar) se usa la orden cdrecord. Revise las respectivas páginas del manual para mayor información.
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
105
Opciones de creación del sistema de archivos
7.6.1. Opciones de creación del sistema de archivos
Crear un sistema de archivos con las opciones predeterminadas es simple y dependiendo del tamaño de la partición (o medio) puede demorar unos minutos. Pero los sistemas de archivos son criaturas complejas y hay muchas opciones que se pueden usar para obtener determinados resultados. Crear un sistema de archivos tipo ext3 puede llevarse a cabo usando alguna de estas formas: – mkfs -t ext3 dispositivo – mkfs.ext3 dispositivo – mkfs -t ext2 -j dispositivo – mke2fs -j dispositivo La opción -j, crea un sistema de archivos ext3 transaccional (journalling). Recordemos que ext3 es una mejora y extensión del sistema de archivos ext2. El siguiente ejemplo crea un sistema de archivos ext3 que va contener mayoritariamente archivos pequeños: mkfs -t ext3 -T news /dev/hdb5 El último ejemplo crea un sistema de archivos ext3 en una partición lógica, con etiqueta /shared/data, tamaño de bloque 2048 bytes, y la opción sparse_super para menos copias del superbloque: mkfs -t ext3 -L /shared/data -b 2048 -O sparse_super /dev/hda10 Los parámetros de creación de un sistema de archivos ext2/ext3 puede verse examinando el contenido del superbloque con la orden dumpe2fs que se aborda en la siguiente sección.
Aviso Crear un sistema de archivos sobre uno ya existente provocará que se pierda toda la información.
106
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
Herramientas de sistemas de archivos
7.7. Herramientas de sistemas de archivos
Los sistemas de archivos han sido diseñados con robustéz en mente, pero se necesita atención y cuidado en algunas ocaciones. Linux proporciona varias herrramientas para: • dumpe2fs: conocer sus características • fsck: revisar la integridad del sistema de archivos • tune2fs: modificar valores que pueden afectar su rendimiento • debugfs: depurar su funcionamiento. Sólo ext2/ext3
Nota Las herramientas dumpe2fs, tune2fs y debugfs sólo funcionan con sistemas de archivos ext2/ext3. Otros sistemas de archivos pueden o no proporcionar herramientas similares.
7.7.1. Información del sistema de archivos
La herramienta dumpe2fs muestra información sobre las características de un sistema de archivos ext2/ext3 al imprimir el contenido del superbloque y de los grupos de bloques.
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
107
Información del sistema de archivos
Por ejemplo, si escribimos la siguiente orden: dumpe2fs -h /dev/hda6 Veremos la información sólo del superbloque (opción -h), que será similar a:
dumpe2fs 1.38 (30-Jun-2005) Filesystem volume name: Last mounted on: Filesystem UUID: b2fdc2c7-cb27-4fb7-8fa9-64ac411af130 Filesystem magic number: 0xEF53 Filesystem revision #: 1 (dynamic) Filesystem features: has_journal resize_inode filetype needs_recovery sparse_s Default mount options: (none) Filesystem state: clean Errors behavior: Continue Filesystem OS type: Linux Inode count: 269312 Block count: 2152676 Reserved block count: 64580 Free blocks: 168973 Free inodes: 269294 First block: 1 Block size: 1024 Fragment size: 1024 Reserved GDT blocks: 256 Blocks per group: 8192 Fragments per group: 8192 Inodes per group: 1024 Inode blocks per group: 128 Filesystem created: Sat Aug 13 09:38:40 2005 Last mount time: Fri Feb 10 15:43:00 2006 Last write time: Fri Feb 10 15:43:00 2006 Mount count: 5 Maximum mount count: 32 Last checked: Wed Feb 8 21:59:14 2006 Check interval: 15552000 (6 months) Next check after: Mon Aug 7 21:59:14 2006 Reserved blocks uid: 0 (user root) Reserved blocks gid: 0 (group root) First inode: 11 Inode size: 128 Journal inode: 8 Default directory hash: tea Directory Hash Seed: a99b1b89-a0f1-4aff-901a-6a867f9327ee Journal backup: inode blocks
108
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
Integridad del sistema de archivos
7.7.2. Integridad del sistema de archivos
Cuando un sistema de archivos tiene errores o está dañado, se puede usar la orden fsck para revisar la integridad e intentar corregir los problemas. Esta orden también es una máscara para los varios revisores (fsck.tipo) Durante el inicio, el sistema corre fsck para revisar si los sistemas de archivos estan marcados como saludables, en caso de no ser así, fsck empieza una revisión completa que puede durar varios minutos dependiendo del tamaño de ese sistema de archivos. Si durante esta revisión encuentra problemas, fsck intentará repararlos automáticamente, si no lo consigue se le solicitará intervención manual.
Nota Durante el arranque fsck decide que sistemas de archivos revisar en base al contenido del archivo /etc/fstab. Mas adelante veremos este archivo con mayor detalle. También se puede invocar directamente a fsck sobre un sistema de archivos que no debe estar montado. Por ejemplo: # umount /dev/hda7 # fsck -t ext3 /dev/hda7 fsck 1.35 (28-Feb-2004) e2fsck 1.35 (28-Feb-2004) /dev/hda6: clean, 11/67360 files, 6325/134536 blocks En este ejemplo el sistema de archivos se encuentra en buen estado (clean). Algunas opciones útiles de fsck son:
Tabla 7.3. Opciones comunes de fsck Opción Descripción -A
Revisa todos los sistemas de archivos indicados en /etc/fstab en una sola corrida.
-a
Repara automáticamente el sistema de archivos sin hacer preguntas ni pedir confirmación. Use con precacución.
-N
No hacer nada, sólo mostrar que va hacer (útil para diagnóstico).
-C
Muestra una barra de progreso
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
109
Integridad del sistema de archivos
Opción Descripción -V
110
Salida verbosa, muestra varios mensajes de lo que está haciendo.
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
Ajuste del sistema de archivos
7.7.3. Ajuste del sistema de archivos
La orden tune2fs se usa para ajustar/cambiar ciertos valores del sistema de archivos ext2/ext3. Los valores que habitualmente se suelen cambiar son: Cuenta máxima de montaje (opción -c)
De modo predeterminado este valor es 23, esto significa que cuando se monta esta cantidad de veces el sistema verifica la integridad (corre fsck) obligatoriamente. Si este valor se pone en -1 o 0, el sistema no realiza esta verificación. Ejemplo: tune2fs -c 0 /dev/hda1
Contador de montaje (opción -C)
Cada vez que se monta el sistema de archivos, este valor se incrementa en 1. Ejemplo: tune2fs -C 23 /dev/hda1
Nombre de volúmen/etiqueta (opción Una etiqueta que puede tener el sistema de archivos, de hasta 15 caracteres como máximo. Cuando se usa se puede montar -L) el sistema de archivos usando su etiqueta como referencia. Ejemplo: tune2fs -L /boot /dev/hda1 Comportamiento de error (opción -e)
Cambia la forma en que el núcleo se comporta cuando encuentra un error en el sistema de archivos. Se pueden usar estos valores: continue
Continúa con la ejecución
remount-ro
Vuelve a montar el sistema de archivos en modo sólo-lectura
panic
Provoca un pánico de núcleo
Ejemplo: tune2fs -e panic /dev/hda1
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
111
Depuración del sistema de archivos
7.7.4. Depuración del sistema de archivos
El programa debugfs es un depurador interactivo de sistemas de archivos ext2. Y puede ser usado para examinar y cambiar el estado del sistema de archivos, por esta misma razón es muy fácil borrar o dañar el sistema de archivos, asi que se debe usar con extrema precaución.
Nota De modo predeterminado debugfs abre el sistema de archivos en modo sólo-lectura para prever posibles daños. Este comportamiento se cambia a modo-escritura si usa la opción -w. Por ejemplo, para usar este programa simplemente tiene que hacer: # debugfs /dev/sda5 Que nos mostrará lo siguiente en pantalla debugfs 1.38 (30-Jun-2005) debugfs: Este es el indicador (prompt) y puede escribir help o simplemente ? para conocer todas las órdenes posibles. Para salir del programa escriba quit
112
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
Montando sistemas de archivos
7.8. Montando sistemas de archivos
Una vez creado el sistema de archivos, para poder utilizarlo debemos montarlo. Montar significa conectar el sistema de archivos a un directorio (punto de montaje) en la estructura de directorios del sistema. La orden mount hace esta tarea y la orden umount hace lo contrario, es decir desconectar el sistema de archivos. La forma simple de uso es: mount [-t tipo] dispositivo directorio Por ejemplo para montar el sistema de archivos que creamos en la anterior sección podemos hacer: mount -t ext3 /dev/hdd6 /extra En este ejemplo estamos conectando el sistema de archivos que está en el dispositivo /dev/hdd6 al directorio /extra. Podíamos haber omitido la opción -t ext3 ya que mount intenta detectar el tipo del sistema de archivos que va a montar. Para desmontar un sistema de archivos usamos la orden umount, cuya forma general es: umount dispositivo|directorio Por ejemplo para demontar el sistema de archivos que montamos anteriormente basta con escribir: umount /dev/hdd6 o también: umount /extra
Nota La operación de montar/desmontar está reservada al usuario root. Para que los usuarios puedan montar/desmontar sistema de archivos se requiere configurar el archivo /etc/fstab. Si se usa la orden mount sin argumentos, se muestran todos los sistemas de archivos montados por el sistema operativo. Por ejemplo:
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
113
El archivo /etc/fstab
$ mount /dev/hda2 on / type ext3 (rw,errors=remount-ro) proc on /proc type proc (rw) sysfs on /sys type sysfs (rw) devpts on /dev/pts type devpts (rw,gid=5,mode=620) tmpfs on /dev/shm type tmpfs (rw) usbfs on /proc/bus/usb type usbfs (rw) tmpfs on /lib/modules/2.6.12-9-386/volatile type tmpfs (rw,mode=0755) /dev/hda1 on /boot type ext3 (rw) /dev/hda6 on /home type ext3 (rw) /dev/hda7 on /usr type ext3 (rw) /dev/hda8 on /var type ext3 (rw) tmpfs on /dev type tmpfs (rw,size=10M,mode=0755) En este resultado cada línea corresponde a un sistema de archivos montado, que muestra la siguiente información por columnas: 1. /dev/hda2: Dispositivo físico 2. on /: Punto de montaje (directorio) 3. type ext3: Tipo de sistema de archivos 4. (rw,errors=remount-ro): Opciones específicas para ese sistema de archivos. Podemos observar que no todos los sistemas de archivos montados corresponden a dispositivos físicos. En efecto Linux gestiona muchas partes del sistema operativo como sistema de archivos. Por ejemplo usbfs (usb filesystem) para USB.
7.8.1. El archivo /etc/fstab
Este archivo se usa para configurar los sistemas de archivos que van a estar disponibles para los usuarios (y el sistema) y cuales se van a montar automáticamente durante el arranque. Aquí está un ejemplo del archivo /etc/fstab: none none /dev/hda2 /dev/hda1 /dev/hda6
114
/proc /dev/shm / /boot /home
proc tmpfs ext3 ext3 ext3
defaults 0 0 defaults 0 0 defaults,errors=remount-ro defaults 0 2 defaults 0 2
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
0
1
El archivo /etc/fstab
/dev/hda7 /dev/hda8 /dev/hda5 /dev/cdrom /dev/fd0
/usr /var none /media/cdrom /media/floppy
ext3 defaults ext3 defaults swap sw udf,iso9660 ro,user,noauto auto rw,user,noauto
0 0 0 0 0
2 2 0 0 0
Las columnas tienen la siguiente interpretación (de izquierda a derecha): 1. Dispositivo —Donde reside el sistema de archivos, puede ser también una etiqueta. 2. Punto de montaje —Ruta del directorio donde se monta. 3. Tipo de sistema de archivos —Debe ser un sistema de archivos válido. 4. Opciones —Se separan por comas sin espacios. La opción defaults es equivalente a rw, suid, dev, exec, auto, nouser, y async. 5. dump —Si el valor es 0 (cero) la orden dump no tiene efecto para este sistema de archivos; el valor 1 (uno) indica lo contrario. 6. fsck —Define el orden en que se revisa el sistema de archivos durante el arranque. Si está en 0 (cero) fsck ignora ese sistema de archivos. Dos entradas en este ejemplo son particularmente útiles para los usuarios: /dev/cdrom /dev/fd0
/media/cdrom /media/floppy
udf,iso9660 ro,user,noauto auto rw,user,noauto
0 0
0 0
Estas entradas hacen posible que un usuario regular pueda montar sistemas de archivos en CD-ROM o disquetes por que se incluye la opción user. La opción noauto indica lógicamente que estos sistemas de archivos no se montan automáticamente durante el arranque. Las versiones recientes de mount, aceptan una forma lógica de indicar el dispositivo que se quiere montar, mediante el uso de etiquetas. La primera columna debe ser así: LABEL=/boot
/boot
ext3
defaults
0
2
La orden e2label muestra o asigna la etiqueta a un sistema de archivos ext2/ext3. La etiqueta también se puede asignar al momento de crear el sistema de archivos. Veamos unos ejemplos • e2label /dev/hda1: Muestra la etiqueta. • e2label /dev/hda5 /usr: Asigna la etiqueta "/usr" al sistema de archivos en /dev/hda5. • mkfs -t ext3 -L /usr /dev/hda5: Asigna la etiqueta al momento de crear el sistema de archivos.
Nota Durante el inicio del sistema, se ejecuta la orden mount -a, esta opción le indica que debe montar todos los sistemas de archivos que llevan la opción auto en /etc/fstab.
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
115
Uso de espacio
7.9. Uso de espacio
Hay dos órdenes para obtener información del espacio utilizado en un sistema de archivos. Es importante saber cuando usar una u otra por que cada una funciona de manera diferente y entrega también información diferente. La primera es la orden df (disk free) que muestra información sobre el uso de espacio en todos los sistemas de archivos montados. Como vemos en este ejemplo (la opción -h hace más legible el resultado): $ df -h Filesystem /dev/hda2 tmpfs tmpfs /dev/hda1 /dev/hda6 /dev/hda7 /dev/hda8
Size 2.3G 110M 110M 96M 2.5G 3.0G 2.3G
Used Avail Use% Mounted on 215M 2.0G 10% / 0 110M 0% /dev/shm 13M 98M 12% /lib/modules/2.6.12-9-386/volatile 12M 80M 13% /boot 2.1G 329M 87% /home 1.6G 1.3G 55% /usr 285M 1.9G 13% /var
Otra opción útil es -i que muestra la cantidad de i-nodos libres y ocupados. Por ejemplo: $ df -i Filesystem /dev/hdb9 tmpfs tmpfs /dev/hda1 /dev/hda6 /dev/hda7 /dev/hda8
Inodes 306432 28059 28059 52208 327680 393216 302784
IUsed 12667 1 17 31 25008 65319 11101
IFree IUse% Mounted on 293765 5% / 28058 1% /dev/shm 28042 1% /lib/modules/2.6.12-9-386/volati 52177 1% /boot 302672 8% /home 327897 17% /usr 291683 4% /var
La otra orden para ver el consumo de espacio es du (disk usage) que a diferencia de la anterior puede usarse con archivos o directorios particulares. Por ejemplo: $ du -sh /usr 1.5G /usr En este ejemplo estamos averiguando la cantidad de espacio usado en /usr/ y pedimos mostrar un resumen (-s, sólo el total) en formato legible para humanos (-h).
116
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
Uso de espacio
De modo predeterminado du muestra el espacio ocupado archivo por archivo y recursivamente, por ejemplo: $ du -h . 8.0K ./.gconf/desktop/gnome/accessibility/keyboard 12K ./.gconf/desktop/gnome/accessibility 8.0K ./.gconf/desktop/gnome/interface 8.0K ./.gconf/desktop/gnome/background 32K ./.gconf/desktop/gnome 36K ./.gconf/desktop 8.0K ./.gconf/apps/panel/applets/clock_screen0/prefs 16K ./.gconf/apps/panel/applets/clock_screen0 8.0K ./.gconf/apps/panel/applets/trashapplet_screen0 ... ... el resto ha sido truncado Otro ejemplo que muestra un total final (opción -c): # du -shc /home/sofia /home/hardy 15M /home/sofia 134M /home/hardy 149M total
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
117
Cuotas de disco
7.10. Cuotas de disco
Todo administrador de sistemas se encuentra en algún momento con que su sistema de archivos está lleno, lo que sigue usualmente a esto es un funcionamiento incorrecto del sistema o inclusive una caída. Existe una característica del sistema llamada cuota de disco, que permite poner límites al uso de disco en base a usuario/grupo por sistema de archivos. El mecanismo de cuotas de disco emplea las siguientes opciones, archivos y órdenes: • usrquota: Permite el uso de cuotas en base a usuario. Esta opción se usa en /etc/fstab. • grpquota: Permite el uso de cuotas en base a grupo. Esta opción se usa en /etc/fstab. • aquota.user: Archivo binario que contiene información sobre cuotas de usuario. • aquota.group: Archivo binario que contiene información sobre cuotas de grupo. • quotaon: Activa el funcionamiento de cuotas. • quotaoff: Desactiva el funcionamiento de cuotas. • quotacheck: Revisa el consumo de cuotas y actualiza los archivos aquota.*. • edquota: Permite editar la cuota de disco asignada a un usuario/grupo. • quota: Utilizado por los usuarios para ver su asignación (límetes/espacio) de cuotas de disco.
Nota Para poder utilizar cuotas de disco, necesitamos tener instalado el paquete quota.
118
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
Términos de cuotas de disco
7.10.1. Términos de cuotas de disco
Los siguientes términos se emplean al trabajar con cuaotas de disco: Límite flexible (soft limit)
El límite impuesto puede ser excedido y el usuario recibe alertas hasta que el periodo de gracia se respete.
Límite estricto (hard limit)
Es un límite que no puede ser excedido y usualmente se pone a un valor más alto que el límite flexible.
Periodo de gracia (grace period)
El límite flexible puede ser excedido hasta el límite estricto mientras el periodo de gracia se respete.
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
119
Configurando cuotas de disco
7.10.2. Configurando cuotas de disco
Las cuotas de disco se configuran por sistema de archivos (partición). Usualmente se aplica cuotas sobre sistemas de archivos que son usados por los usuarios para almacenar datos. Vamos a ver un ejemplo de configuración de cuotas de disco sobre un sistema de archivos (/dev/hdb7) montado en /datos/.
Aviso Mientras se configura cuotas de disco ningún usuario debería utilizar el sistema de archivos en cuestión. Probablemente usted querrá configurar esto en modo mantenimiento (mono usuario). 1.
Editar el archivo /etc/fstab y añadir las opciones usrquota y grpquota para habilitar cuotas por usuario y grupo:
/dev/hdb7 2.
/datos
ext3
defaults,usrquota,grpquota
0
2
Sin desmontar, volver a montar el sistema de archivos para que las opciones añadidas tengan efecto: # mount -o remount /datos
3.
Revisar que las opciones añadidas tienen efecto: # mount | grep datos /dev/hdb7 on /datos type ext3 (rw,usrquota,grpquota)
4.
Crear los archivos aquota.user y aquota.group en la raíz del sistema de archivos /dev/hdb7 y colocar los permisos apropiados: touch /datos/aquota.user touch /datos/aquota.group chmod 0660 /datos/aquota.*
5.
120
Ahora, actualizar los archivos aquota.* con la siguiente orden:
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
Configurando cuotas de disco
# quotacheck -vug /datos/ quotacheck: WARNING - Quotafile /datos/aquota.user was probably truncate quotacheck: WARNING - Quotafile /datos/aquota.group was probably truncat quotacheck: Scanning /dev/hdb7 [/datos] done quotacheck: Checked 7 directories and 4 files
Nota Los mensajes de alerta se pueden ignorar tranquilamente por que los archivos de cuotas todavía no tienen información (están con cero bytes). 6.
Ahora active el uso de cuotas para el sistema de archivos montado en /datos/ # quotaon -v /datos/ /dev/hdb7 [/datos]: group quotas turned on /dev/hdb7 [/datos]: user quotas turned on
7.
Crear una cuenta de usuario para probar la asignación de cuotas: # adduser cuotatest # usermod -G users cuotatest
8.
Editar los valores de cuota para este usuario con la siguiente orden: # edquota -u cuotatest Inmediatamente nos encontraremos en vi y podremos editar la información de cuotas mostrada para este usuario, que será similar a: Disk quotas for user cuotatest (uid 500): Filesystem blocks soft /dev/hdb7 0 0
9.
hard 0
inodes 0
soft 0
h
inodes 0
soft 0
h
Asignar valores de cuotas para el usuario, modificando el anterior archivo así: Disk quotas for user cuotatest (uid 500): Filesystem blocks soft /dev/hdb7 0 5000
hard 6000
Nota En este ejemplo estamos asignando cuotas por bloques y dejado los i-nodos intactos.
10. Guarde el archivo y salga (:wq), el sistema cuotas reconocerá los cambios adecuadamente. Una vez que las cuotas han sido configuradas, puede usar la cuenta cuotatest para crear archivos y empezar a consumir espacio a modo de prueba. Si desea revisar el estado de cuotas del usuario debe usar la siguiente orden: # quota cuotatest Disk quotas for user cuotatest (uid 500): Filesystem blocks quota limit grace /dev/hdb7 0 5000 6000
files 1
quota 0
limit 0
Observe que en nuestro ejemplo se reporta 1 archivo
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
121
gra
Configurando cuotas de disco
Cualquier usuario regular puede consultar su cuota de disco usando la orden quota sin ningún argumento adicional. Para ver un reporte del estado de cuotas para todos los usuarios y grupos en un sistema de archivos puede usar la orden repquota. Por ejemplo para ver el estado de cuotas de todos los usuarios en el sistema de archivos /datos podemos hacer: repquota -u /datos
Sugerencia Para asegurarse que el sistema de cuotas está activo y funcionando en el sistema, se debe correr la orden quotaon durante el arranque del sistema. Para hacer seguimiento del consumo de cuotas la orden quotacheck debe correrse diaramente, usualmente se lo hace a media noche mediante una tarea cron.. Los sistemas Red Hat ya vienen preparados para realizar ambas tareas.
122
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
Fijando el periodo de gracia
7.10.3. Fijando el periodo de gracia
Para fijar el periodo de gracia se usa la orden edquota -t, que permite valores expresados en días, horas, minutos o segundos (days, hours, minutes ó seconds). Por ejemplo si queremos establecer un periodo de gracia de 7 días antes de que se aplique el límite flexible debemos escribir: # edquota -t Que nos mostrará una pantalla de edición, donde debemos hacer algo así: Filesystem /dev/hdb7
Block grace period 7days
Inode grace period 7days
Nota De modo predeterminado esta pantalla de edición corresponde al editor Vi.
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
123
124
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
8. El sistema X-Window X-Window es el sistema gráfico de ventanas disponible en toda la familia UNIX, está construido sobre el modelo cliente/servidor y el Proyecto XFree86 se encargó de portar este sistema a la familia x86 con una licencia que permitió su implementación en Linux. En algún momento, entre finales del 2003 e inicios del 2004, hubieron intentos de algunos líderes del Proyecto XFree86 de aplicar algunas restricciones a la licencia existente, para ser aplicadas al próximo lanzamiento de la versión XFree86 4.4.0. Dado que no todos (programadores, distribuidores, vendedores de hardware) estaban de acuerdo con este cambio en la licencia, se separaron del proyecto y se unieron en uno nuevo denominado «Fundación X.org». En la práctica, al momento de escribir esto (Mayo, 2006) las implementaciones del sistema X-Window de ambos proyectos ofrecen las mismas funcionalidades y tienen diferencias mínimas. Sim embargo para el futuro hay que mencionar que la mayoría de distribuciones Linux incluyen la implementación X (así se abrevia) de la Fundación Xorg.
8.1. Objetivos
Al concluir esta sección usted será capaz de: • Instalar y configurar el sistema X-Window • Instalar y configurar un servidor de fuentes-X (X font server) • Preparar y personalizar un gestor de pantalla (xdm, gdm, kdm) • Instalar y configurar un manejador de ventanas de modo global • Instalar y configurar un entorno de escritorio de modo global
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
125
Descripción breve de X-Window
8.2. Descripción breve de X-Window
X es independiente del sistema operativo, y está basado en un modelo cliente/servidor pero con un ligero cambio, cada sistema corre un servidor X que gestiona y proporciona servicios para acceder a la pantalla, el teclado y el ratón. Los clientes X son aplicaciones que interactúan con el usuario y solicitan al servidor que realize una acción (dibujar una línea, rellenar un área con un color, proporcionar las coordenadas del ratón, etc.). Mientras el servidor se ejecuta de manera local, los clientes X pueden ejecutarse local o remotamente desde otras máquinas, proporcionando así el concepto de transparencia de red.
8.2.1. Manejador de ventanas
En X, el manejador de ventanas es un programa que controla la ubicación y el aspecto de las ventanas, básicamente proporciona controles para minimizar, maximizar y manejar el despliegue (ej. scrollbars). A diferencia de las plataformas Apple Macintosh y Microsoft Windows, que proporcionan un sistema único y fijo de manejar y controlar ventanas, en X el usuario puede elegir entre varios manejadores de ventana, que se pueden ver-y-comportar (look-and-feel) de diferentes maneras.
126
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
Manejador de ventanas
El manejador más simple de todos es Tab Window Manager o twm que está presente en algunas distribuciones (/usr/X11R6/bin/twm), pero hay otros manejadores con mayores prestaciones y que además están orientados a un entorno particular de escritorio. • Afterstep • Blackbox • Enlightenment • Fluxbox • FVWM/FVWM2 (derivado de twm) • IceWM • Kwin (originalmente Kwm, predeterminado de KDE) • Metacity (predeterminado de GNOME desde la versión 2.2) • SawFish (originalmente Sawmill) • Window Maker • Xfwm (predeterminado de XFCE)
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
127
Entornos de Escritorio
8.2.2. Entornos de Escritorio
Otro concepto importante en el sistema X son los entornos de escritorio, que son espacios de trabajo integrados que ofrecen entre otros: • Manejador de ventanas • Aspecto e interacción uniforme (look and feel) • Barra de tareas • Menú de aplicaciones • Habilidades como arrastrar-y-soltar (drag and drop) Uno de los primeros entornos de escritorio en Linux fue KDE (http://www.kde.org) y posteriormente apareció GNOME (http://www.gnome.org). Ambos son muy similares y el usuario notará que sus diferencias son más visuales y estéticas. Si bien KDE y GNOME son los entornos de escritorio más populares, también exiten otros como XFCE (http://www.xfce.org). Se pueden prescindir de los entornos de escritorio y trabajar únicamente con un manejador de ventanas, algunos ofrecen ciertos elementos de un entorno de escritorio como Window Maker y Enlightenment.
Nota Por el año 2004, Red Hat preocupado por esas diferencias visuales y estéticas que mareaban a los novatos en Linux, trabajó en uniformar KDE y GNOME. Es así que, en las versiones Linux de Red Hat a simple vista no se pueden distinguir cual es cual ya que ambos entornos tienen la misma apariencia.
128
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
Instalando X
8.3. Instalando X
X puede ser instalado de dos maneras, en el momento de la instalación del sistema o manualmente en un sistema ya instalado añadiendo los paquetes necesarios (como cualquier otra aplicación). Sin embargo las muchas piezas de X lo hacen como un rompecabezas (peor aún con KDE y/o GNOME) y la tarea no resulta sencilla. No es recomendable que siga la segunda forma al menos que usted tenga mucha paciencia y le gusten los retos. La manera más sencilla de instalar X desde paquetes, es emplear una herramienta automática para la instalación que se haga cargo del «rompecabezas de dependencias». En el caso de distribuciones con RPM puede emplear la herramienta yum. Por ejemplo, en el caso de CentOS que ya trae yum, la instalación de XFree86 se hace con la siguiente orden: yum install XFree86 Si tiene una distribución Debian o basada en ésta, la instalación es tan sencilla como hacer: apt-get update apt-get install x-window-system Si su distribución Linux usa el servidor X de Xorg, el proceso es similiar con la excepción de que debe usar los nombres apropiados. Para un sistema que usa RPM y tiene instalado yum: yum install xorg-x11 Para un sistema que usa paquetes Debian: apt-get update apt-get install xserver-xorg
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
129
Ubicación de los archivos de X
8.3.1. Ubicación de los archivos de X
El sistema X-Window (XFree86 o Xorg) y sus componentes base residen principalmente en dos ubicaciones en el sistema de archivos:
130
/usr/X11R6
Este directorio contiene clientes X binarios (directorio bin/), archivos de cabecera (directorio include), bibliotecas (directorio lib/), páginas del manual (directorio man/), y otros archivos adicionales de X (directorio share/).
/etc/X11
Este directorio contiene una jerarquía con todos los archivos de configuración para los varios componentes que forman parte de X. Por mecionar algunos el servidor X mismo, el servidor de fuentes X (xfs), xdm/kdm/gdm, y varias otras herramientas de X.
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
Configuración de X
8.4. Configuración de X
El servidor X es un solo ejecutable que carga dinámicamente cualquier módulo necesario del servidor de X en tiempo de ejecución, del directorio /usr/X11R6/lib/modules/. Algunos de estos módulos son cargados automáticamente por el servidor, mientras que otros son opcionales y se deben especificar en el archivo de configuración del servidor X. En la siguiente tabla se muestra el nombre del ejecutable y el archivo de configuración que corresponde. Servidor X
Ejecutable
Archivo de configuración
XFree86
/usr/X11R6/bin/XFree86
/etc/X11/XF86Config
Xorg
/usr/X11R6/bin/Xorg
/etc/X11/xorg.conf
Aviso En algunas distribuciones el archivo de configuración /etc/X11/XF86Config corresponde a la versión 3 de XFree86 y para distinguirlo de la versión 4 este archivo suele denominarse /etc/X11/XF86Config-4. Cuando la instalación de X ha sido realizada durante la instalación del sistema, el archivo de configuración contiene los parámetros de hardware que fueron detectados en el momento de la instalación.
Versiones de X Durante el examen se cubre las versiones XFree86 4.x y Xorg 6.8.x (formalmente X11R6.8). Para mas detalles de la historia de versiones revise los sitios web de cada uno de los proyectos. Para averiguar la versión que usted está corriendo basta con escribir la orden X -version.
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
131
Iniciando X
8.5. Iniciando X
Usualmente, para iniciar una sesión X se usa la orden startx. startx es un guión (script) que actúa de interfaz más amigable para la orden xinit. xinit es un programa que inicia el servidor X y ejecuta el primer cliente X. Cuando el primer cliente termina, xinit mata el servidor X y luego termina. Iniciar una sesión X implica varios pasos, cada uno de los cuales involucra leer y/o ejecutar una cadena de archivos. No todas las distribuciones siguen la misma cadena, pero el procedimiento general es este: 1.
El usuario ejecuta la orden startx.
2.
startx invoca a xinit.
3.
xinit ejecuta el servidor X (/usr/X11R6/bin/X).
4.
xinit busca y ejecuta el archivo ~/.xinitrc, si no está presente usa el archivo /etc/X11/xinit/xinitrc. Sólo se ejecuta el primero que se encuentra.
5.
~/.xinitrc o xinitrc inicializa el entorno X, ejecutando alguno de los siguientes archivos que encuentre primero: – ~/.Xsession o /etc/X11/Xsession. – ~/.Xclients o /etc/X11/xinit/Xclients.
132
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
Personalizar X
8.6. Personalizar X
X ofrece una amplia oportunidad para modificarlo y ajustarlo a nuestros requisitos particulares, por medio de una variedad de archivos: ~/.xinitrc
Es un guión que le permite al usuario personalizar su entorno X. El archivo global es /etc/X11/xinit/xinitrc.
~/.Xsession
Es un guión que se ejecuta al momento de iniciar una sesión X. Típicamente desde aquí se lanza un entorno de escritorio o un manejador de ventanas y otras aplicaciones X que quiera arrancar al ingresar en una sesión X. El archivo global es /etc/X11/Xsession.
~/.Xclients
Es un guión que trata de iniciar un entorno de escritorio o un manejador de ventanas, si falla, ejecuta twm. Se ve que sólo se usa en sistemas Red Hat. El archivo global es /etc/X11/xinit/Xclients.
~/.Xresources
Es un archivo de texto, que contiene varios recursos para los clientes X. Normalmente este archivo es leido por el manejador de ventanas cuando se inicia por primera vez. El archivo global es /etc/X11/Xresources.
~/.Xdefaults
Prácticamente tiene el mismo uso que el archivo anterior, pero se usa durante las sesiones por el manejador de ventanas.
Nota Durante el examen no se preguntan mayores detalles sobre estos archivos. Lo que usted necesita saber es, cual es el archivo correcto para la tarea correcta. Recursos X X mantiene muchos parámetros, que describen atributos o un grupo de atributos de la configuración de X. A estos parámetros X los denomina recursos. Los recursos más comunes son los que tienen que ver con el aspecto de los clientes X, por ejemplo el color del borde, el tipo de letra, el color de la ventana, el tamaño de la ventana, etc.
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
133
Personalizar X
Recursos X Como ya se indicó los recursos se indican en los archivos .Xresources o .Xdefaults (o sus versiones globales), y se indican uno por cada línea siguiendo el formato: programa*recurso: valor. El siguiente es un ejemplo de un archivo ~/.Xresources:
134
XTerm*Background: XTerm*Foreground: XTerm*font: XTerm*geometry:
white black 9x15 +50+100
xclock*Background: xclock*Foreground:
linen black
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
El gestor de pantalla xdm
8.7. El gestor de pantalla xdm
El gestor de pantalla predeterminado de X es el programa xdm (X Display Manager), pero también hay gestores específicos de los entornos de escritorio: gdm para GNOME y kdm para KDE. (Usaremos el término xdm para referirnos a todos ellos). Estos programas proporcionan los servicios para el ingreso e inicio de sesión en un servidor X, de manera similar a lo que ocurre en modo texto. Cuando la sesión termina, xdm reajusta el servidor X y (opcionalmente) lo reinicia.
Nota En X una sesión es definida por el tiempo de vida de un proceso particular, que es un programa arbitrario como un gestor de sesión, un manejador de ventanas o un emulador de terminal. Cuando la sesión termina significa que éste proceso a terminado. En modo texto (terminal de caracteres) la sesión no es un programa arbitrario, es mas bien el intérprete de órdenes interactivo del usuario (user's login shell). Típicamente xdm se configura para ser lanzado durante el inicio del sistema, empleando una entrada específica en el archivo /etc/inittab, que en sistemas Red Hat se ve así: # Run xdm in runlevel 5 x:5:respawn:/etc/X11/prefdm -nodaemon Donde /etc/X11/prefdm es un guión que busca el gestor de pantalla preferido: gdm o kdm para hacerlo correr y si no encuentra ninguno de ellos lanza el gestor predeterminado xdm. Para que esta entrada tenga realmente el efecto de iniciar xdm durante el arranque del sistema, el nivel predeterminado de ejecución debe ser puesto a 5, empleando la siguiente entrada en el archivo /etc/inittab: id:5:initdefault: En otras distribuciones xdm se levanta desde uno de los guiones que se corren durante el inicio del sistema. Si se requiere personalizar la configuración, estos son los archivos de configuración: xdm: /etc/X11/xdm/xdm-config. gdm: /etc/X11/gdm/gdm.conf. xdm: /etc/X11/kdm/kdm.conf.
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
135
Clientes remotos
8.8. Clientes remotos
Como mencionamos, X es capáz de mostrar en pantalla aplicaciones X (clientes X) que corren remotamente. Esto permitiría por ejemplo tener un equipo de alta capacidad que ejecute las aplicaciones y varios clientes livianos conectados, que en el mundo X se los denomina terminales X. Para hacer esto necesitamos saber que todas las aplicaciones X necesitan conocer dos datos para correr satisfactoriamente: 1. La pantalla del servidor X que va a usar 2. Permiso para conectarse a ese servidor X El primer requisito se indica mediante la variable de entorno DISPLAY, que tiene el formato :despliegue.pantalla. Por ejemplo: export DISPLAY=:0.0 Hace referencia a un servidor X local, el primer despliegue (display) y la primera pantalla (screen), ambos se numeran desde 0 (cero). export DISPLAY=alguna.terminal.com:0.0 Este ejemplo, indica que se trata del servidor X remoto alguna.terminal.com, el primer despliegue y la primera pantalla.
Nota Puede también usar una dirección IP en lugar del nombre del sistema (hostname), por ejemplo DISPLAY=192.168.10.20:0.0. El permiso de conexión al servidor X se controla con la orden xhost. Cuando se corre sin argumentos muestra el estado del control de acceso: access control enabled, only authorized clients can connect Para permitir que se conecte un cliente, por ejemplo host1, tenemos que usar la siguiente orden: xhost +host1 host1 being added to access control list
136
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
Clientes remotos
Es posible también permitir que cualquiera se conecte, si a usted no le conciernen problemas de seguridad; así: xhost + access control disabled, clients can connect from any host Ahora que está todo abierto, usted podría impedir que un sistema se conecte, por ejemplo host3: xhost -host3 host3 being removed from access control list
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
137
138
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
Indice General Símbolos & orden, 73
A actualizar paquetes rpm, 64 adduser, 34 aquota.group, 120 aquota.user, 120 archivo /etc/group, 48 (ver también vigr) /etc/gshadow, 48 (ver también vigr) /etc/passwd, 47 (ver también vipw) /etc/shadow, 47 (ver también vipw) archivos paquete, 56 sistema de, 93 sistemas de, 100 tipos de sistema de, 103 arranque personalizar, 88
B bg orden, 73
D de ventanas manejador, 126 debugfs orden, 112 df orden, 116 disco cuotas de, 118 dispositivos de, 95 instalar nuevo, 94 du orden, 116 dumpe2fs orden, 107
E edquota, 120 eliminar paquetes, 65 escritorio entorno de, 128 ext2 sistema de archivos, 103 ext3 sistema de archivos, 103
F fdisk orden, 98 fg orden, 73 fsck orden, 109
G
C cdrecord orden, 105 cfdisk orden, 99 chkconfig, 88 consola, 87 constructor del sistema de archivos, 105 consultar paquetes, 66 cramfs sistema de archivos, 103 crear sistema de archivos, 105 cuenta de usuario crear, 34 datos de una, 36 eliminar, 44 entorno, 37 modificar, 41
GID identificador de grupo, 32 GNOME, 128 groupadd, 40 groupdel, 45 groupmod, 43 grpquota, 120 grupos de usuario, 40 eliminar, 45 modificar (ver groupmod)
H herramientas sistema de archivos, 107
I i-nodo, 101 init, 84 initdefault, 84
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
139
Instalación RHEL 6, 1 integridad de archivos /etc/group, 50 (ver también grpck) /etc/gshadow, 50 (ver también grpck) /etc/passwd, 50 (ver también pwck) /etc/shadow, 50 (ver también pwck) iso9660 sistema de archivos, 103
primer plano trabajos en, 72 proceso estado de un, 76 procesos gestión de, 71 manejo de, 75 prioridad de, 79 ps orden, 75 pstree orden, 76
J
Q
JFS sistema de archivos, 103 jobs orden, 73
quota, 120 quotacheck, 120 quotaon, 120
R
K KDE, 128 kill orden, 77 killall orden, 77
M mantener al día paquetes rpm, 64 mkfs orden, 105 mkisofs orden, 105 mount orden, 113 msdos sistema de archivos, 103
N newusers, 34 NFS sistema de archivos, 103 nice orden, 79
P paquetes administración, 55 dependencia entre, 62 RPM, DPKG, 56 partición identificador de una, 96 particiones creando, 98 número de, 97
140
rc, 86 Redes TCP/IP en Linux, 19 refrescar, actualizar paquetes, 64 Reiser sistema de archivos, 103 remount, 120 renice orden, 79 repquota, 120 root convertirse en, 33 cuenta de usuario, 31 runlevel, 84
S segundo plano trabajos en, 72 señales a procesos envío de, 77 service, 88 sfdisk orden, 99 shadow suite, 46 sistema arranque del, 81 sistema de archivos uso de espacio en el, 116 sistema de ventanas X, 126 sitemas de archivos montar, 113 SMB sistema de archivos, 103 stat orden, 101 sudo, 33 superbloque, 100
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
T telinit, 84 top orden, 76 trabajos control, 72 tune2fs orden, 111
U udf sistema de archivos, 103 UID identificador de usuario, 32 useradd, 34 opciones, 38 userdel, 44 usermod, 41 usrquota, 120 usuarios administración, 29, 30
V verificar paquetes, 69 vfat sistema de archivos, 103, 103 vigr, 49 vipw, 49
X X, 126 configuración de, 131 entornos de escritorio, 128 inciando el servidor, 132 instalación, 129 personalizar, 133 recursos, 133 X-Window, 125 XFree86 (ver X) XFS sistema de archivos, 103 Xorg (ver X)
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/
141
142
2011 © Soltux S.R.L. • http://www.soltux.com
XML to PDF by RenderX XEP XSL-FO Formatter, visit us at http://www.renderx.com/