Red Hat Enterprise Linux 6 RH135

386
Administración de sistemas Red Hat II Libro de trabajo del estudiante Red Hat Enterprise Linux 6 Versión es-2-20110131

Transcript of Red Hat Enterprise Linux 6 RH135

Administración de sistemas Red Hat IILibro de trabajo del estudianteRed Hat Enterprise Linux 6Versión es-2-20110131

ADMINISTRACIÓNDE SISTEMAS

RED HAT II

RH135

Red Hat Enterprise Linux 6 RH135Administración de sistemas Red Hat IIEdición 2

Autor Joshua HoffmanAutor Bowe StricklandAutor Brad SmithAutor Robert LockeAutor George HackerEditor Steven BonnevilleEditor Mark Howson

Copyright © 2010 Red Hat, Inc.

The contents of this course and all its modules and related materials, including handouts toaudience members, are Copyright © 2010 Red Hat, Inc.

No part of this publication may be stored in a retrieval system, transmitted or reproduced inany way, including, but not limited to, photocopy, photograph, magnetic, electronic or otherrecord, without the prior written permission of Red Hat, Inc.

This instructional program, including all material provided herein, is supplied without anyguarantees from Red Hat, Inc. Red Hat, Inc. assumes no liability for damages or legal actionarising from the use or misuse of contents or details contained herein.

If you believe Red Hat training materials are being used, copied, or otherwise improperlydistributed please e-mail [email protected] or phone toll-free (USA) +1 (866) 626-2994or +1 (919) 754-3700.

Red Hat, Red Hat Enterprise Linux, the Shadowman logo, JBoss, Hibernate, Fedora, theInfinity Logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States andother countries.

Linux® is the registered trademark of Linus Torvalds in the United States and othercountries.

Java® is a registered trademark of Oracle and/or its affiliates.

XFS® is a registered trademark of Silicon Graphics International Corp. or its subsidiaries inthe United States and/or other countries.

All other trademarks are the property of their respective owners.

Colaboradores: Brian Butler, Victor Costea y Andrew Dingman

RH135-6-es-2-20110131 iii

Convenciones del documento                                                                                                                                                                                   viiNotas y advertencias ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii

Introducción                                                                                                                                                                                                                                     ixBienvenido a clase. .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ixAcerca de Red Hat Enterprise Linux ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ixSoftware adicional de Red Hat Enterprise Linux ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xContacto con la Asistencia técnica de Red Hat ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xii

Acerca de este curso                                                                                                                                                                                                         xvAdministración de sistemas Red Hat II . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvEstructura del curso ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvOrientación sobre la red del salón de clases ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvi

Internacionalización                                                                                                                                                                                                           xixSoporte de idioma ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xixIdioma predeterminado de todo el sistema ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xixSelección de idioma por usuario ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xixMétodos de entrada ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxReferencia de códigos de idioma ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xx

1. Instalación automatizada de Red Hat Enterprise Linux                                                                                                         1Generalidades de introducción ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2Crear un archivo kickstart con system-config-kickstart .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3Poner el archivo kickstart a disposición de los instaladores ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5Crear medios de arranque ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8Apuntar el instalador al archivo kickstart .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9Modificar un archivo kickstart .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12Prueba de criterios ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

2. Acceso a la línea de comando                                                                                                                                                                         19Acceso a la línea de comando a nivel local .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20Acceso a la línea de comando mediante ssh ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24Prueba de criterios ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

3. Herramientas intermedias de la línea de comando                                                                                                               31Uso de enlaces físicos ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32Archivadores y compresión ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37Introducción a VIM ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40Flujo de trabajo básico de VIM ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42Prueba de criterios ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

4. Expresiones regulares, canalizaciones y redirección de entrada/salida (I/O)                                       47Expresiones regulares básicas ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48Uso de grep ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54Canalizaciones y redirección ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56Prueba de criterios ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

5. Configuración de red y solución de problemas                                                                                                                       63Comprensión de los archivos de configuración de red ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64Proceso de solución de problemas básico ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70Kit de herramientas para la solución de problemas de red ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72Prueba de criterios ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

6. Administración de particiones simples y sistemas de archivos                                                                         79

RH135

iv RH135-6-es-2-20110131

Particiones simples y sistemas de archivos .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80Habilitación de la privacidad de datos con encriptación de particiones ... . . . . . . . . . . . . . . . . . . . . . . 85Administración de espacio de intercambio ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89Prueba de criterios ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

7. Administración de almacenamiento flexible con el administrador de volúmenes lógicos                                                                                                                                                                                                                                                                        95

Reconocer los componentes del LVM .... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96Implementar el almacenamiento de LVM con herramientas de la línea de comando ... . . . . 100Extender un volumen lógico y su sistema de archivos Ext4 ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103Extensión y reducción de un grupo de volúmenes ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107Crear una instantánea para facilitar la copia de seguridad de datos ... . . . . . . . . . . . . . . . . . . . . . . . . . . 110Prueba de criterios ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113

8. Acceso a los servicios para intercambio de archivos de red                                                                                 117Montar sistemas de archivos de red ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118Montar automáticamente un almacenamiento de red ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123Prueba de criterios ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127

9. Administración de las cuentas de usuario                                                                                                                                     131¿Qué es un usuario? ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132Administración de usuarios locales ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134Administración de contraseñas .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138Prueba de criterios ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141

10. Cuentas de usuarios de red con LDAP                                                                                                                                           145Autenticación de red mediante el uso de un servidor LDAP ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146Montaje en red de directorios hogar ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150Prueba de criterios ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153

11. Control de acceso a los archivos                                                                                                                                                           157Administración de grupos .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158Administración de las listas de control de acceso al sistema de archivos .. . . . . . . . . . . . . . . . . . . . 161Prueba de criterios ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166

12. Administración de SELinux                                                                                                                                                                           169Conceptos básicos de seguridad de SELinux ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170Modos de SELinux ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172Mostrar y modificar modos de SELinux ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174Mostrar y modificar contextos de archivo de SELinux .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176Administración de booleanos de SELinux .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179Control de las violaciones de SELinux ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 180Prueba de criterios ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183

13. Instalación y administración de software                                                                                                                                   187Uso de yum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188Administración de grupos de componentes YUM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191Manipulación de software de terceros .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193Uso de repositorios YUM de terceros .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197Prueba de criterios ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201

14. Administración de servicios instalados                                                                                                                                       205Administrar servicios ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206Confirmar disponibilidad del servicio ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208

RH135-6-es-2-20110131 v

Prueba de criterios ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210

15. Análisis y almacenamiento de registros                                                                                                                                       213Determinar destinos de registros .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214Buscar y analizar un informe de resumen de registro ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218Cambiar la dirección de correo electrónico de resumen de registro ... . . . . . . . . . . . . . . . . . . . . . . . . 220Prueba de criterios ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223

16. Administración de procesos                                                                                                                                                                       227Control de procesos ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228Finalización y control de procesos ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229Administración de tareas periódicas ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233Programación de tareas aplazadas ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236Prueba de criterios .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239

17. Ajuste y mantenimiento del kernel                                                                                                                                                     243Arquitecturas compatibles e identificación del kernel .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244Administración de los módulos del kernel .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247Especificación de parámetros de arranque del kernel .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250Actualización del kernel .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252

18. Técnicas de recuperación del sistema                                                                                                                                         257El proceso de arranque .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258Reparación de problemas de arranque .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266Prueba de criterios ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271

A. Soluciones                                                                                                                                                                                                                           275Instalación automática de Red Hat Enterprise Linux ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275Acceso a la línea de comando ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282Herramientas intermedias de la línea de comando ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286Expresiones regulares, canalizaciones y redirección de entrada/salida (I/O) ... . . . . . . . . . . . . . . 291Configuración de red y solución de problemas .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296Administración de particiones simples y sistemas de archivos .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300Administración de almacenamiento flexible con el administrador de volúmeneslógicos .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309Acceso a los servicios para intercambio de archivos de red .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318Administración de las cuentas de usuario ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321Cuentas de usuario de red con LDAP ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324Control de acceso a los archivos .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328Administración de SELinux ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333Instalación y administración de software .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338Administración de servicios instalados ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343Análisis y almacenamiento de registros ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347Administración de procesos ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350Ajuste y mantenimiento del kernel .. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356Técnicas de recuperación del sistema ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358

vi

RH135-6-es-2-20110131 vii

Convenciones del documento

Notas y advertencias

NotaLas "notas" son consejos, atajos o enfoques alternativos para una tarea determinada.Ignorar una nota no debería tener consecuencias negativas, pero podría pasarse por altoalgún truco que puede simplificar una tarea.

ComparaciónLas "comparaciones" buscan similitudes y diferencias entre la tecnología o el tema que seestá tratado y tecnologías o temas similares de otros sistemas operativos o entornos.

ReferenciasEn las "referencias", se describe el lugar donde se puede encontrar documentación externarelevante para un tema.

ImportanteEn los cuadros "importantes", se detallan cosas que se olvidan con facilidad: cambiosde configuración que sólo se aplican a la sesión actual o servicios que se deben reiniciarpara poder aplicar una actualización. Ignorar un cuadro con la etiqueta "Importante" noprovocará pérdida de datos, pero puede causar irritación y frustración.

AdvertenciaNo se deben ignorar las "advertencias". Es muy probable que ignorar las advertenciasprovoque pérdida de datos.

viii

RH135-6-es-2-20110131 ix

Introducción

Bienvenido a clase.Muchas gracias por asistir a esta clase de capacitación de Red Hat. Infórmenos si tiene algunanecesidad especial mientras se encuentra en nuestro centro de capacitación.

Pregúntele al instructor si tiene alguna duda sobre el centro, como los horarios de atención delcentro y cuándo tendrá acceso al salón de clases, las ubicaciones de los baños y las salas dedescanso, la disponibilidad de teléfonos y conectividad de red, e información sobre el área local.

Como cortesía a los otros estudiantes, coloque su buscapersonas o teléfono celular en vibracióno silencio, o bien apague sus dispositivos durante la clase. Le solicitamos que realice llamadassólo durante los períodos de descanso.

Si tiene una emergencia personal y no puede asistir o completar la clase, infórmenos al respecto.Muchas gracias.

Acerca de Red Hat Enterprise LinuxEste curso se dicta con Red Hat Enterprise Linux, una distribución de Linux para empresasque se centra en software de código abierto desarrollado, diseñada específicamente paraorganizaciones que usan Linux en la configuración de producción.

Red Hat Enterprise Linux se vende mediante una suscripción, donde la suscripción le otorgaacceso continuo a todas las versiones compatibles del sistema operativo en forma de fuente ybinario, no sólo la última, lo cual incluye todas las actualizaciones y correcciones. Se incluyenservicios de asistencia extendida: se incluyen un contrato de asistencia y derecho al Módulo deactualización de Red Hat Network durante el período de suscripción. Se encuentran disponiblesdiversos contratos de nivel de servicios (SLA) que pueden proporcionar una cobertura máximadurante las 24 horas, todos los días de la semana, con un tiempo de respuesta garantizadode una hora para problemas de gravedad 1. La asistencia estará disponible por hasta sieteaños después de una versión principal en particular (diez años con el complemento opcional"Asistencia de actualización extendida").

Red Hat Enterprise Linux se lanza en un ciclo de varios años entre versiones principales. Lasactualizaciones secundarias de versiones principales se lanzan aproximadamente cada seismeses durante el ciclo de vida del producto. Los sistemas certificados en una actualizaciónsecundaria de una versión principal seguirán siendo certificados para actualizacionessecundarias futuras de la versión principal. Un conjunto principal de bibliotecas compartidastienen API y ABI, lo cual se preservará entre las versiones principales. Se proporcionan muchasotras bibliotecas compartidas, que tienen API y ABI, y que se garantizan dentro de una versiónprincipal (para todas las actualizaciones secundarias), pero que no se garantizan que seráncompatibles entre las versiones mayores.

Red Hat Enterprise Linux se basa en un código desarrollado por la comunidad de código abierto,que se presenta generalmente primero a través de la distribución de Fedora disponible de

Introducción

x RH135-6-es-2-20110131

forma gratuita y con el patrocinio de Red Hat (http://fedoraproject.org/). Red Hatdespués agrega mejoras de rendimiento, pruebas intensivas y certificaciones de productosproducidos por los principales proveedores de hardware y software independientes. Red HatEnterprise Linux proporciona un alto nivel de estandarización mediante su soporte para cuatroarquitecturas de procesador (Intel de 32 bits compatible con x86, AMD64/Intel 64 (x86-64),IBM POWER y mainframe IBM en System z). Además, admitimos más de 4000 certificacionesISV de Red Hat Enterprise Linux, independientemente si el sistema operativo RHEL que esténusando esas aplicaciones se esté ejecutando en “un sistema vacío”, en una máquina virtual,como aparato de software, o en la nube con tecnologías como Amazon EC2.

Actualmente, la familia de productos Red Hat Enterprise Linux incluye:

• Red Hat Enterprise Linux para Servidores: la plataforma de centro de datos para servidorescríticos que ejecutan Red Hat Enterprise Linux. Este producto incluye soporte para losservidores compatibles con x86 y x86-64 más grandes y los niveles más altos de asistenciatécnica, que se puede implementar en un sistema vacío, como guest en los hipervisoresprincipales, o en la nube. Las suscripciones están disponibles con derechos a guests flexiblesde uno, cuatro o un número ilimitado de guests por host físico. Los precios se basan en lacantidad de pares de sockets usados en la placa madre del sistema, la cantidad de guestsadmitidos, el nivel de asistencia deseado y la duración de la suscripción que se desee.

Red Hat Enterprise Linux para IBM POWER y Red Hat Enterprise Linux para IBM en System zson variantes similares diseñadas para esas arquitecturas de sistema.

• Red Hat Enterprise Linux Desktop: creado para el administrador y el usuario final, el productoRed Hat Enterprise Linux Desktop proporciona un entorno atractivo y muy productivo paratrabajadores especializados que se desempeñan en escritorios y equipos portátiles. Lasinstalaciones de cliente se pueden personalizar especialmente y se las puede bloquear paralograr simplicidad y seguridad en cualquiera tarea de estación de trabajo.

La variante básica Desktop (Escritorio) se diseñó para trabajadores operativos que tienenun control administrativo limitado del sistema, que usan principalmente aplicaciones deproductividad como Firefox, Evolution/Thunderbird, OpenOffice.org y Planner/TaskJuggler.La variante más sofisticada Workstation (Estación de trabajo) se diseñó para usuarios deLinux avanzados que necesitan un entorno de desarrollo independiente y que esperan tenerprivilegios de superusuario local o privilegios de superusuario selecto.

Además, hay otras variantes como Red Hat Enterprise Linux para HPC Head Node y RedHat Enterprise Linux para HPC Compute Node (dirigidas a clústeres informáticos de altorendimiento), y Red Hat Enterprise Linux para SAP Business Applications. Si desea obtener másinformación, visite http://www.redhat.com/.

Software adicional de Red Hat Enterprise LinuxSe proporcionan dos canales de actualización de software adicionales con Red Hat EnterpriseLinux, además de los paquetes de software principales que se envían:

• Complementario: el canal "Complementario" proporciona paquetes de código cerradoselectos, creados para Red Hat Enterprise Linux para la conveniencia del cliente. Esto incluyeaplicaciones como Adobe Flash o Java JVM de marca registrada.

Software adicional de Red Hat Enterprise Linux

RH135-6-es-2-20110131 xi

• Opcional: el canal "Opcional" proporciona paquetes de código abierto selectos para laconveniencia del usuario únicamente. Generalmente, se incluyen en otra variante de Red HatEnterprise Linux como un paquete totalmente compatible o son un requisito de creación parala distribución. Estos paquetes están disponibles sólo a través de un canal secundario de RedHat Network.

ImportanteLos paquetes Complementarios y Opcionales se proporcionan con asistencia limitada para laconveniencia del cliente únicamente.

Red Hat también ofrece una cartera de Complementos para Red Hat Enterprise Linux totalmentecompatibles que extienden las características de su suscripción de Red Hat Enterprise Linux.Estos complementos le permiten agregar capacidades y personalizar su entorno informáticosegún sus necesidades particulares. Estos complementos incluyen compatibilidad con clústeresde aplicaciones de alta disponibilidad, sistemas de archivos de clústeres y sistemas de archivosmuy grandes, administración de sistemas mejorada con Red Hat Network, asistencia deactualización extendida y mucho más.

NotaVisite http://www.redhat.com/rhel/add-ons/ para obtener más información sobrelos Complementos para Red Hat Enterprise Linux disponibles.

Si desea información sobre otros productos que ofrece Red Hat, como Red Hat EnterpriseVirtualization, JBoss Enterprise Middleware, Red Hat Enterprise MRG y varios servicios deconsultoría e ingeniería personalizados, http://www.redhat.com/products/ tambiéntiene datos útiles.

El Proyecto Fedora también suministra paquetes adicionales para Red Hat Enterprise Linux através de EPEL (Paquetes extras para Enterprise Linux). EPEL surge de un esfuerzo comunitarioy voluntario para crear un repositorio de paquetes complementarios de alta calidad que puedanutilizarse con Red Hat Enterprise Linux y derivados compatibles. Acepta software de códigoabierto y gratuito no gravado legalmente, que no crea conflicto con los paquetes en Red HatEnterprise Linux o los productos complementarios de Red Hat. Los paquetes EPEL se crean parauna versión principal en particular de Red Hat Enterprise Linux y EPEL los actualizará durante elperíodo de asistencia estándar de esa versión principal.

Red Hat no proporciona contratos de nivel de servicios ni asistencia comercial para los paquetesEPEL. Dado que Red Hat no ofrece asistencia oficial para estos paquetes, EPEL proporciona unaforma útil de reducir los costos de asistencia para los paquetes sin asistencia que su empresadesee usar con Red Hat Enterprise Linux. EPEL le permite distribuir el trabajo de asistencia queusted debería hacer por sí solo a través de otras organizaciones que comparten su deseo de usareste software de código abierto en RHEL. Los paquetes de software en sí atraviesan el mismoproceso de revisión que los paquetes de Fedora, lo que significa que los desarrolladores de Linuxexperimentados han examinado los paquetes en busca de problemas. Como EPEL no sustituye

Introducción

xii RH135-6-es-2-20110131

ni crea conflicto con los paquetes de software enviados en RHEL, usted puede usar EPEL conconfianza de que no causará problemas con sus paquetes de software normales.

Para los desarrolladores que desean que su software de código abierto se convierta en partede Red Hat Enterprise Linux, usualmente la primera etapa es patrocinarlo en EPEL paraque los usuarios de RHEL tengan la oportunidad de usarlo; así, se obtiene experiencia en laadministración del paquete para una distribución de Red Hat.

Visite http://fedoraproject.org/wiki/EPEL/ para obtener más información sobre EPEL.

ImportanteEPEL es respaldado por el Proyecto Fedora administrado por la comunidad y no por laAsistencia de Red Hat.

Contacto con la Asistencia técnica de Red HatUno de los beneficios de su suscripción de Red Hat Enterprise Linux es el acceso a la asistenciatécnica a través del portal de clientes de Red Hat en http://access.redhat.com/. Si notiene una cuenta de Red Hat en el portal de clientes o no puede iniciar sesión, puede visitarhttps://access.redhat.com/support/faq/LoginAssistance.html o comunicarse conAtención al cliente para obtener asistencia.

Es posible que pueda solucionar un problema sin asistencia técnica formal al buscar en la Basede conocimiento (https://access.redhat.com/kb/knowledgebase/). O bien, puedecomunicarse con la Asistencia de Red Hat a través de un formulario web o telefónicamente,según el nivel de asistencia. Los números de teléfono y los horarios de atención paradiferentes regiones varían; consulte https://access.redhat.com/support/contact/technicalSupport.html para obtener la información actual. La información sobre elproceso de asistencia está disponible en https://access.redhat.com/support/policy/support_process.html.

Algunos consejos sobre la preparación de su informe de errores para una participación máseficaz de la Asistencia de Red Hat:

• Defina el problema. Asegúrese de que pueda expresar el problema y sus síntomas antes decomunicarse con Red Hat. Sea tan específico como pueda y describa con detalles los pasos quepuede usar (si corresponde) para reproducir el problema.

• Reúna información básica. ¿Qué versión de nuestro software está ejecutando? ¿Está usandola última actualización? ¿Qué pasos lo llevaron al error? ¿Se puede recrear el problema y quépasos son necesarios? ¿Se ha realizado algún cambio reciente que podría haber disparado elproblema? ¿Se emitieron mensajes u otras notas de diagnóstico? ¿Qué decían exactamente (laredacción exacta puede ser fundamental)?

• Reúna información de diagnóstico relevante. Esté preparado para suministrar toda lainformación relevante que sea posible; registros, volcados principales, seguimientos, resultados

Contacto con la Asistencia técnica de Red Hat

RH135-6-es-2-20110131 xiii

de sosreport, etc. La Asistencia técnica podrá ayudarlo a determinar qué datos sonrelevantes.

• Determine el nivel de gravedad de su problema. Red Hat usa una escala de cuatro nivelespara indicar la gravedad de los problemas; los criterios se pueden encontrar en https://access.redhat.com/support/policy/GSS_severity.html.

AdvertenciaBugzilla no es una herramienta de asistencia. Para los problemas de asistencia que afectanRed Hat Enterprise Linux, los clientes deben registrar sus errores a través de los canalesde asistencia analizados anteriormente para poder asegurarse de que Red Hat comprendapor completo su problema y pueda responder según los términos de su contrato de nivel deservicios. Los clientes no deben registrar errores directamente en la interfaz web http://bugzilla.redhat.com/.

Para Red Hat Enterprise Linux, el Departamento de ingeniería usa Bugzilla para hacer unseguimiento de errores y cambios, y para comunicarse en un nivel técnico con los socios delDepartamento de ingeniería y otras partes externas. Todos, incluso personas que no seanclientes, pueden registrar problemas en Bugzilla, y Red Hat los controla y revisa para la inclusiónen la fe de erratas.

Sin embargo, Red Hat no garantiza ningún SLA por errores registrados directamente en Bugzilla(omitiendo los canales de asistencia normales). Puede ocurrir una revisión inmediatamente odespués de un período de tiempo de cualquier duración. Los problemas que llegan a Red Hata través de la Asistencia siempre tienen prioridad sobre los problemas de impacto y gravedadsimilares que se registran directamente en Bugzilla. Además, se les pueden proporcionar alos clientes soluciones alternativas y revisiones (si son posibles y adecuadas) a través de laAsistencia, incluso antes de que se emita una solución permanente a través de Red Hat Network.

Red Hat considera los problemas que se ingresan directamente en Bugzilla comentariosimportantes y esto nos permite ofrecer una interacción eficaz con la comunidad de desarrollo decódigo abierto y ser tan transparentes como sea posible con los clientes mientras se procesan losproblemas. No obstante, para los clientes que encuentren problemas de producción en Red HatEnterprise Linux, Bugzilla no es el canal correcto.

xiv

RH135-6-es-2-20110131 xv

Acerca de este curso

Administración de sistemas Red Hat IIEl curso Administración de sistemas Red Hat II (RH135) está específicamente diseñado paraestudiantes que hayan finalizado el curso Administración de sistemas Red Hat I (RH124).Administración de sistemas Red Hat II se centra en las tareas principales necesarias paraconvertirse en un administrador de Linux de tiempo completo y validar esas habilidadesmediante el examen de Administrador de sistemas certificado de Red Hat (RHCSA). Este cursoaborda en detalle la administración de Linux empresarial, que incluye una cobertura másprofunda de sistemas de archivos y partición, volúmenes lógicos, administración de paquetesy solución de problemas. El curso Administración de sistemas Red Hat II también se centra enampliar la base de habilidades relacionadas con la línea de comando, que son invaluables parala administración de sistemas de nivel empresarial. A los estudiantes que no realizaron el cursoAdministración de sistemas Red Hat I, pero están preparados para estudiar el contenido de estenivel, se les recomienda realizar el Curso acelerado de RHCSA (RH200) en su lugar.

Objetivos• Completar la capacitación sobre las habilidades necesarias para convertirse en un

administrador de sistemas Linux de tiempo completo, que comenzó en el curso Administraciónde sistemas Red Hat I.

• Preparar a los estudiantes para que validen esas habilidades en el examen de RHCSA.

Audiencia y requisitos previos• Estudiantes que hayan realizado el curso Administración de sistemas Red Hat I.

Estructura del cursoLos cursos de capacitación de Red Hat son clases del mundo real, basadas en el rendimiento,prácticas e interactivas que tienen como propósito fomentar la participación activa yproporcionar la oportunidad de usar sistemas reales para desarrollar habilidades reales.Alentamos a los estudiantes a participar en clase y a hacer preguntas para obtener el máximoprovecho de sus sesiones de capacitación.

Este curso se divide en varias unidades, que están organizadas por tema. Cada unidad se divideen varias secciones, que se centran en una tarea o habilidad específica. La unidad comenzarácon una introducción al material y después se pasará a la primera sección.

En cada sección, habrá una presentación guiada por el instructor. Durante la presentación,se recomienda que tome nota en su libro de trabajo del estudiante (este libro); es posibleque el instructor le recuerde hacerlo. Después de la presentación, habrá una actividad breveo una evaluación para ofrecerle la oportunidad de practicar con el material o de revisar losprocedimientos. Después de la revisión de la evaluación, el instructor pasará a la siguientesección. Al final de la unidad, normalmente habrá un tipo de ejercicio de laboratorio práctico(una "prueba de criterios") que le dará la oportunidad de aprender mientras ejercita y de revisar

Acerca de este curso

xvi RH135-6-es-2-20110131

su comprensión del contenido de la unidad. No dude en hacer preguntas en clase o en solicitar elasesoramiento o la ayuda del instructor durante el ejercicio de final de la unidad. Deseamos queel entorno del salón de clases sea un lugar de "bajo riesgo", donde usted se sienta cómodo parahacer preguntas y aprender de las cosas que funcionen y de las que no funcionen inicialmente.

Orientación sobre la red del salón de clasesEs posible que se usen dos subredes en este curso. La red principal del salón de clases es192.168.0.0/24 y pertenece a los hosts del dominio DNS "example.com". Esta red se usará parala mayoría de las actividades del salón de clases. Algunos cursos usan una segunda subred,192.168.1.0/24, que pertenece a los hosts del dominio DNS "remote.test". Se puede acceder aesta red de los hosts de example.com y se usa en los ejercicios de laboratorio que requierenservicios de pruebas o configuración de seguridad de máquinas (teóricamente) fuera de sucontrol administrativo.

A cada estudiante se le asigna una máquina física (desktopX.example.com en 192.168.0.X)que puede alojar dos o más máquinas virtuales para los actividades de laboratorio,serverX.example.com y hostX.example.com.

En algunos cursos, es posible que los estudiantes también usen una cuenta que no sea de usuarioroot en una máquina de prueba en el dominio remote.test, remoteX.example.com (192.168.1.X),para probar el acceso a servicios de red en sus máquinas example.com durante las actividades delaboratorio.

El instructor controla varias máquinas que los estudiantes también pueden ver. La máquinainstructor.example.com (también conocida como instructor.remote.test) es el servidor deutilidades del salón de clases, que proporciona los servicios de enrutamiento predeterminados,DHCP, servicio de nombre DNS, uno o más repositorios de software YUM que usa la clase yotros servicios de red. También se conecta al proyector de video para permitir que el instructormuestre diapositivas y demostraciones. Proporciona una máquina virtual para el instructor,demo.example.com, que este usará para las demostraciones en clase.

Nombre de la máquina Dirección IP Función

desktopX.example.com 192.168.0.X Estación de trabajo física delestudiante

serverX.example.com 192.168.0.(X+100) Máquina virtual principal delestudiante

hostX.example.com 192.168.0.(X+200) Máquina virtual secundariadel estudiante

remoteX.remote.test 192.168.1.X Máquina de prueba delestudiante en el dominioremote.test (uso compartido)

instructor.example.com 192.168.0.254 Máquina física del instructor yservidor de utilidades

instructor.remote.test 192.168.1.254 Identidad deinstructor.example.com en lared remote.test

Orientación sobre la red del salón de clases

RH135-6-es-2-20110131 xvii

Nombre de la máquina Dirección IP Función

demo.example.com 192.168.0.250 Máquina virtual parademostraciones del instructor

Tabla 1. Máquinas del salón de clases

xviii

RH135-6-es-2-20110131 xix

Internacionalización

Soporte de idiomaRed Hat Enterprise Linux 6 admite oficialmente veintidós idiomas: inglés, asamés, bengalí, chino(simplificado), chino (tradicional), francés, alemán, guyaratí, hindi, italiano, japonés, canarés,coreano, malayalam, maratí, oriya, portugués (brasileño), panyabí, ruso, español, tamil y telugú.Los soportes para maithili, nepalés y cingalés se proporcionan como vistas previas de tecnología.

Idioma predeterminado de todo el sistemaEl idioma predeterminado del sistema operativo se configura normalmente en inglés de EE. UU.(en_US.UTF-8), pero esto se puede modificar durante o después de la instalación.

Para utilizar otros idiomas, es posible que deba instalar grupos de paquetes adicionales paraproporcionar las fuentes, las traducciones, los diccionarios y otras aplicaciones correspondientes.Por convención, estos grupos de paquetes siempre tienen el nombre language-support.Estos grupos de paquetes se pueden seleccionar durante la instalación, o bien después de la

instalación con PackageKit (System → Administration → Add/Remove Software) o yum.

El idioma predeterminado de un sistema se puede cambiar con system-config-language

(System → Administration → Language), que afecta el archivo /etc/sysconfig/i18n.

Selección de idioma por usuarioLos usuarios pueden preferir usar un idioma diferente para su propio entorno de escritorio ointérpretes de comandos interactivos a utilizar el idioma configurado como predeterminado delsistema. Esto se le indica al sistema a través de la variable de entorno LANG.

Esto se puede configurar de forma automática para el entorno de escritorio GNOME alseleccionar un idioma en la pantalla de inicio de sesión gráfica al hacer clic en el elementoLanguage, ubicado en la esquina inferior izquierda de la pantalla de inicio de sesión gráfica,inmediatamente antes de iniciar sesión. Se le preguntará al usuario si el idioma seleccionado sedebe usar sólo para el inicio de sesión en cuestión o como valor predeterminado para el usuariode aquí en adelante. GDM guarda la configuración en el archivo ~/.dmrc del usuario.

Si un usuario desea que su entorno de intérprete de comandos use la misma configuraciónLANG que su entorno gráfico incluso cuando inicie sesión a través de una consola de texto ossh, puede configurar un código similar al siguiente en su archivo ~/.bashrc. Este códigoconfigurará su idioma preferido si se guarda uno en ~/.dmrc o usará el predeterminado delsistema si no se guarda ninguno:

i=$(grep 'Language=' ${HOME}/.dmrc | sed 's/Language=//')if [ "$i" != "" ]; then export LANG=$i

Internacionalización

xx RH135-6-es-2-20110131

fi

Los idiomas con caracteres no ASCII pueden tener problemas para visualizarse en algunosentornos. Es posible que los caracteres kanji, por ejemplo, no se visualicen como deberían enuna consola virtual. Se pueden crear comandos individuales para utilizar otro idioma mediante laconfiguración de LANG en la línea de comando:

[user@host ~]$ LANG=fr_FR.UTF-8 datelun. oct. 24 10:37:53 CDT 2011

Los comandos subsiguientes se revertirán y utilizarán el idioma de salida predeterminado delsistema. El comando locale se puede usar para comprobar el valor actual de LANG y otrasvariables de entorno relacionadas.

Métodos de entradaSi los paquetes de soporte de idioma adecuados están instalados, se puede utilizar IBus (un busde entrada inteligente) para ingresar texto en diferentes idiomas en X. Puede habilitar IBus con el

comando im-chooser (System → Preferences → Input Method).

Referencia de códigos de idioma

Idioma Valor $LANG Grupo de paquetes de idioma

Inglés (EE. UU.) en_US.UTF-8 (predeterminado)

Asamés as_IN.UTF-8 assamese-support

Bengalí bn_IN.UTF-8 bengali-support

Chino (simplificado) zh_CN.UTF-8 chinese-support

Chino (tradicional) zh_TW.UTF-8 chinese-support

Francés fr_FR.UTF-8 french-support

Alemán de_DE.UTF-8 german-support

Guyaratí gu_IN.UTF-8 gujarati-support

Hindi hi_IN.UTF-8 hindi-support

Italiano it_IT.UTF-8 italian-support

Japonés ja_JP.UTF-8 japanese-support

Canarés kn_IN.UTF-8 kannada-support

Coreano ko_KR.UTF-8 korean-support

Malayalam ml_IN.UTF-8 malayalam-support

Maratí mr_IN.UTF-8 marathi-support

Oriya or_IN.UTF-8 oriya-support

Portugués (brasileño) pt_BR.UTF-8 brazilian-support

Referencia de códigos de idioma

RH135-6-es-2-20110131 xxi

Idioma Valor $LANG Grupo de paquetes de idioma

Panyabí pa_IN.UTF-8 punjabi-support

Ruso ru_RU.UTF-8 russian-support

Español es_ES.UTF-8 spanish-support

Tamil ta_IN.UTF-8 tamil-support

Telugú te_IN.UTF-8 telugu-support

Vistas previas de tecnología

Maithili mai_IN.UTF-8 maithili-support

Nepalés ne_NP.UTF-8 nepali-support

Cingalés si_LK.UTF-8 sinhala-support

Tabla 2. Códigos de idioma

xxii

 

RH135-6-es-2-20110131 1

UNIDAD UNO

INSTALACIÓN AUTOMATIZADADE RED HAT ENTERPRISELINUX

IntroducciónTemas tratados en esta unidad:

• system-config-kickstart

• Archivo kickstart del servidor

• Medios de instalación

• Realizar la instalación de Kickstart

• Detalles del archivo kickstart

Capítulo 1. Instalación automatizada de Red Hat Enterprise Linux

2 RH135-6-es-2-20110131

Generalidades de introducciónMediante el uso de Kickstart, un administrador de sistemas puede crear un solo archivo quecontenga las respuestas a todas las preguntas comúnmente formuladas durante una instalación.El instalador puede acceder a este archivo para la instalación automatizada de Red HatEnterprise Linux.

ComparaciónEn Red Hat Enterprise Linux, Kickstart es similar a Jumpstart de Oracle Solaris o a lainstalación desatendida de Microsoft Windows.

Pasos básicos:

1. Crear un archivo kickstart 2. Poner el archivo kickstart a disposicióndel instalador

3. Arrancar el instalador 4. Apuntar el instalador al archivo kickstart

Tabla 1.1. Pasos de Kickstart

ReferenciasRed Hat Enterprise Linux Installation Guide

• Capítulo 32: Instalaciones de Kickstart

Crear un archivo kickstart con system-config-kickstart

RH135-6-es-2-20110131 3

Crear un archivo kickstart con system-config-kickstart

1. Crear un archivo kickstart

• Uso de system-config-kickstart

• Con un editor de textos

2. Poner el archivo kickstart a disposicióndel instalador

3. Arrancar el instalador 4. Apuntar el instalador al archivo kickstart

Tabla 1.2. Pasos de Kickstart

La herramienta system-config-kickstart presenta una serie de cuadros de diálogo. Cadacuado de diálogo corresponde a una categoría de preguntas comúnmente formuladas por elinstalador interactivo. system-config-kickstart no proporciona valores predeterminadospara todos los elementos. En un archivo kickstart, si no se determinan los valores requeridos, elinstalador solicitará una repuesta interactivamente o abortará la instalación por completo.

ReferenciasRed Hat Enterprise Linux Installation Guide

• Capítulo 33: Configurador de Kickstart

Capítulo 1. Instalación automatizada de Red Hat Enterprise Linux

4 RH135-6-es-2-20110131

Práctica Caso de estudio

Creación de un archivo kickstart con system-config-kickstart

En este ejercicio, su organización implementará estaciones de trabajo basadas en Red HatEnterprise Linux para los ingenieros y se le ha solicitado que cree un archivo kickstart parafacilitar la tarea.

Realice este ejercicio en su máquina desktopX como student.

Instalará system-config-kickstart. Cuando se inicie, es posible que system-config-kickstart le pida instalar una fuente; puede cerrar este diálogo de manera segura. Usesystem-config-kickstart para crear un archivo kickstart de acuerdo a los parámetrosespecificados a continuación.

• Elija la zona horaria adecuada.

• La contraseña del usuario root debe ser redhat.

• Kickstart debe realizar una instalación nueva desde el servidor web http://instructor.example.com/pub/rhel6/dvd.

• El MBR debiera ser limpiado y el disco, inicializado.

• El sistema debe tener un sistema de archivos ext4 de 100 MB montado en /boot.

• El sistema debe tener una partición de intercambio de 512 MB.

• El espacio en disco restante debe asignarse a una partición ext4 montada en /.

• El dispositivo eth0 debe iniciarse durante el proceso de arranque y usar DHCP para laconfiguración.

• Instale el grupo de paquetes Base.

• Establezca un script posterior a la instalación que agregue:

ENGINEERING WORKSTATION

al archivo /etc/issue.

• Guarde el archivo kickstart como /home/student/engineer.cfg.

¿Cómo trataría el caso de estudio descrito anteriormente? Tome nota de su proceso en elespacio provisto a continuación y después impleméntelo.

Poner el archivo kickstart a disposición de los instaladores

RH135-6-es-2-20110131 5

Poner el archivo kickstart a disposición de losinstaladores

1. Crear un archivo kickstart 2. Poner el archivo kickstart adisposición del instalador

• Servidores de red: FTP, HTTP o NFS

• Servidor DHCP/TFTP

• Disco USB o CD-ROM

• Disco duro local

3. Arrancar el instalador 4. Apuntar el instalador al archivo kickstart

Tabla 1.3. Pasos de Kickstart

Para poder comenzar una instalación automática, el instalador debe poder acceder al archivokickstart. Existen varios métodos para hacer que el archivo kickstart esté disponible, y uno delos más comunes es a través de un servidor de red como un servidor FTP, un servidor web o unservidor NFS. Este método es bastante sencillo de implementar y facilita la administración decambios.

Con un servidor DHCP con TFTP y PXE es más complejo configurar, y no todas las ubicacionespermitirán este método. Si desea configurar Kickstart con este método, siga la documentacióndetallada en las referencias que se encuentran a continuación.

Una manera conveniente de acceder al archivo puede ser proporcionar el archivo kickstart enUSB o CD-ROM. Simplemente coloque el archivo kickstart en los medios de arranque utilizadospara comenzar la instalación. No obstante, tenga cuidado al cambiar el Kickstart, dado quedeberá cambiarlo en todos los medios.

Puede ser útil proporcionar el archivo kickstart en el disco local. Esto permite una manera rápidade volver a crear un servidor de implementación.

Capítulo 1. Instalación automatizada de Red Hat Enterprise Linux

6 RH135-6-es-2-20110131

ReferenciasRed Hat Enterprise Linux Installation Guide

• Sección 32.8 (Archivo kickstart a disposición)

Poner el archivo kickstart a disposición de los instaladores

RH135-6-es-2-20110131 7

Práctica Ejercicio

Poner el archivo kickstart a disposición de losinstaladores a través de HTTP

Realice los siguientes pasos con cuidado. Si tiene algún problema o alguna duda, consulte con suinstructor.

1. Inicie sesión en desktopX como student.

2. Conviértase en root e implemente un servidor web.

notaRecuerde que debe instalar, iniciar, habilitar y probar.

3. Copie /home/student/engineer.cfg en /var/www/html/

4. Acceda a http://desktopX/engineer.cfg de un navegador web para verificar la disponibilidad.

Capítulo 1. Instalación automatizada de Red Hat Enterprise Linux

8 RH135-6-es-2-20110131

Crear medios de arranque

1. Crear un archivo kickstart 2. Poner el archivo kickstart a disposicióndel instalador

3. Arrancar el instalador

• Discos de instalación

• PXE

• boot.iso

4. Apuntar el instalador al archivo kickstart

Tabla 1.4. Pasos de Kickstart

En versiones anteriores de Red Hat Enterprise Linux, el archivo boot.iso se podía encontraren el directorio images/ en los medios de instalación. En Red Hat Enterprise Linux 6, es unadescarga por separado desde la red de Red Hat.

Para crear un CD, use cdrecord boot.iso.

Para crear un stick USB, use dd if=boot.iso of=/dev/sdb1; no obstante, tenga encuenta que el nombre /dev/sdb1 variará según la asignación dinámica de los nombres de losdispositivos.

PXE se puede utilizar para iniciar la instalación desde la red. Es bastante complejo de configurar,y es posible que no esté permitido en su ubicación, pero PXE se puede usar para iniciar unainstalación en la red.

ReferenciasRed Hat Enterprise Linux Installation Guide

• Sección 2.3: Llevar los medios de arranque al mínimo

Apuntar el instalador al archivo kickstart

RH135-6-es-2-20110131 9

Apuntar el instalador al archivo kickstart

1. Crear un archivo kickstart 2. Poner el archivo kickstart a disposicióndel instalador

3. Arrancar el instalador 4. Apuntar el instalador al archivokickstart

• ks=http://server/dir/file

• ks=ftp://server/dir/file

• ks=nfs:server:/dir/file

• ks=hd:device:/dir/file

• ks=cdrom:/dir/file

Tabla 1.5. Pasos de Kickstart

Una vez que ha elegido su método para Kickstart, infórmele al instalador dónde se ubica elarchivo kickstart.

Para una instalación en una máquina virtual, puede proporcionar la URL de Kickstart en uncuadro bajo URL Options. Para una máquina física, arranque utilizando medios de instalación ypresione la tecla Tab; luego ingrese una de las entradas ks= que se muestran arriba.

En el entorno del salón de clases, intentaremos replicar una instalación física utilizandomáquinas virtuales. Cree una nueva máquina virtual y elija PXE como método de instalación. PXEproporcionará una pantalla de arranque similar al arranque desde medios de instalación. Con laopción Install or upgrade an existing system resaltada, presione la tecla Tab. Esto mostrará lalínea de arranque como se muestra a continuación:

> vmlinuz initrd=initrd.img_

Agregue un espacio; luego, una de las entradas kickstart. A continuación, se proporcionanalgunos ejemplos, incluida la línea de arranque completa. Estos ejemplos usan un archivokickstart denominado ks.cfg, pero podría llevar cualquier nombre. Una vez que ha ingresado ala ubicación de kickstart, presione Enter para iniciar la instalación.

> vmlinuz initrd=initrd.img ks=http://desktopX/ks.cfg

Capítulo 1. Instalación automatizada de Red Hat Enterprise Linux

10 RH135-6-es-2-20110131

> vmlinuz initrd=initrd.img ks=ftp://desktopX/pub/ks.cfg

> vmlinuz initrd=initrd.img ks=nfs:desktopX/var/ftp/pub/ks.cfg

> vmlinuz initrd=initrd.img ks=hd:sdb1:/kickstart-files/ks.cfg

> vmlinuz initrd=initrd.img ks=cdrom:/kickstart-files/ks.cfg

ReferenciasRed Hat Enterprise Linux Installation Guide

• Sección 32.8: Disponibilidad del archivo kickstart

Red Hat Enterprise Linux Installation Guide

• Sección 28.4: Automatización de la instalación con Kickstart

Red Hat Enterprise Linux Installation Guide

• Sección 28.2: Recursos de Kickstart

Apuntar el instalador al archivo kickstart

RH135-6-es-2-20110131 11

Práctica Ejercicio

Inicio de una instalación de KickstartAntes de comenzar...Apague correctamente su máquina virtual serverX (vserver) para recuperar los recursos desistemas.

Realice los siguientes pasos con cuidado. Si tiene algún problema o alguna duda, consulte con suinstructor.

Use el archivo kickstart creado anteriormente (engineer.cfg) para implementar una nuevamáquina virtual.

1. En desktopX, cree una nueva máquina virtual con virt-manager. Elija Network Boot (PXE)como método de instalación. Configure la máquina virtual con los valores predeterminadossi no se especifican a continuación:

• Nombre: ingeniero

• Create a disk image on the computer's hard drive: 4 GB

2. Diseñe e ingrese una línea de invocación de Kickstart adecuada para el archivoengineer.cfg, luego inicie la instalación.

Capítulo 1. Instalación automatizada de Red Hat Enterprise Linux

12 RH135-6-es-2-20110131

Modificar un archivo kickstartEn cada instalación, el instalador (anaconda) creará /root/anaconda-ks.cfg, que contendrála configuración utilizada para generar este sistema.

notaLa partición de la información incluye comentarios.

Ejemplo de un archivo kickstart:

# Kickstart file automatically generated by anaconda.

#version=RHEL6installurl --url=ftp://instructor.example.com/pub/rhel6/dvdlang en_US.UTF-8keyboard usnetwork --device eth0 --bootproto dhcprootpw --iscrypted $1$UaJVgaTh$KrpFf3K04r9hCZ2hsaa# Reboot after installationrebootfirewall --disabledauthconfig --useshadow --enablemd5selinux --enforcingtimezone --utc America/New_Yorkbootloader --location=mbr --driveorder=vda --append="crashkernel=auto rhgb quiet"# The following is the partition information you requested# Note that any partitions you deleted are not expressed# here so unless you clear all partitions first, this is# not guaranteed to work#clearpart --all --drives=vda

#part /boot --fstype=ext4 --size=100#part pv.ZS1CDM-iUYu-Gfua-YX0W-MSzd-ftBY-7qTB1E --size=28000#part swap --size=512#volgroup vol0 --pesize=32768 pv.ZS1CDM-iUYu-Gfua-YX0W-MSzd-ftBY-7qTB1E#logvol /home --fstype=ext4 --name=home --vgname=vol0 --size=500#logvol / --fstype=ext4 --name=root --vgname=vol0 --size=8192repo --name="Red Hat Enterprise Linux" --baseurl=ftp://instructor.example.com/pub/rhel6/dvd/ --cost=100

%packages@Base@Console internet tools@Core@Desktop@Desktop Platform@Development Tools@General Purpose Desktop@Graphical Administration Tools@Internet Browser@Network file system client@Printing client@X Window Systemlftp

Ejemplo de un archivo kickstart:

RH135-6-es-2-20110131 13

muttntp%end

%post# Turn on graphical loginperl -pi -e 's,id:3:initdefault,id:5:initdefault,' /etc/inittab%end

¿Por qué desearía editar manualmente un archivo kickstart?

1. La GUI o system-config-kickstart no está disponible.

2. Se requieren instrucciones de LVM.

3. Se deben incluir u omitir paquetes individuales (no sólo grupos).

Si edita manualmente un archivo kickstart, use ksvalidator para validar su archivo kickstart.ksvalidator es parte del paquete system-config-kickstart, por lo tanto, es posible queprimero tenga que instalar el paquete. ksvalidator asegurará que las palabras clave se usenadecuadamente, pero no validará las rutas URL, los paquetes ni grupos individuales ni ningunaparte de %post o %pre.

Por ejemplo, si escribe de manera errónea firewall --disabled, es posible que obtenga lasiguiente salida de ksvalidator:

[student@desktopX]$ ksvalidator /tmp/anaconda-ks.cfgThe following problem occurred on line 12 of the Kickstart file:

Unknown command: frewall

[student@desktopX]$ ksvalidator /tmp/anaconda-ks.cfgThe following problem occurred on line 12 of the Kickstart file:

no such option: --dsabled

ReferenciasRed Hat Enterprise Linux Installation Guide

• Sección 32.4: Opciones de Kickstart

Red Hat Enterprise Linux Installation Guide

• Sección 32.5: Selección de paquetes

Red Hat Enterprise Linux Installation Guide

• Sección 32.6: Script previo a la instalación

Red Hat Enterprise Linux Installation Guide

• Sección 32.7: Script posterior a la instalación

Capítulo 1. Instalación automatizada de Red Hat Enterprise Linux

14 RH135-6-es-2-20110131

Práctica Caso de estudio

Modificar un archivo kickstart sin system-config-kickstart

notaPor cuestiones de tiempo, no llevará a cabo una instalación con este archivo kickstart.

Como root en desktopX, cree una copia de /root/anaconda-ks.cfg denominada /home/student/projman.cfg. Mediante el uso de un editor de textos solamente, modifique esearchivo de modo que cumpla con los siguientes criterios:

1. La instalación debe ser completamente automatizada, y exactamente igual a la instalaciónactual de desktopX (incluida la partición), excepto...

• Se instalará el grupo de paquetes Backup Server.

• Se instalara el paquete mtx, que no está incluido en el grupo Backup Server de modopredeterminado.

• No se utilizará ninguna de las secuencias de comando existentes de %pre y %post

• Se creará un archivo /etc/issue en %post, con el nombre:

PROJECT MANAGEMENT

2. ksvalidator debe poder validar el archivo.

Una vez completo todo esto, copie el archivo en /var/www/html/.

¿Cómo trataría el caso de estudio descrito anteriormente? Tome nota de su proceso en elespacio provisto a continuación y después impleméntelo.

Prueba de criterios

RH135-6-es-2-20110131 15

Prueba

Prueba de criterios

Lista de verificación de rendimiento

Instalación de una máquina virtual con KickstartAntes de comenzar...Apague la máquina virtual engineer que creó anteriormente y elimine la máquina virtual y sudisco.

Arranque serverX si no está en ejecución. Copie el archivo /root/anaconda-ks.cfgde serverX en desktopX y colóquele el nombre /home/student/test.cfg. ApagueserverX después de copiar el archivo para recuperar los recursos del sistema para elresto del ejercicio de laboratorio.

Modifique test.cfg según los siguientes criterios:

• Agregue clearpart --all y zerombr, y particione el almacenamiento de acuerdo alo siguiente:

• /boot (ext4): 200 MB

• Intercambio: 512 MB

• / (ext4): 3 GB

• Agregue el paquete gimp.

• Cree un archivo /root/install-date con la fecha y hora.

Copie test.cfg en /var/www/html/ en desktopX. Asegúrese de que Apache puedaleer el archivo.

Inicie una instalación de máquina virtual con el archivo kickstart test.cfg. Colóqueleel nombre test a la máquina virtual. Use PXE como método de instalación y asigne 768MB de RAM y 1 CPU a la máquina virtual. Cree un disco local de 4 GB para el disco virtual.

Vuelva a arrancar la máquina virtual cuando termine de instalarla y confirme que se hayainstalado correctamente.

Luego de haber completado satisfactoriamente el ejercicio y revisado su trabajo, elimineesta máquina virtual y su almacenamiento asociado para limpiar.

Capítulo 1. Instalación automatizada de Red Hat Enterprise Linux

16 RH135-6-es-2-20110131

Notas personales

Prueba de criterios

RH135-6-es-2-20110131 17

Resumen de la unidad

Crear un archivo kickstart con system-config-kickstart

En esta sección, aprendió a:

• Crear una configuración de Kickstart desde el inicio con la utilidad system-config-kickstart

• Identificar los principales elementos de configuración que se encuentran en unarchivo de configuración de Kickstart

.Poner el archivo kickstart a disposición de los instaladores

En esta sección, aprendió a:

• Poner una configuración de Kickstart a disposición del instalador a través de la red(NFS, FTP o HTTP)

• Poner una configuración de Kickstart a disposición del instalador a través de medioslocales

.Crear medios de arranque

En esta sección, aprendió a:

• Crear medios de arranque para iniciar el instalador

• Arrancar desde la red para iniciar el instalador

.Apuntar el instalador al archivo kickstart

En esta sección, aprendió a:

• Realizar una instalación mediante el uso del archivo de configuración de Kickstartahora disponible

.Modificar un archivo kickstart

En esta sección, aprendió a:

• Modificar una configuración de Kickstart existente con la utilidad system-config-kickstart o un editor de textos

.

18

 

RH135-6-es-2-20110131 19

UNIDAD DOS

ACCESO A LA LÍNEA DECOMANDO

IntroducciónTemas tratados en esta unidad:

• Comprensión del intérprete de comandos de bash

• Llegada a las líneas de comando locales y remotas

Capítulo 2. Acceso a la línea de comando

20 RH135-6-es-2-20110131

Acceso a la línea de comando a nivel localUn intérprete de comandos es un programa que proporciona una línea de comando que losusuarios pueden utilizar para interactuar con la computadora. El programa del intérprete decomando estándar utilizado en Red Hat Enterprise Linux es bash (el Bourne-Again Shell, unaversión mejorada del Bourne shell, sh, ampliamente usado en sistemas UNIX heredados).

A pesar de las herramientas gráficas mejoradas para configurar los sistemas Linux, a veces lalínea de comando es la manera más eficiente de completar una tarea o cambiar la configuracióndel sistema. En muchos servidores Linux, las interfaces gráficas no están instaladas por variasrazones, que es uno de los motivos por el cual comprender cómo usar el intérprete de comandoses importante.

Ventanas terminalesEl entorno gráfico en Red Hat Enterprise Linux proporciona programas de emulación terminalque le permiten acceder a un intérprete de comandos a través de una ventana terminal gráfica.Para abrir una ventana terminal mientras está en una sesión de escritorio GNOME, seleccione elsiguiente elemento del menú:

Applications → System Tools → Terminal

Cuando abre una ventana terminal, se abre un aviso del intérprete de comandos inmediatamentecomo el usuario que inició el programa terminal gráfico. El aviso del intérprete de comandos y labarra de títulos de la ventana terminal indicarán su nombre de usuario actual, el nombre del hosty el directorio de trabajo.

Consolas virtualesOtra forma de acceder a un intérprete de comandos es desde una consola virtual. La consolafísica de la máquina Linux,el teclado y el hardware de pantalla, admite múltiples consolasvirtuales que actúan como terminales separadas. Cada consola virtual admite un inicio de sesiónindependiente.

Si el entorno gráfico está disponible, se ejecutará en la primera consola virtual en Red HatEnterprise Linux 6. Cinco señales de acceso a sesión de texto adicionales están disponibles en lasconsolas dos a la seis (o de la consola uno a la cinco si el entorno gráfico está desactivado). Conun entorno gráfico en ejecución, acceda a una señal de acceso a sesión de texto en una consolavirtual al mantener presionado Ctrl+Alt y presionar una tecla de función (F2 a la F6). PresioneCtrl+Alt+F1 para volver a la primera consola virtual y el escritorio gráfico.

notaEn la versión Red Hat Enterprise Linux 5 y versiones anteriores, las primeras seis consolasvirtuales siempre proporcionaron avisos de inicio de sesión de texto. El entorno gráfico,cuando estaba disponible, se ejecutaba en la consola virtual siete (a la que se accedía através de Ctrl+Alt+F7).

Conceptos básicos del intérprete de comandos

RH135-6-es-2-20110131 21

Conceptos básicos del intérprete de comandosA continuación se expresan algunas sugerencias sobre cómo usar el intérprete de comandos unavez que haya iniciado sesión:

• Por convención, un aviso del intérprete de comandos $ le muestra que inició sesión comousuario regular, mientras que un aviso del intérprete de comandos # le muestra que iniciósesión como el superusuario root.

• Para cambiar al superusuario, escriba su - e ingrese la contraseña de root cuando seasolicitada. Cuando salga del intérprete de comandos root con logout o Ctrl+D, volverá alintérprete de comandos desde donde ejecutó su -.

• Después de iniciar sesión, puede escribir algunos comandos para obtener información sobre lasesión del intérprete de comandos: pwd (su directorio actual), id (el usuario y grupo con el queinició sesión) y tty (el dispositivo terminal actual).

• En Administración de sistemas Red Hat I, analizamos una cantidad de comandos usados paratrabajar con archivos desde la línea de comando. Use cd para ir a otros directorios, cp paracopiar archivos, mv para mover y cambiar el nombre de archivos, mkdir para crear directorios,rm para eliminar archivos y rmdir para eliminar directorios vacíos.

• Recuerde que el manual del sistema local es un recurso útil. Escriba man seguido de cualquierade los comandos detallados arriba para obtener más información sobre cómo funcionan.

Taller

Acceso a la línea de comando a nivel local

Use consolas virtuales para obtener acceso a una interfaz del intérprete de comandos.

Sígalo junto con el instructor y use el espacio provisto a continuación para sus notas.

1. Desde su escritorio, cambie a una consola virtual al presionar Ctrl+Alt+F2 e inicie sesión

2. Cambie a una consola virtual diferente al presionar Ctrl+Alt+F3

3. Cambie nuevamente a la otra consola virtual al presionar Ctrl+Alt+F2

4. Remita a una instancia superior los privilegios con su -

5. Salga del intérprete de comandos privilegiado al escribir exit

6. Para salir de la sesión completamente (y volver al aviso de inicio de sesión) escribanuevamente exit

7. Vuelva a la primera consola virtual (generalmente el escritorio) al presionar Ctrl+Alt+F1

Capítulo 2. Acceso a la línea de comando

22 RH135-6-es-2-20110131

ReferenciasPáginas del manual: bash(1), su(1), Xorg(1) (consulte "TECLADO"), pts(4) y console(4)

Nota: Algunos detalles de la consola(4) que incluyen init(8) e inittab(5) son obsoletos.

Conceptos básicos del intérprete de comandos

RH135-6-es-2-20110131 23

Práctica Cuestionario

Acceso a la línea de comando local1. Escriba para cambiar al segundo terminal virtual.

2. Escriba para cambiar a la cuenta de usuario root.

3. Escriba para cerrar sesión de un intérprete decomandos su –.

4. Escriba para cerrar sesión del terminal virtual.

5. Escriba para regresar a la GUI.

Capítulo 2. Acceso a la línea de comando

24 RH135-6-es-2-20110131

Acceso a la línea de comando mediante sshEl Secure Shell, ssh, se utiliza para ejecutar de manera segura un intérprete de comandos enun sistema remoto. Si tiene una cuenta de usuario en un sistema Linux remoto que proporcionael servicio SSH, ssh es el comando normalmente usado para iniciar sesión de forma remota enese sistema. El comando ssh también se puede usar para ejecutar un comando individual en unsistema remoto.

Aquí le mostramos algunos ejemplos de la sintaxis del comando ssh para el inicio de sesiónremoto y la ejecución remota:

• Cree un intérprete de comandos interactivo remoto como el usuario actual, luego regresecuando haya finalizado (exit)

[student@host ~]$ ssh remotehoststudent@remotehost's password: [student@remotehost ~]$ exitConnection to remotehost closed.[student@host ~]$

• Conéctese a un intérprete de comandos remoto como un usuario diferente (remoteuser) enun host determinado (remotehost):

[student@host ~]$ ssh remoteuser@remotehostremoteuser@remotehost's password: remoteuser@remotehost ~]$

• Ejecute un único comando (hostname) en un host remoto (remotehost) y como usuarioremoto (remoteuser) de una manera en que regrese la salida a la pantalla local:

[student@host ~]$ ssh remotehost hostnamestudent@remotehost's password: remotehost.example.com[student@host ~]$

[student@host ~]$ ssh remoteuser@remotehost hostnameremoteuser@remotehost's password:remotehost.example.com[student@host ~]$

El comando w muestra una lista de usuarios actualmente en sesión en la computadora. Esto esespecialmente útil para mostrar qué usuarios están en sesión con ssh, desde qué ubicacionesremotas y qué están haciendo.

[student@host ~]$ wUSER TTY FROM LOGIN@ IDLE JCPU PCPU WHATstudent tty1 :0 Wed08 2days 1:52m 0.07s pam: gdm-passworoot tty6 - 12:33 4:14m 16.27s 15.74s -bashstudent pts/0 :0.0 Wed08 5:11 1.63s 1.60s /usr/bin/gnome-student pts/1 :0.0 Wed08 43:44 14.48s 13.81s vim hello.c student pts/3 :0.0 Wed14 0.00s 0.06s 0.06s wvisitor pts/6 server2.example. 09:22 3:14 0.02s 0.02s -bash

Llaves del host SSH

RH135-6-es-2-20110131 25

En el ejemplo anterior, el usuario student inició sesión en la consola virtual 1 (tty1) a travésdel inicio de sesión gráfico (:0) a aproximadamente las 8:00 del miércoles. El usuario studentactualmente tiene tres pseudoterminales abiertas (pts/0, pts/1 y pts/3) iniciadas medianteel entorno gráfico; estas son casi seguramente ventanas terminales. En una de ellas, student estáeditando hello.c. El usuario root inició sesión en la consola virtual 6, hoy a las 12:33. El usuariovisitor inició sesión hoy a las 9:22 desde el host server2.example.com (observe que el nombre hasido truncado), probablemente utilizando ssh, y ha estado inactivo en el aviso del intérprete decomandos durante tres minutos y catorce segundos.

Llaves del host SSHSSH asegura la comunicación a través de la encriptación con llave pública. Cuando un clientessh se conecta a un servidor SSH, antes de que el cliente inicie sesión, el servidor le envía unacopia de su llave pública. Esto se utiliza para establecer la encriptación segura para el canal decomunicación y para autenticar el servidor para el cliente.

La primera vez que un usuario utiliza ssh para conectarse a un servidor en particular, elcomando ssh almacena la llave pública del servidor en el archivo ~/.ssh/known_hosts delusuario. Luego, cada vez que el usuario se conecte después de eso, se asegura de obtener lamisma llave pública desde el servidor al comparar la entrada del servidor en el archivo ~/.ssh/known_hosts con la llave pública que envió el servidor. Si las llaves no coinciden, el clienteasume que el tráfico de la red está siendo secuestrado o que el servidor ha sido comprometido einterrumpe la conexión.

Esto significa que si se cambia una llave pública del servidor (porque la llave se perdió debidoa una falla en el disco duro, o porque fue reemplazada por algún motivo legítimo), los usuariosdeberán actualizar los archivos ~/.ssh/known_hosts para eliminar la entrada anterior parapoder iniciar sesión.

• Los ID de host se almacenan en ~/.ssh/known_hosts , en su sistema local:

$ cat ~/.ssh/known_hostsremotehost,192.168.0.101 ssh-rsa AAAAB3Nzac...

• Las llaves de host se almacenan en /etc/ssh/ssh_host_key*.

$ ls /etc/ssh/*key*ssh_host_dsa_key ssh_host_key ssh_host_rsa_keyssh_host_dsa_key.pub ssh_host_key.pub ssh_host_rsa_key.pub

notaUn método aún mejor es agregar entradas que hagan coincidir los archivosssh_host_*key.pub de un servidor con el usuario ~/.ssh/known_hosts o /etc/ssh/ssh_known_hosts en todo el sistema por anticipado cuando la llave pública cambia.Consulte ssh-copy-id(1) para conocer una manera avanzada de administrar llaves de ssh.

Capítulo 2. Acceso a la línea de comando

26 RH135-6-es-2-20110131

ReferenciasPáginas del manual: ssh(1), w(1), hostname(1)

Llaves del host SSH

RH135-6-es-2-20110131 27

Práctica Lista de verificación de rendimiento

Acceso a la línea de comando remota

Inicie sesión como student en su máquina desktopX.

Use ssh para conectarse a su máquina serverX. Acepte la llave de host si se solicita.

Ejecute el comando w y exit.

Use ssh para conectarse a su máquina serverX como root.

Ejecute el comando w y salga.

Quite el archivo de hosts conocidos de SSH.

Use ssh para conectarse a serverX como root nuevamente. Acepte la llave ssh, iniciesesión y luego salga de la sesión.

Use ssh de forma no interactiva para ejecutar el comando hostname en serverX comoroot.

Capítulo 2. Acceso a la línea de comando

28 RH135-6-es-2-20110131

Prueba

Prueba de criterios

Ejercicio

Uso de la línea de comando

Realice los siguientes pasos con cuidado. Si tiene algún problema o alguna duda, consulte con suinstructor.

1. Cambie al segundo terminal virtual e inicie sesión como student en su máquina desktopX.

2. Conviértase en usuario root.

3. Use ssh para conectarse a su máquina serverX. Acepte la llave de host si se solicita.

4. Ejecute el comando w y exit.

5. Use SSH para conectarse a su máquina serverX como student.

6. Ejecute el comando w y exit.

7. Quite el archivo de hosts conocidos de ssh.

8. ssh a serverX como student nuevamente, y observe que se le solicita nuevamente la llavedel host. Acepte la llave.

9. Una vez que inició sesión, exit hacia atrás a su intérprete de comandos en desktopX.

10. Use ssh de forma no interactiva para ejecutar el comando ip route en serverX comoroot.

Llaves del host SSH

RH135-6-es-2-20110131 29

Notas personales

Capítulo 2. Acceso a la línea de comando

30 RH135-6-es-2-20110131

Resumen de la unidad

Acceso a la línea de comando a nivel local

En esta sección, aprendió a:

• Acceso a la línea de comando a nivel local con ventanas terminales

• Acceder a la línea de comando locamente con consolas virtuales

.Acceso a la línea de comando mediante ssh

En esta sección, aprendió a:

• Acceder a la línea de comando de forma remota con ssh

• Identificar ubicaciones de almacenamiento de llaves y ID de host

.

 

RH135-6-es-2-20110131 31

UNIDAD TRES

HERRAMIENTAS INTERMEDIASDE LA LÍNEA DE COMANDO

IntroducciónTemas tratados en esta unidad:

• Creación y uso de enlaces físicos

• Archivado y compresión de archivos

• Uso del editor de textos vim

Capítulo 3. Herramientas intermedias de la línea de comando

32 RH135-6-es-2-20110131

Uso de enlaces físicosEn Administración de sistemas Red Hat I, se presentaron los enlaces simbólicos,tambiénconocidos como symlinks o enlaces blandos. Un symlink es un archivo especial que apunta aotro archivo por el nombre, y que se puede tratar como si fuera ese archivo, dentro de ciertoslímites. En esta sección, aprenderá sobre otro tipo de enlace, denominado enlace físico, y en quése diferencian de los symlinks.

File Metadata Pointer to data block

File Metadata Pointer to data block

File Metadata Pointer to data block

1

2

3

inode Table

Every filesystem contains a list of files

Arbitrary data

(that is pointed to)

Data BlocksRegular file (-)

2

256

filename 1

1hardlink

symlink 3

Sym bolic link (l)

filename

Directory (d)

Cada archivo en un sistema de archivos POSIX como ext4 tiene un nodo de índice, oinodo,asociado a este. El inodo contiene la información básica sobre el archivo: sus permisos,marcas de tiempo y punteros para los datos almacenados en el archivo. Cuando crea un archivonuevo, se asigna a este un inodo sin usar en el sistema de archivos, y se agrega una entradaal directorio en el que se encuentra el nuevo archivo, lo que asigna el nombre del archivo alnúmero del inodo. Un enlace físico le permite configurar un nombre adicional que apunte almismo número de inodo desde alguna otra parte en el mismo sistema de archivos.

Dado que los enlaces físicos apuntan un nombre a los datos del inodo, no se pueden utilizar paraasociar dos archivos en sistemas de archivos separados. Los enlaces blandos, que apuntan unnombre a otro nombre, pueden cruzar sistemas de archivos e incluso apuntar a directorios. Porotra parte, todos los enlaces físicos apuntan de manera equitativa a los mismos datos; ningún

Creación y visualización de enlaces

RH135-6-es-2-20110131 33

nombre es más importante que otro, y se pueden eliminar de manera independiente. Con losenlaces blandos, si se elimina el archivo original, también se rompen todos los enlaces blandosque apuntan a este.

Los enlaces físicos son creados por el comando ln, del mismo modo que los symlinks, pero sin laopción -s:

[user@host ~]$ ln original hardlink

Enlaces físicos Enlaces simbólicos

Varios nombres que apuntan al mismo inodo. Nombres adicionales que apuntan al nombreoriginal.

Incrementan el conteo de enlaces. Archivo aparte.

Todos los nombres son iguales. Los nombres adicionales se pueden romper.

Los datos se preservan hasta que se eliminantodos los nombres.

Se produce una pérdida de datos si se eliminael nombre original.

Deben estar en el mismo sistema de archivos Pueden cruzar a través de sistemas dearchivos

Tabla 3.1. Comparación entre tipos de enlaces

Creación y visualización de enlaces1. Crear un enlace simbólico:

$ touch original$ ln -s original symlink

2. Crear un enlace físico:

$ ln original hardlink

3. Ver inodo, conteo de enlaces y referencia de enlace simbólico:

$ ls -il original symlink hardlink

65661 -rw-r--r--. 2 root root 0 Jan 26 12:20 hardlink65661 -rw-r--r--. 2 root root 0 Jan 26 12:20 original

65662 lrwxrwxrwx. 1 root root 8 Jan 26 12:20 symlink -> original

La primera columna de la salida de ls -il es el número de inodo.

Conteo de enlaces. Este aumenta cuando crea un nuevo enlace físico, y disminuyecuando elimina uno de los enlaces físicos.Este es el tamaño en bytes del archivo (el nombre "original" tiene ocho caracteres deun byte).Nombre del enlace simbólico.

Nombre del archivo al cual apunta el enlace simbólico.

Los archivos original y hardlink tienen el mismo número de inodo (65661) porque enrealidad existe solo un archivo con múltiples nombres asociados a este. Si se elimina algún

Capítulo 3. Herramientas intermedias de la línea de comando

34 RH135-6-es-2-20110131

nombre de archivo, el otro nombre de archivo quedaría intacto, pero se reduciría el conteode enlaces (de 2 a 1).

El enlace simbólico (symlink) tiene un número de inodo diferente, porque es un archivodiferente. La capacidad de acceder al archivo symlink está basada en los permisos deoriginal (rw-r-r-). Los permisos rwxrwxrwx que se muestran en symlink no tienensignificado. Elimine original, y symlink apuntará a un archivo faltante (es un enlace roto).

ReferenciasPáginas del manual: ln(1), ls(1), symlink(7)

Creación y visualización de enlaces

RH135-6-es-2-20110131 35

Práctica Cuestionario

Comparación entre enlaces físicos y simbólicos1. Un se puede utilizar para cruzar

entre sistemas de archivos.

2. Un aumenta elconteo de enlaces.

3. Cuando crea un , puedeeliminar el archivo original sin perder ningún dato.

Capítulo 3. Herramientas intermedias de la línea de comando

36 RH135-6-es-2-20110131

Práctica Ejercicio

Implementar enlaces físicos y simbólicos

Use esta tarea para practicar la creación y la exploración de enlaces físicos y simbólicos.

Realice los siguientes pasos con cuidado. Si tiene algún problema o alguna duda, consulte con suinstructor.

1. Inicie sesión en la máquina desktopX como student.

2. Cree un archivo con el nombre test1 en su directorio hogar.

3. Cree un enlace simbólico en el directorio hogar denominado symlink que apunte al archivotest1, y compruebe que symlink apunte al contenido de test1.

4. Cree un enlace físico en el directorio hogar con el nombre hardlink que apunte al archivotest1.

5. ¿Cuál es el conteo de enlaces para el archivo test1?

6. Quite el archivo test1.

7. ¿Qué sucedió con symlink?

8. ¿Cuál es el conteo de enlaces en hardlink?

9. ¿Cómo recuperaría los datos en el archivo test1?

Archivadores y compresión

RH135-6-es-2-20110131 37

Archivadores y compresiónEl archivado y la compresión de archivos es útil cuando se realizan copias de seguridad y setransfieren datos a través de una red. Uno de los comandos más antiguos y más comunes paracrear y trabajar con archivos de copias de seguridad es el comando tar (que originalmentesignificaba "tape archiver").

Con el comando tar, puede reunir grandes conjuntos de archivos en un único archivo (fichero).Puede indicar que el archivo debe comprimirse con la compresión gzip o bzip2. Algunasopciones le permiten realizar copias de seguridad de funciones especiales asociadas con losarchivos de los que realizó copias de seguridad, como atributos de archivos extendidos ycontextos de SELinux.

El comando tar también puede enumerar el contenido de ficheros o extraer sus archivos a susistema actual. En esta sección, se incluyen ejemplos de cómo usar el comando tar.

Opciones principales de tar1. = crear

2. = extraer

3. = evaluar

4. = detallado

5. = nombre de archivo

6. = gzip

7. = bzip2

Para usar el comando tar, se requiere una de las siguientes opciones: c (crear un fichero),x (extraer un fichero) o t (evaluar o enumerar el contenido de un fichero). Otras opciones lepermiten agregar detalles (v), indicar el nombre del fichero de archivos que se creará o extraerá(f filename) y configurar el tipo de compresión que se usará (g para gzip o j para bzip2).

Ejemplo de sintaxis de tarCrear (c) un fichero de archivos comprimido como gzip (z) (f /tmp/etc.tar.gz) deldirectorio /etc. Sea detallado (v) con la salida. El comando tar no tiene una capacidad espacialpara leer archivos para los que no tiene acceso a la lectura, por lo tanto, ejecute este comandocomo root para realizar una copia de seguridad del directorio /etc completo.

# tar cvzf /tmp/etc.tar.gz /etc

Muestre un extenso (v) listado (t) de archivos en un fichero de archivos comprimido como bzip2(j) (f /tmp/abc.tar.bz2).

Capítulo 3. Herramientas intermedias de la línea de comando

38 RH135-6-es-2-20110131

$ tar tvjf /tmp/abc.tar.bz2

Extraiga (x) y vea (v) todos los archivos de un fichero de archivos (f /tmp/etc.tar.gz)comprimido como gzip (z) al directorio actual.

$ tar xvzf /tmp/etc.tgz

Además, se pueden usar gzip y bzip2 de modo independiente para comprimir archivos.gunzip y bunzip2 son los comandos de descompresión correspondientes. Por ejemplo, bunzipabc.tar.bz2 da como resultado el archivo tar descomprimido abc.tar. Del mismo modo,gunzip /tmp/etc.tgz da como resultado el archivo tar descomprimido etc.tar.

Use este espacio para sus notas.

ReferenciasPáginas del manual: tar(1), bzip2(1), gzip(1)

Archivadores y compresión

RH135-6-es-2-20110131 39

Práctica Ejercicio

Archivar y comprimir archivos

Realice una copia de seguridad del directorio /etc desde serverX para descomprimir un ficherode archivos tar comprimido. Use el comando rsync para copiar ese fichero en su sistemadesktopX. Luego extraiga los archivos al directorio /backups en desktopX. Cree el directorio /backups si aún no existe.

Realice los siguientes pasos con cuidado. Si tiene algún problema o alguna duda, consulte con suinstructor.

1. Inicie sesión en serverX como root.

2. Cree un archivo de /etc con la compresión gzip. Guarde el archivo como /tmp/etc.tar.gz.

3. Copie el archivo /tmp/etc.tar.gz desde su serverX al directorio /backups en sumáquina desktopX.

4. Extraiga el archivo comprimido en /backups, en desktopX.

Capítulo 3. Herramientas intermedias de la línea de comando

40 RH135-6-es-2-20110131

Introducción a VIMVIM (vi Improved) es un poderoso editor de textos que es más sofisticado que gedit. Además,a diferencia de gedit, siempre puede esperar que vim (o su antecesor, vi) esté disponible encualquier sistema Linux.

El editor vim admite manipulaciones de texto sofisticado que son muy útiles para laadministración de sistemas. De hecho, si está familiarizado con la utilidad vi, descubrirá que vimincluye funciones de vi, además de muchas otras funciones como editar con la pantalla dividida,formatear en color tipos de archivos conocidos y resaltar texto para copiar y cambiar texto, pornombrar algunas.

Un motivo por el cual vim es poderoso pero complicado de aprender es que es un editor modal;funciona de manera diferente según en qué modo esté. Para comenzar, existen tres modos quedebe conocer: modo normal (también denominado modo comandos), modo insertar y modo ex.

Modos principales de vim1. El modo se usa para

la exploración de archivos, copiar y pegar, y ejecutarcomandos simples.

2. El modo se usa para laedición de texto normal.

3. El modo se usa paraguardar, salir, buscar y reemplazar, y realizar otrasoperaciones complejas.

Modo comandosDespués de abrir el editor vim, comienza en modo comandos. Este es el modo básico al queregresa cuando finaliza una edición y se prepara para guardar, buscar y reemplazar texto, orealiza otras operaciones. En este modo, puede moverse por el archivo (con las teclas PageUp,PageDown o las teclas de flechas), y al escribir los caracteres se pueden ejecutar muchoscomandos diferentes para hacer cosas como seleccionar, copiar o pegar texto. Un comando útilaquí es u, para deshacer el último cambio. Si está confundido acerca de en qué modo vim está,puede escribir Esc un par de veces para volver al modo comandos.

Modo InsertarDesde el modo comandos, presione la tecla i para ir al modo insertar en la posición actual delcursor. Luego, puede comenzar a ingresar texto. Puede usar las teclas de flechas para mover elcursor en vim mientras permanece en el modo insertar. Presione la tecla Esc para salir del modoinsertar y volver al modo comandos.

Modo ex

RH135-6-es-2-20110131 41

Modo exDesde el modo comandos, presione un carácter : para ir al modo ex, y el cursor se mueve a laparte inferior de la pantalla. Presione :q (para salir), :w (para escribir cambios en el archivo)o :wq para escribir y salir. Utilice el carácter ! para anular una acción predeterminada. Porejemplo :q! le permite salir sin guardar y :w! le permite anular un archivo de solo lectura (sies propietario de este). Otros comandos están disponibles en el modo ex, incluido un sistema deayuda en línea bajo :help.

ImportanteEn Red Hat Enterprise Linux, vi ejecuta vim en un modo de compatibilidad con vi mássimple, sin todas las mejoras de vim. Esto puede ser confuso, porque vi es un alias para elcomando vim con todas las funciones para todos los usuario con UID por encima de 200.Por lo tanto, si ejecuta vi como un usuario típico, obtendrá vim; pero si ejecuta vi comousuario root, obtendrá el comando vi simplificado. El usuario root puede funcionar en estoal ejecutar vim de manera explícita.

ReferenciasPágina del manual: vim(1)

Capítulo 3. Herramientas intermedias de la línea de comando

42 RH135-6-es-2-20110131

Flujo de trabajo básico de VIMEl instructor demostrará un ejemplo típico de cómo editar un archivo con los comandos vimbásicos. Es posible realizar cosas mucho más sofisticadas, pero este flujo de trabajo básico es elmínimo necesario para ser productivo con vim.

Operaciones de VIM1. Abrir un archivo: vim filename

2. Usar las teclas de flechas para ubicar el cursor.

3. Cambiar a modo inserción (de modo comando): i

4. Ingresar su texto.

5. Regresar a modo comando: Esc

6. Cambiar a modo ex (de modo comando): : (presionar la tecla de los dos puntos)

7. Guardar el archivo (desde el modo ex): w

o bien

Guardar y salir (desde el modo ex): wq

o bien

Salir sin implementar los cambios (desde el modo ex): q!

También recuerde que, en el modo comandos, puede deshacer los cambios con el comando u.

notaEl comando vimtutor, incluido con vim, ejecuta un tutorial que puede serle útil paraaprender más acerca de vim fuera de clase. Observe que vimtutor está disponible enmúltiples idiomas y respeta automáticamente la configuración de $LANG actual; consulte laIntroducción a este libro y la página del manual vimtutor(1) para obtener más detalles.

ReferenciasPáginas del manual: vim(1), vimtutor(1)

Modo ex

RH135-6-es-2-20110131 43

Práctica Ejercicio

Editar archivos con VIM

Cree y edite un pequeño archivo de texto para practicar algunos comandos vim. Luego, edite elarchivo /etc/issues y observe cómo el contenido de ese archivo se muestra en los avisos deinicio de sesión de sus consolas virtuales.

Realice los siguientes pasos con cuidado. Si tiene algún problema o alguna duda, consulte con suinstructor.

1. Abra un intérprete de comandos en su máquina desktopX y conviértase en usuario root.

2. Abra un archivo de práctica: vim /tmp/testfile.txt

3. Presione i para ir al modo insertar. Luego escriba texto que se vea de la siguiente manera:

Change the last word in this line to goose: duckQuack Quack Remove the first two Quack words.Copy this line so it appears twiceMake sure this is the first line in the file.

4. Presione la tecla Esc y escriba 1G para volver a la primera línea del archivo.

5. En la primera línea, cambie la palabra duck a goose.

6. En la segunda línea, elimine las primeras dos apariciones de Quack

7. Copie la tercera línea, luego péguela de modo que aparezca dos veces.

8. Elimine la línea final, luego péguela de modo que aparezca como la primera línea de la fila.

Cuando haya finalizado, el texto completo debe aparecer de la siguiente manera:

Make sure this is the first line in the file.Change the last word in this line to goose: gooseRemove the first two Quack words.Copy this line so it appears twiceCopy this line so it appears twice

9. Guarde y salga del archivo (escriba :wq).

10. A continuación, use VIM para editar /etc/issue y agregue el texto

Welcome!

en la parte superior del archivo.

11. Realice una prueba al cambiar a una consola virtual (Ctrl+AltF2) y al presionar Enterpara actualizar el aviso. El texto Welcome! debe aparecer en la parte superior del aviso deinicio de sesión.

Capítulo 3. Herramientas intermedias de la línea de comando

44 RH135-6-es-2-20110131

Prueba

Prueba de criterios

Ejercicio

Practicar el uso de ln, tar y VIM

Combine las habilidades que aprendió en esta unidad; para ello, cree enlaces (físico y blandos)con el comando ln, cree un fichero de archivos tar y use el editor de texto vim.

Realice los siguientes pasos con cuidado. Si tiene algún problema o alguna duda, consulte con suinstructor.

1. Inicie sesión en serverX como student.

2. Cree un enlace simbólico a /etc/passwd en su directorio hogar.

3. Cree un nuevo archivo en su directorio hogar con el nombre newfile.

4. Cree un enlace físico a newfile, con el nombre newhardlink.

5. Archive y comprima (con la compresión bzip2) su directorio hogar en /tmp/student-home.tar.bz2.

6. Cree un nuevo archivo en su directorio hogar con el nombre myvimfile.txt con vim eincluya la siguiente línea:

I wrote this using vim!

Modo ex

RH135-6-es-2-20110131 45

Notas personales

Capítulo 3. Herramientas intermedias de la línea de comando

46 RH135-6-es-2-20110131

Resumen de la unidad

Uso de enlaces físicos

En esta sección, aprendió a:

• Identificar las diferencias entre enlaces físicos y simbólicos

• Crear y usar enlaces físicos

.Archivadores y compresión

En esta sección, aprendió a:

• Archivar y comprimir archivos con las herramientas de la línea de comando (tar,gzip y bzip2)

.Introducción a VIM

En esta sección, aprendió a:

• Identificar los tres modos principales de vim

• Use algunos comandos básicos con el editor vim

.Flujo de trabajo básico de VIM

En esta sección, aprendió a:

• Crear y modificar archivos con vim

.

 

RH135-6-es-2-20110131 47

UNIDAD CUATRO

EXPRESIONES REGULARES,CANALIZACIONES YREDIRECCIÓN DE ENTRADA/SALIDA (I/O)

IntroducciónTemas tratados en esta unidad:

• Coincidencias de patrones de expresiones regulares

• Filtro de texto grep

• Redirección de entrada/salida

Capítulo 4. Expresiones regulares, canalizaciones y redirección de entrada/salida (I/O)

48 RH135-6-es-2-20110131

Expresiones regulares básicasLas expresiones regulares son cadenas de texto especiales que se utilizan para buscar y hacercoincidir patrones de texto. Proporcionan una manera poderosa pero concisa de expresarexactamente el texto con el que debe coincidir una búsqueda. No son tan sencillas para elusuario novato como podría serlo la herramienta de búsqueda gráfica, pero permiten expresarcondiciones complejas con algo de práctica. Las expresiones regulares son utilizadas por muchasherramientas de la línea de comando de Linux, incluidas less, man, vim y otras que aún nohemos presentado.

Las expresiones regulares a veces se denominan regexps o regexes de manera abreviada.

La regla básica de las expresiones regulares es que los caracteres normales que aparecen en unacadena regex son tratados como los caracteres que deseamos hacer coincidir, en mayor parte.Los caracteres especiales o de puntuación se utilizan como comodines, para indicar repetición,para marcar límites de líneas o palabras, o para otros propósitos de coincidencia especiales. Lasexpresiones regulares también son amables; se combinan con la cadena más larga posible a laque se ajusten.

La tabla que se muestra a continuación proporciona algunos ejemplos de sintaxis de expresionesregulares.

Expresión Definición Ejemplo deexpresión regular

Coincidencias de ejemplo

d Literal: la letra "d" dog dog

dogma

slumdogs

* Modificador: cero o más delcarácter anterior

hel*o hello

Theophilus

helllllllo

. Comodín: cualquier caráctersimple

test.txt test.txt

test0txt.jpg

mytest!txt

[ ] Comodín: cualquier caráctersimple del conjunto

file[1234] file1

file2

file3.txt

somefile4

[^ ] Comodín: cualquier caráctersimple que no está en elconjunto

file[^0123456789] filea

fileA

fileb.txt

RH135-6-es-2-20110131 49

Expresión Definición Ejemplo deexpresión regular

Coincidencias de ejemplo

somefile%

^ Anclaje: la línea comienzacon...

^Test [la línea comienza con]Test

[la línea comienzacon]Testing. 1, 2, 3, 4.

$ Anclaje: la línea termina con... test$ test[final de la línea]

some test[final de la línea]

.* combinación de . (cualquiercarácter) más * (cero o más)

^Test.*123 [la línea comienzacon]Testing1234

[la línea comienzacon]Test123.txt

[la línea comienza con]Testthis has 123456.

\ Trata al siguiente caráctercomo literal.

test\.$ test. [final de la línea]

Tabla 4.1. Sintaxis de expresiones regulares

notaExisten dos variaciones de la sintaxis de expresiones regulares, básica y extendida, como sedocumenta en regex(7). Difieren en algunos detalles menores que no afectan el análisis dearriba.

Más ejemplos de expresiones regulares1. ¿Con qué coincide h[aiou]t?

2. ¿Con qué coincide b[ol][oa]t?

Capítulo 4. Expresiones regulares, canalizaciones y redirección de entrada/salida (I/O)

50 RH135-6-es-2-20110131

notaEstudiantes avanzados. El uso de rangos como [a-z] para hacer coincidir cosas como todoslos caracteres en minúscula es proclive a errores dado que el ordenamiento varía según laconfiguración de $LANG cuando regex se ejecuta. El uso de clases de caracteres POSIX comoas [[:lower:]] generalmente es mejor; consulte la página del manual regex(7) paraobtener más detalles. No analizaremos esto en profundidad en este curso.

ReferenciasPágina del manual: regex(7)

RH135-6-es-2-20110131 51

Práctica Cuestionario

Coincidencia de expresiones regularesSeleccione todos los elementos que coincidan con la expresión regular en cada uno de estoscasos.

1. ba[nr]k

(seleccione uno o más de los siguientes…)a. bankb. banrkc. barkd. bakk

2. ^root

(seleccione uno o más de los siguientes…)a. root:x:0:0:root:/root:/bin/bashb. operator:x:11:0:operator:/root:/sbin/nologinc. ¡El usuario root es el mejor!d. Usted no es usuario root.

3. root

(seleccione uno o más de los siguientes…)a. root:x:0:0:root:/root:/bin/bashb. operator:x:11:0:operator:/root:/sbin/nologinc. ¡El usuario root es el mejor!d. Usted no es usuario root.

4. r..t

(seleccione uno o más de los siguientes…)a. root:x:0:0:root:/root:/bin/bashb. operator:x:11:0:operator:/root:/sbin/nologinc. ¡El usuario root es el mejor!d. Usted no es usuario root.

Capítulo 4. Expresiones regulares, canalizaciones y redirección de entrada/salida (I/O)

52 RH135-6-es-2-20110131

Práctica Cuestionario

Crear una expresión regularCree una expresión regular que coincida para cada uno de los siguientes requisitos.

1. La línea comienza con "Probar" o "probar".

2. La línea finaliza con "fin".

3. La línea completa es:

Esto es una prueba.

4. Cualquiera de los siguientes nombres:

archivo5 archivo6 archivo7 archivo8

5. Cualquiera de los siguientes nombres:

archivo2 archivo4 archivo6 archivo8

RH135-6-es-2-20110131 53

Práctica Ejercicio

Expresiones regulares en las páginas man

Realice los siguientes pasos con cuidado. Si tiene algún problema o alguna duda, consulte con suinstructor.

Abra la página del manual passwd(1) y realice las siguientes búsquedas de expresionesregulares. Recuerde que debe usar la barra diagonal (/) para buscar páginas de manual.

ImportanteAsegúrese de volver a la parte superior de la página del manual entre cada una de estasbúsquedas; para ello, presione la tecla g.

1. Buscar exit

2. Buscar una línea que comience con exit

3. Buscar password

4. Buscar password.

5. Busque cualquier cosa hasta (e incluido) pass

Capítulo 4. Expresiones regulares, canalizaciones y redirección de entrada/salida (I/O)

54 RH135-6-es-2-20110131

Uso de grepEl comando grep es un General Regular Expression Parser (analizador de expresiones regularesgeneral); busca en un archivo cadenas que coincidan con una expresión regular dada, y, demanera predeterminada, escribe cualquier línea que contenga una cadena que coincida.

Existen muchas opciones que se pueden configurar para grep, que afectan su salida. Algunasde las más útiles incluyen --color para colorear el patrón en la línea que coincidió, -i quehace coincidir la regex de forma que no distinga entre mayúsculas y minúsculas y -v que escribecualquier línea que no contenga una cadena que coincida con la regex.

El comando grep puede ser una herramienta sorprendentemente útil al analizar los archivos deconfiguración o al buscar información almacenada en archivos de texto en el sistema.

Analizaremos el uso de grep mediante la extracción de líneas del archivo /etc/passwd. Tomenota sobre el patrón con en el coincide cada uno de estos comandos.

• grep 'root' /etc/passwd

• grep --color 'root' /etc/passwd

• grep '^root' /etc/passwd

• grep ':/bin/bash$' /etc/passwd

• grep ':/home/.*:' /etc/passwd

Use este espacio para sus notas.

ReferenciasPáginas del manual: grep(1), passwd(5)

RH135-6-es-2-20110131 55

Práctica Cuestionario

Crear comandos grepCree comandos grep para cumplir con los requisitos indicados a continuación en función delarchivo /etc/passwd.

1. Escriba todos los nombres de usuario que comiencen con laletra r.

2. Escriba todos los nombres de usuario que comiencen con laletra g.

3. Escriba todas las cuentas cuyos intérpretes de comandos(última columna) sean /sbin/nologin.

4. Escriba todas las cuentas con UID o GID (tercera y cuartacolumnas) 0.

5. Escriba todas las cuentas con UID o GID en el rango de 10 a19.

Capítulo 4. Expresiones regulares, canalizaciones y redirección de entrada/salida (I/O)

56 RH135-6-es-2-20110131

Canalizaciones y redirecciónLas canalizaciones y la redirección de E/S son dos de las funciones más poderosas de la línea decomando en Linux.

La redirección de E/S le permite redireccionar la salida estándar o los mensajes de errordesde un programa a un archivo, guardarlos o analizarlos más tarde o eliminarlos para que noaparezcan en la terminal. También puede leer la entrada de un archivo, en lugar del teclado, a unprograma de la línea de comando.

Las tuberías le permite conectar los mensajes de salida estándar de un programa a la entradade otro programa. Esto permite que múltiples programas más pequeños se encadenen en unacanalización, cada programa actúa en la salida del anterior.

Nombre Descripción Número Valorpredeterminado

STDIN Entrada estándar 0 Teclado

STDOUT Salida estándar 1 Terminal

STDERR Error estándar 2 Terminal

Tabla 4.2. Canales

Palabraclave

Definición Ejemplos

> RedirigirSTDOUT aun archivo(sobrescribir)

date > /tmp/filedate > /tmp/filegrep '/sbin/nologin$' /etc/passwd > /tmp/file2cat file1 file2 file3 file4 > /tmp/file

>> RedirigirSTDOUT a unarchivo (agregar)

date >> /tmp/filedate > /tmp/filels >> /tmp/filefind /etc -name passwd >> /tmp/file

2> RedirigirSTDERR aun archivo(sobrescribir)

find /etc -name passwd 2> /tmp/errorsfind /etc -name passwd > /tmp/output 2> /tmp/errors

2> /dev/null Descartarresultados alredirigir a /dev/null

find /etc -name passwd 2> /dev/nullfind /etc -name passwd > /tmp/output 2> /dev/null

2>&1 CombinarSTDERR conSTDOUT

find /etc -name passwd > /tmp/all 2>&1find /etc -name passwd 2>&1 | less

< Redirigir STDIN grep 'root' < /etc/passwd

| Canalizar oenviar STDOUT

ls /usr/lib64 | grep '^lib'grep '/sbin/nologin$' /etc/passwd | lpr

Canalizaciones y redirección

RH135-6-es-2-20110131 57

Palabraclave

Definición Ejemplos

de un comandoa STDIN de otrocomando

sort /etc/passwd | mail -s “Sorted Accounts” [email protected] /usr/lib64 | less

Tabla 4.3. Operadores de redirección

Importante2>&1 redirige el error estándar al mismo lugar que la salida estándar. Si redirige un errorestándar en la misma línea de comando, 2>&1 debe estar al final:

[user@host ~]$ find / -user student > output 2>&1

AdvertenciaLos comandos program > file o program 2> file anularán el contenido de file sifile ya existe. Sea muy cuidadoso al usar la redirección del error o la salida.

ReferenciasPáginas del manual: bash(1), cat(1), sort(1), grep(1), lpr(1), less(1), mail(1), find(1)

Capítulo 4. Expresiones regulares, canalizaciones y redirección de entrada/salida (I/O)

58 RH135-6-es-2-20110131

Práctica Cuestionario

Canalizaciones y redirecciónCree comandos que cumplan con los requisitos indicados a continuación

1. Enumere todos los archivos en /usr/share/doc quefinalicen con el número cuatro.

2. Escriba todas las líneas en /etc/hosts que tengan unnúmero.

3. Escriba la línea en /etc/hosts que tenga 127.0.0.1.

4. Ejecute el siguiente comando como student y redirijaSTDOUT a /tmp/output.txt y STDERR a /tmp/error.txt.

find /etc -name 'host*'

5. Ejecute el siguiente comando como student y redirijaSTDOUT y STDERR al archivo /tmp/all.txt.

find /etc -name 'host*'

6. Ordene el archivo /etc/passwd y envíelo a la impresorapredeterminada.

Canalizaciones y redirección

RH135-6-es-2-20110131 59

7. Escriba las líneas en /etc/passwd que tengan un númerode tres dígitos entre los dos puntos (:).

Capítulo 4. Expresiones regulares, canalizaciones y redirección de entrada/salida (I/O)

60 RH135-6-es-2-20110131

Prueba

Prueba de criterios

Ejercicio

Expresiones regulares, canalizaciones y redirección deentrada/salida (I/O)

Realice los siguientes pasos con cuidado. Si tiene algún problema o alguna duda, consulte con suinstructor.

1. Inicie sesión en serverX como student.

2. Escriba todas las líneas en /etc/hosts que no comiencen con una marca "hash" (#).[SUGERENCIA: Busque Invertir en la página del manual grep(1)]. Redireccione los resultadosa /tmp/hosts.

3. Agregue los resultados de date y hostname al archivo /tmp/hosts.

4. Edite /tmp/hosts con gedit o vim y cambie 127.0.0.1 a 127.0.0.2. Comente losresultados de date y hostname al agregar una marca "hash" (#) al comienzo de la línea.

5. Use la página del manual lpr(1), escriba las líneas que contengan la palabra file seguidade ninguna o más "s". Redirija los resultados al archivo /tmp/lpr.man.

Canalizaciones y redirección

RH135-6-es-2-20110131 61

Notas personales

Capítulo 4. Expresiones regulares, canalizaciones y redirección de entrada/salida (I/O)

62 RH135-6-es-2-20110131

Resumen de la unidad

Expresiones regulares básicas

En esta sección, aprendió a:

• Identificar la sintaxis de expresiones regulares básicas mediante el uso de literales,modificadores, comodines y anclajes

.Uso de grep

En esta sección, aprendió a:

• Use las herramientas de la línea de comando para buscar en los archivos y resultados

.Canalizaciones y redirección

En esta sección, aprendió a:

• Redirigir los resultados de comando

• Usar canalizaciones para administrar los resultados

.

 

RH135-6-es-2-20110131 63

UNIDAD CINCO

CONFIGURACIÓN DE RED YSOLUCIÓN DE PROBLEMAS

IntroducciónTemas tratados en esta unidad:

• Archivos de configuración de red

• Proceso de solución de problemas básico

• Kit de herramientas para la solución de problemas de red

Capítulo 5. Configuración de red y solución de problemas

64 RH135-6-es-2-20110131

Comprensión de los archivos de configuración dered

Nombres de interfaz de redEl kernel Linux nombra a las interfaces con un prefijo específico según el tipo de interfaz. Porejemplo, todas las interfaces Ethernet comienzan con eth, independientemente del proveedorde hardware específico. Después del prefijo, cada interfaz está numerada, comenzando desdecero. Por ejemplo, eth0, eth1 y eth2 harían referencia a la primera, segunda y tercerainterfaz Ethernet. Entre otros nombres de interfaz se incluyen wlan0 para el primer dispositivoinalámbrico, virbr0 para el puente interno configurado para hosts virtuales y bond0 para elprimer dispositivo de red unido, y así sucesivamente.

Configuración de interfaz de red/sbin/ip se usa para mostrar o modificar temporalmente los dispositivos, el enrutamiento, elenrutamiento por política y los túneles.

[root@demo ~]# ip addr show eth02: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 52:54:00:00:00:fa brd ff:ff:ff:ff:ff:ff inet 192.168.0.250/24 brd 192.168.0.255 scope global eth0 inet6 fe80::5054:ff:fe00:fa/64 scope link valid_lft forever preferred_lft forever[root@demo ~]# ip -s link show eth02: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 52:54:00:00:00:fa brd ff:ff:ff:ff:ff:ff RX: bytes packets errors dropped overrun mcast 91449 520 0 0 0 0 TX: bytes packets errors dropped carrier collsns 14020 99 0 0 0 0 [root@demo ~]# ip route192.168.0.0/24 dev eth0 proto kernel scope link src 192.168.0.250 metric 1 default via 192.168.0.254 dev eth0 proto static

notaip -6 route muestra la tabla de enrutamiento de IPv6.

Resolución de nombres de hostEl comando hostname muestra o modifica temporalmente el nombre de host completo delsistema.

[root@demo ~]# hostnamedemo.example.com

El identificador stub se usa para convertir nombres de host a direcciones IP, o al revés. Primero,se verifica el contenido del archivo /etc/hosts.

Resolución de nombres de host

RH135-6-es-2-20110131 65

[root@demo ~]# cat /etc/hosts192.168.0.250 demo.example.com demo # Added by NetworkManager127.0.0.1 localhost.localdomain localhost::1 demo.example.com demo localhost6.localdomain6 localhost6

Si no se encuentra una entrada en ese archivo, el identificador stub buscará la información enun servidor de nombres DNS. El archivo /etc/resolv.conf controla cómo se realiza estaconsulta:

• nameserver: dirección IP de un servidor de nombres para la consulta. Pueden otorgarse hastatres directivas de servidor de nombres como respaldo si una no funciona.

• search: lista de nombres de dominio para el intento con un nombre de host corto. Tanto estecomo domain no deben establecerse en el mismo archivo; si esto ocurre, prevalecerá la últimainstancia. Consulte resolv.conf(5) para obtener más detalles.

[root@demo ~]# cat /etc/resolv.conf# Generated by NetworkManagerdomain example.comsearch example.comnameserver 192.168.0.254

El comando getent hosts hostname puede usarse para probar la resolución de nombres dehost.

Capítulo 5. Configuración de red y solución de problemas

66 RH135-6-es-2-20110131

Modificación de la configuración de redNetworkManager puede instalarse en Red Hat Enterprise Linux 6. Consiste en un demoniobásico, una miniaplicación del área de notificaciones de GNOME que brinda información sobreel estado de la red, y herramientas de configuración gráfica que pueden crear, editar y quitarconexiones e interfaces.

Para que la interfaz eth0 administrada por NetworkManager pase de usar DHCP a usar unadirección IP estática:

1. Haga clic con el botón secundario del ratón en el icono de NetworkManager en el panelsuperior y seleccione Edit connections...

2. En la pestaña Wired, seleccione System eth0 y haga clic en el botón Edit...

3. Seleccione la pestaña IPv4 Settings.

4. En el menú desplegable Method, cambie Automatic (DHCP) a Manual.

5. En Addresses, haga clic en Add y escriba la dirección IPv4, la máscara de red (en notaciónVLSN o CIDR), el enrutador de puerta de enlace y el servidor DNS que se usarán.

6. IMPORTANTE: asegúrese de que la opción Connect automatically esté activada para que lainterfaz se inicie durante el proceso de arranque (en lugar de hacerlo cuando el usuario iniciasesión) y que la opción Available to all users también esté activada para que se encuentredisponible en todo el sistema.

7. Haga clic en Apply para aplicar los cambios.

También se puede configurar la red editando los archivos de configuración de interfaz. Losarchivos de configuración de interfaz controlan las interfaces de software para dispositivos dered individuales. Estos archivos por lo general reciben el nombre /etc/sysconfig/network-scripts/ifcfg-<name>, donde <name> hace referencia al nombre del dispositivo que controlael archivo de configuración. A continuación, se muestran las variables estándares encontradas enel archivo que se usa para la configuración estática o dinámica.

Estática DHCP Cualquiera

BOOTPROTO=static

IPADDR=192.168.0.250

PREFIX=24

GATEWAY=192.168.0.254

DNS1=192.168.0.254

BOOTPROTO=dhcp DEVICE=eth0

ONBOOT=yes

HWADDR=52:54:00:00:00:FA

NM_CONTROLLED=yes

Tabla 5.1. Opciones de configuración para el archivo ifcfg

Modificación de la configuración de red

RH135-6-es-2-20110131 67

notaSi NetworkManager se está ejecutando, todos los cambios hechos en los archivos ifcfg-*se implementan inmediatamente.

notaSi necesita configurar rutas estáticas, la configuración se guarda por interfaz en /etc/sysconfig/network-scripts/route-<name>. Puede encontrar los detalles en elManual de implementación de Red Hat Enterprise Linux, consulte a continuación.

ImportanteNetworkManager se ejecuta de manera predeterminada en Red Hat EnterpriseLinux 6, y es posible que ocasione conflictos con la configuración de su red. Si deseaadministrar de manera permanente la configuración de la red de forma manual, agregueNM_CONTROLLED=no al archivo ifcfg-* para cada interfaz de red.

/etc/sysconfig/network se usa para especificar el nombre de host completo y puedeespecificar una ruta estática predeterminada si no se usa DHCP:

[root@demo ~]# cat /etc/sysconfig/networkNETWORKING=yesHOSTNAME=demo.example.comGATEWAY=192.168.0.254

Como vimos anteriormente, /etc/resolv.conf especifica las direcciones IP de los servidoresDNS y el dominio de búsqueda.

ImportanteSi se usa DHCP, /etc/resolv.conf se vuelve a escribir automáticamente a medida quelas interfaces se inician, a menos que usted especifique PEERDNS=no en los archivos deconfiguración de interfaz relevantes.

Las interfaces de red pueden desactivarse con el comando ifdown eth0 y activarse con elcomando ifup eth0, ya sea si están administradas por NetworkManager o por archivos deconfiguración no administrados.

Al cambiar la configuración del sistema, recuerde:

Capítulo 5. Configuración de red y solución de problemas

68 RH135-6-es-2-20110131

1. Modificar un archivo de configuración

2. Reiniciar un servicio

3. Verificar el cambio

ReferenciasRed Hat Enterprise Linux Deployment Guide

• Sección 4.1: Archivos de configuración de red

Red Hat Enterprise Linux Deployment Guide

• Sección 4.2: Archivos de configuración de interfaz

Red Hat Enterprise Linux Deployment Guide

• Sección 4.4: Configuración de rutas estáticas

Red Hat Enterprise Linux Deployment Guide

• Capítulo 5: Configuración de la red

/usr/share/doc/initscripts-*/sysconfig.txt

Modificación de la configuración de red

RH135-6-es-2-20110131 69

Práctica Cuestionario

Visualización y modificación de la configuración dered1. Complete la tabla a continuación con comandos, utilidades y nombres de archivo.

Categoría deconfiguración Ver configuración actual Cambiar configuración

Dirección IP y máscara desubred

Enrutamiento/Puerta deenlace predeterminada

Nombre de host delsistema

Resolución de nombres

Tabla 5.2. Configuración de red desde la línea de comando

2. ¿Qué contiene un ifcfg-eth0 dinámico?

3. ¿Qué contiene un ifcfg-eth0 estático?

Capítulo 5. Configuración de red y solución de problemas

70 RH135-6-es-2-20110131

Proceso de solución de problemas básico

Pasos para la solución de problemas1. PROBAR

• Reproducir, verificar o caracterizar el problema

• Monitorear el problema

• Recopilar información general (versión de software o hardware, etc.)

• Recopilar información de diagnóstico (archivos de registro, mensajes de errores, etc.)

• Determinar el nivel de gravedad

2. VERIFICAR

• Revisar la configuración para ver si hay un error de configuración

• Comparar la configuración prevista con la configuración deseada

• Verificar el correcto funcionamiento y la correspondiente conexión del hardware local y delos recursos externos

3. REPARAR

• Modificar y activar la configuración

• Verificar al volver a ejecutar la fase PROBAR para asegurarse de que el problema hayasido resuelto

4. DOCUMENTAR

• El paso final de ajuste general que debe ejecutarse

Modificación de la configuración de red

RH135-6-es-2-20110131 71

Práctica Ejercicio

Documentar la configuración de red

Realice los siguientes pasos con cuidado. Si tiene algún problema o alguna duda, consulte con suinstructor.

Antes de dividir la configuración de red, documentemos la configuración actual en el sistema deserverX.

1. Inicie sesión en serverX como usuario root.

2. a. ¿Cuál es la dirección IP actual?

b. ¿Cuál es la máscara de subred CIDR actual?

c. ¿Cuál es la puerta de enlace predeterminada actual?

d. ¿Cuál es el nombre de host actual?

e. ¿Cuáles son los servidores DNS actuales?

Capítulo 5. Configuración de red y solución de problemas

72 RH135-6-es-2-20110131

Kit de herramientas para la solución de problemasde red

La tabla que se encuentra a continuación muestra cómo PROBAR, VERIFICAR y REPARAR cadauna de las categorías de solución de problemas de red:

Categoría PROBAR VERIFICAR REPARAR

Dirección IP ymáscara de subred

ping, acceso a unservicio

ip addr /etc/sysconfig/network-scripts/ifcfg-*

Enrutamiento/Puerta de enlacepredeterminada traceroute ip route /etc/sysconfig/

network-scripts/ifcfg-* oproporcionado víaDHCP

Resolución denombres

host /etc/hosts y /etc/resolv.conf

/etc/sysconfig/network-scripts/ifcfg-*

Tabla 5.3. Solución de problemas de red desde la línea de comando

Archivos y comandos útiles• ping

[root@demo ~]# ping -c 2 instructor.example.comPING instructor.example.com (192.168.0.254) 56(84) bytes of data.64 bytes from instructor.example.com (192.168.0.254): icmp_seq=1 ttl=64 time=0.697 ms64 bytes from instructor.example.com (192.168.0.254): icmp_seq=2 ttl=64 time=0.538 ms

--- instructor.example.com ping statistics ---2 packets transmitted, 2 received, 0% packet loss, time 1003msrtt min/avg/max/mdev = 0.538/0.617/0.697/0.083 ms

• ip addr show eth0

[root@demo ~]# ip addr show eth0

Kit de herramientas para la solución de problemas de red

RH135-6-es-2-20110131 73

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 52:54:00:00:00:fa brd ff:ff:ff:ff:ff:ff inet 192.168.0.250/24 brd 192.168.0.255 scope global eth0 inet6 fe80::5054:ff:fe00:fa/64 scope link valid_lft forever preferred_lft forever

• /etc/sysconfig/network-scripts/ifcfg-<name>

[root@demo ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0DEVICE="eth0"BOOTPROTO="dhcp"HWADDR="52:54:00:00:00:FA"NM_CONTROLLED="yes"ONBOOT="yes"

• traceroute

[root@demo ~]# traceroute -Tn www.redhat.comtraceroute to www.redhat.com (184.85.80.112), 30 hops max, 60 byte packets 1 192.168.0.254 0.641 ms 0.606 ms 0.590 ms 2 172.31.35.1 9.829 ms 9.531 ms 9.237 ms 3 204.60.4.40 27.954 ms 27.726 ms 27.385 ms 4 66.159.184.226 27.128 ms 49.156 ms 48.291 ms 5 151.164.92.147 43.256 ms 42.995 ms 42.155 ms 6 12.122.81.57 60.897 ms 60.041 ms 54.531 ms 7 75.149.230.169 54.143 ms 75.149.231.45 46.412 ms 192.205.37.34 40.208 ms 8 68.86.86.45 67.587 ms 54.599 ms 53.381 ms 9 68.86.86.234 65.540 ms 62.189 ms 53.777 ms10 68.86.87.166 57.084 ms 55.752 ms 57.154 ms11 184.85.80.112 55.707 ms 58.702 ms 57.996 ms

• ip route

[root@demo ~]# ip route192.168.0.0/24 dev eth0 proto kernel scope link src 192.168.0.250 metric 1 default via 192.168.0.254 dev eth0 proto static

• host

[root@demo ~]# host ii.example.com is an alias for instructor.example.com.instructor.example.com has address 192.168.0.254

• dig

[root@demo ~]# dig i.example.com

; <<>> DiG 9.7.0-P2-RedHat-9.7.0-5.P2.el6 <<>> i.example.com;; global options: +cmd;; Got answer:;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 17644;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 1, ADDITIONAL: 0

;; QUESTION SECTION:;i.example.com. IN A

Capítulo 5. Configuración de red y solución de problemas

74 RH135-6-es-2-20110131

;; ANSWER SECTION:i.example.com. 86400 IN CNAME instructor.example.com.instructor.example.com. 86400 IN A 192.168.0.254

;; AUTHORITY SECTION:example.com. 86400 IN NS instructor.example.com.

;; Query time: 2 msec;; SERVER: 192.168.0.254#53(192.168.0.254);; WHEN: Mon Dec 13 15:50:21 2010;; MSG SIZE rcvd: 86

• /etc/hosts

[root@demo ~]# cat /etc/hosts192.168.0.250 demo.example.com demo # Added by NetworkManager127.0.0.1 localhost.localdomain localhost::1 demo.example.com demo localhost6.localdomain6 localhost6

• /etc/resolv.conf

[root@demo ~]# cat /etc/resolv.conf# Generated by NetworkManagerdomain example.comsearch example.comnameserver 192.168.0.254

ReferenciasRed Hat Enterprise Linux Deployment Guide

• Capítulo 4: Interfaces de red

Red Hat Enterprise Linux Deployment Guide

• Capítulo 5: Configuración de la red

Prueba de criterios

RH135-6-es-2-20110131 75

Prueba

Prueba de criterios

Ejercicio

Solución de problemas de configuración de red desdela línea de comando

Realice los siguientes pasos con cuidado. Si tiene algún problema o alguna duda, consulte con suinstructor.

Las siguientes acciones deben ejecutarse en el servidor virtual, serverX. Comenzará por ejecutarun script que "dividirá" la configuración de red. Tendrá diez minutos para solucionar cada uno delos tres problemas. Asegúrese de documentar lo que encuentre, ya que al final realizaremos unarevisión.

1. Ejecute el primer script para generar un error de configuración en la red:

lab-break-net 1

2. Síntoma: un navegador web no puede acceder a la página web en http://instructor.remote.test.

3. Realice los tres pasos: PROBAR, VERIFICAR y REPARAR para identificar y solucionar elproblema.

4. Documente lo que encuentre.

Use este espacio para sus notas.

5. Ejecute el segundo script para generar un error de configuración en la red:

lab-break-net 2

6. Síntoma: un navegador web no puede acceder a la página web en http://instructor.remote.test.

7. Realice los tres pasos: PROBAR, VERIFICAR y REPARAR para identificar y solucionar elproblema.

8. Documente lo que encuentre.

Capítulo 5. Configuración de red y solución de problemas

76 RH135-6-es-2-20110131

Use este espacio para sus notas.

9. Ejecute el tercer script para generar un error de configuración en la red:

lab-break-net 3

10. Síntoma: Un navegador web no puede acceder a la página web en http://instructor.remote.test.

11. Realice los tres pasos: PROBAR, VERIFICAR y REPARAR para identificar y solucionar elproblema.

12. Documente lo que encuentre.

Use este espacio para sus notas.

Prueba de criterios

RH135-6-es-2-20110131 77

Notas personales

Capítulo 5. Configuración de red y solución de problemas

78 RH135-6-es-2-20110131

Resumen de la unidad

Comprensión de los archivos de configuración de red

En esta sección, aprendió a:

• Cambiar la configuración de la red con herramientas de la línea de comando

• Aplicar cambios en la configuración de la red de forma persistente editando archivos

.Proceso de solución de problemas básico

En esta sección, aprendió a:

• Emplear un método sistemático para solucionar los problemas del sistema

.Kit de herramientas para la solución de problemas de red

En esta sección, aprendió a:

• Diagnosticar y corregir los problemas de red para restaurar el acceso a la red

.

 

RH135-6-es-2-20110131 79

UNIDAD SEIS

ADMINISTRACIÓN DEPARTICIONES SIMPLES YSISTEMAS DE ARCHIVOS

IntroducciónTemas tratados en esta unidad:

• Adición de espacio en el sistema de archivos

• Encriptación de particiones

• Adición de espacio de intercambio

Capítulo 6. Administración de particiones simples y sistemas de archivos

80 RH135-6-es-2-20110131

Particiones simples y sistemas de archivosEl almacenamiento es una necesidad básica de todo sistema informático. Red Hat EnterpriseLinux incluye herramientas eficaces para administrar diversos tipos de dispositivos dealmacenamiento en una amplia variedad de situaciones.

fdisk es una utilidad para administrar particiones de disco. Puede ver los discos y susparticiones si ejecuta la utilidad con la opción -l y el nombre del disco (fdisk -cul /dev/vda). Puede realizar cambios si ejecuta la utilidad interactivamente y selecciona lasopciones de menú correspondientes (fdisk -cu /dev/vda). -c deshabilita el modo heredadode compatibilidad con DOS y -u muestra los resultados en sectores (no cilindros, que sonobsoletos).

ImportanteRed Hat Enterprise Linux 6 alinea automáticamente la primera partición para comenzar enel sector 2048, en lugar del sector 63 (el inicio "tradicional" del cilindro 1). Esto garantizael funcionamiento máximo en los nuevos discos duros de sector de 4 KB y tambiénen los discos duros de sector de 512 bytes heredados; además, es compatible con elcomportamiento de otros sistemas operativos recientes que usan el esquema de particiónMBR. En error de alineación en la partición puede generar una deficiencia importanteen el funcionamiento; por lo tanto, tenga cuidado cuando adapte estos parámetros deconfiguración.

Para el servidor virtual, serverX, verifique la configuración actual de almacenamiento. Busqueinformación en los resultados del siguiente comando: fdisk -cul /dev/vda.

Disco principal:

1. Nombre: /dev/vda

2. Tamaño: 6442 MB

3. Total de sectores: 12582912

4. Último sector usado: 9914367

[root@serverX ~]# fdisk -cul

Disk /dev/vda : 6442 MB , 6442450944 bytes

16 heads, 63 sectors/track, 12483 cylinders, total 12582912 sectorsUnits = sectors of 1 * 512 = 512 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk identifier: 0x000a9b12

Device Boot Start End Blocks Id System/dev/vda1 * 2048 526335 262144 83 Linux

/dev/vda2 526336 9914367 4694016 8e Linux LVM

Crear una nueva partición

RH135-6-es-2-20110131 81

Nombre del disco

Tamaño total del disco

Total de sectores

Último sector usado

Crear una nueva partición

[root@serverX ~]# fdisk -cu /dev/vdaCommand (m for help): nCommand action e extended p primary partition (1-4)pPartition number (1-4): 3First sector (9914368-12582911, default 9914368): Enter Using default value 9914368Last sector, +sectors or +size{K,M,G} (9914368-12582911, default 12582911): +1G

Command (m for help): wThe partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.The kernel still uses the old table. The new table will be used atthe next reboot or after you run partprobe(8) or kpartx(8)Syncing disks.[root@serverX ~]# reboot

Comparación de sistemas de archivos• ext4 es el sistema de archivos estándar para &RHEL 6. Es muy sólido y confiable, y presenta

características para mejorar el funcionamiento en relación con las cargas de trabajo modernas.

• ext2 es un sistema de archivos anterior, comúnmente usado en Linux; es simple y confiable,y funciona adecuadamente para dispositivos de almacenamiento pequeños, pero no es taneficaz como ext4.

• El soporte de vfat comprende una familia de sistemas de archivos relacionados (VFAT/FAT16,FAT32) desarrollados para versiones anteriores de Microsoft Windows y compatibles con unaamplia variedad de sistemas y dispositivos.

Creación y uso de un nuevo sistema de archivos1. mkfs -t filesystem /dev/partition crea el tipo de sistema de archivos solicitado.

2. blkid muestra información sobre el contenido de los dispositivos de bloques (particiones yvolúmenes lógicos), incluido el UUID del sistema de archivos.

3. mkdir /mountpoint crea un directorio al que enlazará el nuevo sistema de archivos.

4. Agregue una entrada a /etc/fstab mediante el uso del UUID obtenido del comandoblkid:

Capítulo 6. Administración de particiones simples y sistemas de archivos

82 RH135-6-es-2-20110131

UUID=uuid /mountpoint ext4 defaults 1 2

5. Monte el sistema de archivos nuevo con mount /mountpoint.

AdvertenciaCuando agregue sistemas de archivos nuevos a /etc/fstab, debería usar blkid paradeterminar su UUID y montarlos por UUID. No debe montar sistemas de archivos enparticiones simples con un nombre de dispositivo estándar (por ejemplo, /dev/sda3). Losnombres de dispositivos de disco pueden cambiar según los dispositivos que están visiblesdurante el proceso de arranque, que puede provocar que el sistema intente montar unsistema de archivos que no corresponda para un fin que no sea el adecuado y, que en elpeor de los casos, pueda provocar la pérdida de datos. Este aspecto tiene una importanciaespecial cuando se involucra a dispositivos SAN (iSCSI y Fiber Channel) que pueden serdetectados por el sistema en un orden diferente, desde un arranque a otro, según el tráficode SAN, pero puede plantear una dificultad cuando se usan medios extraíbles, comodispositivos USB.

Cabe destacar que Red Hat Enterprise Linux 6 utiliza UUID en lugar de LABEL en /etc/fstab para reducir la probabilidad de colisiones de nombres. El instalador ya no usae2label para configurar etiquetas en sistemas de archivos de Red Hat Enterprise Linux 6de forma predeterminada.

Ejemplo de la creación de un sistema de archivos

[root@serverX ~]# mkfs -t ext4 /dev/vda3[root@serverX ~]# blkid /dev/vda3/dev/vda3: UUID="a11fadb0-2f5b-49e8-ba43-13de7990d3b9" TYPE="ext4" [root@serverX ~]# mkdir /test

Agregue una entrada a /etc/fstab:

UUID="a11fadb0-2f5b-49e8-ba43-13de7990d3b9" /test ext4 defaults 1 2

Pruebe el montaje:

[root@serverX ~]# mount /test

Eliminar un sistema de archivos existente1. Desmontar el sistema de archivos mediante umount /mountpoint.

2. Quite la entrada correspondiente en /etc/fstab.

3. Quite el directorio de punto de montaje: rmdir /mountpoint.

Ejemplo de la creación de un sistema de archivos

RH135-6-es-2-20110131 83

ReferenciasPáginas del manual fdisk(8), fstab(5), mkfs(8), blkid(8), mount(8)

Base de conocimiento: "¿Cómo puedo crear una partición de disco en un disco que tieneuna capacidad mayor que 2 TB?"https://access.redhat.com/kb/docs/DOC-4282

Capítulo 6. Administración de particiones simples y sistemas de archivos

84 RH135-6-es-2-20110131

Práctica Cuestionario

Agregar un nuevo sistema de archivosComplete los espacios en blanco con el comando que cumple con la tarea detallada.

1. Identificar un disco que tenga espacio libre:

2. Crear una nueva partición en ese disco:

3. Actualizar la tabla de particiones del kernel:

4. Crear un sistema de archivos en la partición

5. Determinar el UUID del sistema de archivos

6. Crear un punto de montaje:

7. Agregar una entrada al archivode tabla del sistema de archivos

8. Montar el sistema de archivos

Habilitación de la privacidad de datos con encriptación de particiones

RH135-6-es-2-20110131 85

Habilitación de la privacidad de datos conencriptación de particiones

LUKS ("Configuración de Clave Unificada de Linux") es un formato estándar para la encriptaciónde dispositivos. LUKS encripta la partición o el volumen; se debe desencriptar el volumen paraque se pueda montar el sistema de archivos en el volumen.

Crear un nuevo volumen encriptado1. Cree una nueva partición con fdisk.

2. cryptsetup luksFormat /dev/vdaN encripta la nueva partición y configura lacontraseña de desencriptación

3. cryptsetup luksOpen /dev/vdaNname desbloquea el volumen encriptado /dev/vdaNcomo /dev/mapper/name después de que usted ingrese la contraseña de desencriptacióncorrecta

4. Cree un sistema de archivos ext4 en el volumen desencriptado: mkfs -t ext4 /dev/mapper/name

5. Cree el punto de montaje del directorio y monte el sistema de archivos: mkdir /secret ;mount /dev/mapper/name /secret.

6. Una vez que finalice, seleccione umount /dev/mapper/name y ejecute cryptsetupluksClose name para bloquear el volumen encriptado.

notaAl crear una partición encriptada, es mejor escribir datos aleatorios en el dispositivo sinformato antes de usar LUKS para inicializar el volumen. Esto puede resultar útil para hacerque el ataque a la encriptación del disco sea más difícil. El copiado los datos de /dev/urandom al archivo del dispositivo para la partición logrará esto, pero puede llevar muchotiempo.

Montar particiones encriptadas de forma persistente1. /etc/crypttab contiene una lista de dispositivos que se desbloquearán durante el inicio

del sistema.

name /dev/vdaN /path/to/password/file

/etc/crypttab indica un dispositivo por línea, con los siguientes campos separados porespacios:

Nombre que el asignador de dispositivos usará para el dispositivo.

Dispositivo subyacente "bloqueado".

Capítulo 6. Administración de particiones simples y sistemas de archivos

86 RH135-6-es-2-20110131

Archivo de contraseña que se usará para desbloquear el dispositivo. Si no se completaeste campo (ni se establece en none), se pedirá al usuario que ingrese la contraseña dedesencriptación durante el inicio.

2. Cree una entrada como la siguiente en /etc/fstab:

/dev/mapper/name /secret ext4 defaults 1 2

AdvertenciaEl dispositivo indicado en el primer campo de /etc/fstab debe coincidir con el nombreelegido para el nombre local para la asignación en /etc/crypttab. Este es un error deconfiguración común.

3. Cree el archivo de llave que incluya la contraseña. Asegúrese de que sea propiedad delusuario root y que el modo sea 600. Agregue la llave para LUKS con el siguiente comando:

[root@serverX ~]# cryptsetup luksAddKey /dev/vdaN /path/to/password/file

Ejemplo de creación de un sistema de archivosencriptadoCree una nueva partición, como hizo anteriormente. Asumiremos que el dispositivo es /dev/vda5.

[root@serverX ~]# cryptsetup luksFormat /dev/vda5WARNING!========This will overwrite data on /dev/vda5 irrevocably.

Are you sure? (Type uppercase yes): YESEnter LUKS passphrase: testing123Verify passphrase: testing123[root@serverX ~]# cryptsetup luksOpen /dev/vda5 encdiskEnter passphrase for /dev/vda5: testing123[root@serverX ~]# mkfs -t ext4 /dev/mapper/encdisk[root@serverX ~]# mkdir /encdisk[root@serverX ~]# mount /dev/mapper/encdisk /encdisk

Para que este disco sea persistente, comience por anexar lo siguiente a /etc/fstab:

/dev/mapper/encdisk /encdisk ext4 defaults 1 2

Cree /etc/crypttab y agregue la siguiente línea. Esta acción le pedirá la contraseña cada vezque arranque la máquina:

encdisk /dev/vda5

Ingreso automático de la contraseña de encriptación

RH135-6-es-2-20110131 87

Ingreso automático de la contraseña de encriptaciónSi desea un arranque automatizado, debe incluir la contraseña en un archivo de texto (que tengaimplicaciones de seguridad obvias).

/etc/crypttab:

encdisk /dev/vda5 /root/encdisk

[root@serverX ~]# echo -n "testing123" > /root/encdisk[root@serverX ~]# chown root /root/encdisk[root@serverX ~]# chmod 600 /root/encdisk[root@serverX ~]# cryptsetup luksAddKey /dev/vda5 /root/encdiskEnter any passphrase: testing123

ReferenciasRed Hat Enterprise Linux Security Guide

• Sección 3.8: Encriptación del disco LUKS

Páginas del manual: cryptsetup(8), crypttab(5)

Capítulo 6. Administración de particiones simples y sistemas de archivos

88 RH135-6-es-2-20110131

Práctica Ejercicio para ordenar

Crear un sistema de archivos encriptado

Para cada uno de los nombres de archivo o directorio indicados a continuación, escriba elnúmero de la definición correspondiente indicado en la lista debajo.

Crear una nueva partición

Crear un sistema de archivos ext4

Formatear la nueva partición para la encriptación

Montar el sistema de archivos en el dispositivo desbloqueado

Crear una entrada en /etc/fstab

Crear un directorio para usarlo como punto de montaje

Desbloquear la partición encriptada

Crear una entrada en /etc/crypttab

Permitir que LUKS reconozca el archivo de contraseña

1. fdisk

2. cryptsetup luksFormat /dev/vdaN

3. cryptsetup luksOpen /dev/vdaNsecret

4. mkfs -t ext4 /dev/mapper/secret

5. mkdir /secret

6. mount /dev/mapper/secret /secret

7. secret /dev/vdaN/password/file

8. /dev/mapper/secret /secret ext4 defaults 1 2

9. cryptsetup luksAddKey /dev/vdaN/password/file

Administración de espacio de intercambio

RH135-6-es-2-20110131 89

Administración de espacio de intercambioEl espacio de intercambio, o área de intercambio, es espacio en la unidad de disco duro que seusa como desbordamiento para partes de la memoria que actualmente no están siendo usadas.Esto permite que el sistema haga lugar en la memoria principal para los datos que están siendoprocesados actualmente y proporciona desbordamiento de emergencia si el sistema está enriesgo de quedarse sin espacio en la memoria principal.

Creación y uso de una partición de intercambio adicional1. Cree una nueva partición con fdisk. Además, cambie el tipo de partición a "0x82 Linux

Swap" antes de guardar los cambios con fdisk.

2. mkswap /dev/vdaN preparará la partición para su uso como área de intercambio.

3. blkid /dev/vdaN determinará el UUID.

4. Agregue un nuevo espacio de intercambio a /etc/fstab:

UUID=uuid swap swap defaults 0 0

5. swapon -a activará la nueva área de intercambio.

swapon -s mostrará el estado de las áreas de intercambio actuales.

swapoff /dev/vdaN desactivará esa área de intercambio en particular.

Ejemplo de creación de un espacio de intercambioCree una nueva partición y cambie el tipo a 82:

[root@serverX ~]# fdisk /dev/vdaCommand (m for help): nFirst sector (12539904-12582911, default 12539904): Enter Using default value 12539904Last sector, +sectors or +size{K,M,G} (12539904-12582911, default 12582911): Enter Using default value 12582911

Command (m for help): tPartition number (1-6): 6Hex code (type L to list codes): 82Changed system type of partition 6 to 82 (Linux swap / Solaris)

Command (m for help): w

[root@serverX ~]# reboot

Escriba la firma de intercambio para el dispositivo y busque el UUID:

[root@serverX ~]# mkswap /dev/vda6[root@serverX ~]# blkid /dev/vda6/dev/vda6: UUID="4903c440-ffcb-4404-bc09-505c79c7a412" TYPE="swap"

Agregue una entrada a /etc/fstab:

Capítulo 6. Administración de particiones simples y sistemas de archivos

90 RH135-6-es-2-20110131

UUID="4903c440-ffcb-4404-bc09-505c79c7a412" swap swap defaults 0 0

Active el espacio de intercambio, verifique que esté disponible y, a continuación, desactive elespacio de intercambio:

[root@serverX ~]# swapon -aswapon -s/dev/dm-0 partition 557048 0 -1/dev/vda6 partition 21496 0 -2[root@serverX ~]# swapoff /dev/vda6

El establecimiento del tamaño total del espacio de intercambio debe basarse, concretamente,en la carga de trabajo de la memoria en el sistema, y no en la cantidad total de memoria físicapresente. No obstante, la siguiente tabla proporciona algunas reglas generales de miniatura parael establecimiento del tamaño del espacio de intercambio. Para obtener una orientación másdetallada sobre el establecimiento del tamaño del espacio de intercambio, consulte el artículo dela base de conocimiento que está en las referencias.

Memoria RAM del sistema Espacio de intercambio mínimorecomendado

Hasta 4 GB 2 GB como mínimo

De 4 GB a 16 GB 4 GB como mínimo

De 16 GB a 64 GB 8 GB como mínimo

De 64 GB a 256 GB 16 GB como mínimo

Tabla 6.1. Orientación básica sobre el establecimiento del tamaño del espacio de intercambio

ReferenciasRed Hat Enterprise Linux Storage Administration Guide

• Capítulo 14: Espacio de intercambio

Base de conocimiento: "Si agrego varios cientos de GB de memoria RAM a un sistema,¿realmente necesito varios cientos de GB de espacio de intercambio?"https://access.redhat.com/kb/docs/DOC-15252

Páginas del manual: mkswap(8), swapon(8)

Administración de espacio de intercambio

RH135-6-es-2-20110131 91

Práctica Ejercicio

Crear y usar una nueva partición de intercambio

Realice los siguientes pasos con cuidado. Si tiene algún problema o alguna duda, consulte con suinstructor.

Realice los siguientes pasos en serverX, a menos que se le indique de otro modo.

1. Inicie fdisk y cree una nueva partición de 256 MB. Cambie el tipo de partición a swap.

ImportantePara tener espacio para crear particiones adicionales en el futuro, si es necesario,asegúrese de crear una partición extendida previamente.

2. Prepare la nueva partición para usarla como intercambio:

3. Determine el UUID.

4. Agregue la nueva partición a /etc/fstab.

5. Determine la cantidad actual de intercambio.

6. Active el nuevo intercambio.

7. Verifique el intercambio recientemente activado.

Capítulo 6. Administración de particiones simples y sistemas de archivos

92 RH135-6-es-2-20110131

Prueba

Prueba de criterios

Caso de estudio

Administración de particiones simples y sistemas dearchivosAntes de comenzar...Ejecute lab-setup-storage en desktopX para preparar serverX para el ejercicio.

Realice los siguientes pasos en serverX, a menos que se le indique de otro modo.

Su departamento desea usar una parte del espacio de almacenamiento sin asignar en losservidores. Cree adiciones en el sistema según la siguiente lista:

• Cree una nueva partición y un sistema de archivos ext4 con un tamaño de 400 MB. El sistemade archivos se debe montar de manera persistente bajo /data.

• Agregue de manera persistente una partición de intercambio que tenga un tamaño de 200 MB.

• Cree un dispositivo encriptado con un sistema de archivos ext4 que tenga un tamaño de 256MB y use la contraseña testing123. El sistema de archivos debe solicitar la contraseña en elarranque y montar el sistema de archivos en /test.

Cuando esté listo para revisar su trabajo, ejecute lab-grade-storage en serverX.

ImportantePara tener espacio para crear particiones adicionales en el futuro, si es necesario, asegúresede crear una partición extendida previamente.

¿Cómo trataría el caso de estudio descrito anteriormente? Tome nota de su proceso en elespacio provisto a continuación y después impleméntelo.

Administración de espacio de intercambio

RH135-6-es-2-20110131 93

Notas personales

Capítulo 6. Administración de particiones simples y sistemas de archivos

94 RH135-6-es-2-20110131

Resumen de la unidad

Particiones simples y sistemas de archivos

En esta sección, aprendió a:

• Crear y formatear una partición simple para el almacenamiento de datos

.Habilitación de la privacidad de datos con encriptación de particiones

En esta sección, aprendió a:

• Habilitar la privacidad de datos con una partición encriptada desde la línea decomando

.Administración de espacio de intercambio

En esta sección, aprendió a:

• Crear y formatear una partición simple para intercambio.

.

 

RH135-6-es-2-20110131 95

UNIDAD SIETE

ADMINISTRACIÓN DEALMACENAMIENTO FLEXIBLECON EL ADMINISTRADOR DEVOLÚMENES LÓGICOS

IntroducciónTemas tratados en esta unidad:

• Revisar componentes del LVM

• Implementar almacenamiento del LVM

• Crear un sistema de archivos

• Agregar un disco

• Instantánea como copia de seguridad

Capítulo 7. Administración de almacenamiento flexible con el administrador de volúmenes lógicos

96 RH135-6-es-2-20110131

Reconocer los componentes del LVM

4.

3.

2.

1.

Unused Space

Revisar definiciones de LVM• Las particiones físicas o discos constituyen el primer bloque de creación del LVM. Pueden ser

particiones, discos enteros, conjuntos RAID o discos SAN.

• Los volúmenes físicos constituyen el almacenamiento "físico" subyacente que se usa con elLVM. Comúnmente, esto es un dispositivo de bloque como una partición o un disco entero. Undispositivo debe inicializarse como volumen físico de LVM para su uso con el LVM.

• Los grupos de volúmenes son bloques de almacenamiento conformados por uno o másvolúmenes físicos.

• Las extensiones físicas son pequeños fragmentos de datos almacenados en volúmenes físicosque actúan como el back-end del almacenamiento de LVM.

• Las extensiones lógicas se asignan a las extensiones físicas para formar el front-end delalmacenamiento de LVM. De forma predeterminada, cada extensión lógica se asignará a una

¿Por qué se deben usar volúmenes lógicos?

RH135-6-es-2-20110131 97

extensión física. La habilitación de algunas opciones cambiará esta asignación. Por ejemplo, lacreación de reflejo hará que cada extensión lógica se asigne a dos extensiones físicas.

• Los volúmenes lógicos son grupos de extensiones lógicas. Un volumen lógico se puede usar delmismo modo que una partición de la unidad de disco duro.

¿Por qué se deben usar volúmenes lógicos?Los volúmenes lógicos, y la administración de volúmenes lógicos, facilitan la administración delespacio del disco. Si un sistema de archivos necesita más espacio, se puede asignar a su volumenlógico del espacio libre en su grupo de volúmenes y se puede cambiar el tamaño del sistema dearchivos. Si un disco comienza a fallar, se puede registrar un disco de reemplazo como volumenfísico con el grupo de volúmenes y las extensiones del volumen lógico se pueden migrar al disconuevo.

ReferenciasRed Hat Enterprise Linux Logical Volume Manager Administration Guide

Capítulo 7. Administración de almacenamiento flexible con el administrador de volúmenes lógicos

98 RH135-6-es-2-20110131

Práctica Cuestionario

Componentes de LVM1. Complete el siguiente cuadro con los nombres de los componentes.

4.

3.

2.

1.

Unused Space

2. ¿Cuáles son las partes más pequeñas (fragmentos o bloques) del volumen físico?

3. ¿Cuál es el tamaño más pequeño que podría tener un volumen lógico?

¿Por qué se deben usar volúmenes lógicos?

RH135-6-es-2-20110131 99

4. ¿Qué hace referencia a las extensiones físicas de un volumen lógico?

Capítulo 7. Administración de almacenamiento flexible con el administrador de volúmenes lógicos

100 RH135-6-es-2-20110131

Implementar el almacenamiento de LVM conherramientas de la línea de comando

Preparar un volumen físico1. Se utiliza fdisk para crear una nueva partición para su uso con el LVM. Siempre establezca

el tipo en 0x8e Linux LVM en una partición que se usará con el LVM.

notaDe forma alternativa, puede usar un disco entero, una matriz RAID o un disco SAN.

2. Para inicializar la partición (u otro dispositivo físico) para su uso con el LVM como volumenfísico, se usa pvcreate /dev/vdaN. Se crea un encabezado directamente en el volumenfísico para almacenar los datos de configuración de LVM.

Creación de un grupo de volúmenes1. vgcreate vgname /dev/vdaN creará un grupo de volúmenes con el nombre vgname

conformado por el volumen físico /dev/vdaN. Puede especificar volúmenes físicosdelimitados por espacios adicionales en el momento de la creación o agregar nuevosvolúmenes físicos posteriormente con vgextend.

Crear y usar un nuevo volumen lógico1. lvcreate -n lvname -L 2G vgname crea un nuevo volumen lógico de 2 GB con el

nombre lvname de las extensiones físicas disponibles en vgname.

ImportanteDiferentes herramientas mostrarán el nombre del volumen lógico, ya sea medianteel uso del nombre tradicional, /dev/vgname/lvname, o el nombre del asignador dedispositivos del kernel, /dev/mapper/vgname-lvname.

2. mkfs -t ext4 /dev/vgname/lvname creará un sistema de archivos ext4 en el nuevovolumen lógico.

3. mkdir /data hace que sea necesario el directorio como punto de montaje.

4. Agregue una entrada al archivo /etc/fstab:

/dev/mapper/vgname-lvname /data ext4 defaults 1 2

5. Ejecute mount -a para montar todos los sistemas de archivos en /etc/fstab, incluida laentrada que agregó recientemente.

Implementar el almacenamiento de LVM con herramientas de la línea de comando

RH135-6-es-2-20110131 101

Revisar la información de estado de LVM1. pvdisplay /dev/vdaN mostrará la información acerca del volumen físico específico.

2. vgdisplay vgname mostrará la información acerca del grupo de volúmenes específico.

Ejemplo de resultados de vgdisplay:

--- Volume group ---

VG Name vg1 System ID Format lvm2 Metadata Areas 10 Metadata Sequence No 18 VG Access read/write VG Status resizable MAX LV 0 Cur LV 6 Open LV 6 Max PV 0 Cur PV 5 Act PV 5

VG Size 7.28 TB

PE Size 4.00 MB

Total PE 1907727

Alloc PE / Size 1720587 / 6.56 TB

Free PE / Size 187140 / 731.02 GB VG UUID 7FmScA-HJWa-<snip>

Nombre del grupo de volúmenes

Tamaño total del almacenamiento "físico" en el grupo de volúmenes

Tamaño de la extensión física

Total de extensiones físicas en el grupo de volúmenes

Total de extensiones físicas usadas por los volúmenes lógicos

Extensiones físicas disponibles

3. lvdisplay /dev/vgname/lvname mostrará la información acerca del volumen lógicoespecífico.

ReferenciasRed Hat Enterprise Linux Logical Volume Manager Administration Guide

Página del manual: lvm(8)

Capítulo 7. Administración de almacenamiento flexible con el administrador de volúmenes lógicos

102 RH135-6-es-2-20110131

Práctica Ejercicio

Implementar el LVM y crear un volumen lógicoAntes de comenzar...Asegúrese de ejecutar lab-setup-lvm desde su sistema desktopX, que preparará su sistemaserverX para el ejercicio práctico.

Realice los siguientes pasos con cuidado. Si tiene algún problema o alguna duda, consulte con suinstructor.

Todos estos pasos se llevarán a cabo en serverX.

1. Cree una nueva partición de 512 MB y prepárela para su uso con el LVM como volumen físico.

ImportantePara tener espacio para crear particiones adicionales en el futuro, si es necesario,asegúrese de crear una partición extendida previamente.

2. Cree un grupo de volúmenes con el nombre shazam mediante el uso del volumen físicocreado en el paso anterior.

3. Cree y formatee con ext4 un nuevo volumen lógico de 256 MB con el nombre /dev/shazam/storage.

4. Modifique el sistema de modo que /dev/shazam/storage se monte durante el proceso dearranque como /storage.

Extender un volumen lógico y su sistema de archivos Ext4

RH135-6-es-2-20110131 103

Extender un volumen lógico y su sistema dearchivos Ext4

Uno de los beneficios de los volúmenes lógicos es la capacidad para aumentar su tamaño sinexperimentar tiempo de inactividad. Las extensiones físicas libres en un grupo de volúmenes sepueden agregar a un volumen lógico para “extender” su capacidad, que luego se puede usar paraextender el sistema de archivos que contiene.

Pasos básicos para la creación de un volumen lógico1. Verificar el espacio disponible en el

2. Extender el

3. Extender el

Extensión del volumen lógico y el sistema de archivos1. Verifique el tamaño actual del sistema de archivos montado /data:

# df -h /data

2. Verifique que haya suficientes "extensiones físicas disponibles" para su usa:

# vgdisplay vgname

Consulte la salida de ejemplo en la sección “Revisar información de estado del LVM” que seencuentra más atrás en esta unidad para observar cómo identificar extensiones físicas libresdisponibles.

3. Extienda el volumen lógico usando algunas o todas las extensiones disponibles:

# lvextend -l 128 /dev/vgname/lvname

4. Cree un sistema de archivos asociado montado en /data:

# resize2fs -p /dev/vgname/lvname

La opción -p muestra el progreso durante la operación.

Capítulo 7. Administración de almacenamiento flexible con el administrador de volúmenes lógicos

104 RH135-6-es-2-20110131

notaEl sistema de archivos puede permanecer montado y ser utilizado mientras resize2fsse ejecuta.

ImportanteUn error común es ejecutar lvextend y olvidarse de ejecutar resize2fs.

5. Verifique el tamaño nuevo del sistema de archivos montado /data:

# df -h /data

Reducción de un sistema de archivos y volumen lógicoEste proceso es similar a la extensión, pero al revés: resize2fs y después lvreduce.

AdvertenciaEs esencial tener una copia de seguridad confiable antes de reducir el volumen lógico, ya quelos errores tipográficos en la línea de comando pueden ocasionar la pérdida de datos.

1. Si bien la extensión de un volumen lógico se puede hacer mientras el sistema de archivosestá en uso, la reducción de un sistema de archivos ext4 se debe hacer sin conexión

Se debe usar umount /data para desmontar el sistema de archivos que desea reducir.

2. fsck -f /dev/mapper/vgname-lvname para verificar que todas las estructuras de datosdel sistema de archivos estén limpias antes de cambiar el tamaño

3. resize2fs -p /dev/mapper/vgname-lvname512M cambiará el tamaño del sistema dearchivos a 512 MB, suponiendo que el volumen lógico es de más de 512 MB.

Nota: si omite el tamaño del comando resize2fs, cambiará al tamaño del volumen lógicode forma predeterminada, lo cual está bien para extender el volumen lógico como se hizoanteriormente.

4. lvreduce -L 512M /dev/mapper/vgname-lvname reducirá el volumen lógico a 512 MB.

Extender un volumen lógico y su sistema de archivos Ext4

RH135-6-es-2-20110131 105

Advertencialvreduce no tiene ningún conocimiento de las estructuras de datos del sistema dearchivos y, sin proporcionarle ninguna advertencia, descartará los elementos de susistema de archivos si usted no usa primero resize2fs para reducir el tamaño delsistema de archivos para que sea inferior al tamaño del volumen lógico deseado.

5. mount -a volverá a montar todos los sistemas de archivos enumerados en /etc/fstab,incluido su volumen lógico ahora más pequeño que asume que está enumerado en

ReferenciasRed Hat Enterprise Linux Logical Volume Manager Administration Guide

Página del manual: lvm(8)

Capítulo 7. Administración de almacenamiento flexible con el administrador de volúmenes lógicos

106 RH135-6-es-2-20110131

Práctica Ejercicio

Extender un volumen lógico

Realice los siguientes pasos con cuidado. Si tiene algún problema o alguna duda, consulte con suinstructor.

Todos estos pasos se llevarán a cabo en serverX.

1. Determine la cantidad de espacio libre en el grupo de volúmenes shazam.

2. Extienda el volumen lógico /dev/shazam/storage con la mitad de las extensionesdisponibles en el grupo de volúmenes usando las herramientas de la línea de comando.

3. Extienda el sistema de archivos montado en /storage con las herramientas de la línea decomando.

Extensión y reducción de un grupo de volúmenes

RH135-6-es-2-20110131 107

Extensión y reducción de un grupo de volúmenesSi los volúmenes lógicos de un grupo de volúmenes usan todas las extensiones físicaslibres del grupo, no podrán extenderse si no se agrega más espacio al grupo de volúmenes.Afortunadamente, se pueden crear volúmenes físicos adicionales y agregarlos a un grupo devolúmenes para “extender” su capacidad.

Otro beneficio de usar LVM es que los datos se pueden transferir entre los dispositivos dealmacenamiento físico sin que el usuario deba experimentar tiempo de inactividad. Por ejemplo,los datos pueden transferirse de una unidad de disco más lenta a otra unidad nueva y másrápida. Esto permite que el administrador de sistemas quite de un grupo de volúmenes eldispositivo de almacenamiento físico que no está en uso (en este caso, la unidad de disco lenta).

Extensión de un grupo de volúmenes1. Al igual que en la creación de un nuevo grupo de volúmenes, se debe crear y preparar una

nueva partición para usar como volumen físico de LVM.

Use fdisk para crear una nueva partición y recuerde establecer el tipo en 0x8e LinuxLVM.

Use pvcreate /dev/vdaN para inicializar la partición para su uso con el LVM comovolumen físico.

2. Se usa vgextend vgname /dev/vdaN para agregar un nuevo volumen físico, /dev/vdaN,a un grupo de volúmenes existente, vgname .

3. Use vgdisplay para confirmar "extensiones físicas disponibles" adicionales.

Reducción de un grupo de volúmenes1. Se usa pvmove /dev/vdaN para reubicar cualquier extensión física que se usa en /

dev/vdaN en otros volúmenes físicos en el grupo de volúmenes. Esto sólo es posible si haysuficientes extensiones disponibles en el grupo de volúmenes y si todas corresponden aotros volúmenes físicos.

AdvertenciaAntes de usar pvmove, se recomienda realizar una copia de seguridad de los datosen los volúmenes lógicos del grupo de volúmenes. Una pérdida de energía imprevistadurante la operación puede hacer que el grupo de volúmenes quede en un estadoincoherente.

2. Se usa vgreduce vgname /dev/vdaN para quitar el volumen físico /dev/vdaN del grupode volúmenes vgname.

Capítulo 7. Administración de almacenamiento flexible con el administrador de volúmenes lógicos

108 RH135-6-es-2-20110131

ReferenciasRed Hat Enterprise Linux Logical Volume Manager Administration Guide

Páginas del manual: lvm(8), pvmove(8), vgreduce(8)

Extensión y reducción de un grupo de volúmenes

RH135-6-es-2-20110131 109

Práctica Ejercicio

Extender un grupo de volúmenes

Realice los siguientes pasos con cuidado. Si tiene algún problema o alguna duda, consulte con suinstructor.

Todos estos pasos se llevarán a cabo en serverX.

1. Cree una nueva partición de 512 MB y prepárela para su uso con el LVM como volumen físico.

ImportantePara tener espacio para crear particiones adicionales en el futuro, si es necesario,asegúrese de crear una partición extendida previamente.

2. Extienda el grupo de volúmenes shazam al agregar el volumen físico creado en el pasoanterior.

Capítulo 7. Administración de almacenamiento flexible con el administrador de volúmenes lógicos

110 RH135-6-es-2-20110131

Crear una instantánea para facilitar la copia deseguridad de datos

Las instantáneas de volúmenes lógicos son otra característica flexible del almacenamiento deLVM. Una instantánea de LVM es un volumen lógico que conserva de forma temporal los datosoriginales de un volumen lógico cambiante. La instantánea permite obtener una vista estáticadel volumen original para que pueda realizarse una copia de seguridad de sus datos en un estadocoherente.

Determinar el tamaño de instantánea1. Frecuencia de prevista

2. de instantánea requerido

La instantánea de volumen sólo debe ser lo suficientemente grande para almacenar los datosque cambiarán mientras esta exista.

Si se producen más modificaciones de datos de las que puede retener la instantánea, esta pasaráa ser inutilizable automáticamente. (El volumen original no se verá afectado, pero la instantáneainutilizable deberá desmontarse y quitarse del grupo de volúmenes manualmente).

Creación y uso de una instantánea para copia de seguridad1. Cree una nueva instantánea de volumen con el nombre snaplvname de /dev/vgname/

lvname, que tenga un tamaño de 20 MB.

# lvcreate -s -n snaplv -L 20M /dev/vgname/lvname

2. Si el software de copia de seguridad lo requiere, monte la instantánea y apunte el programade copia de seguridad al nuevo punto de montaje:

# mkdir /snapmount# mount -o ro /dev/vgname/snaplv /snapmount

3. Verifique el estado de la instantánea de volumen lógico:

# lvs /dev/vgname/snaplv LV VG Attr LSize Origin Snap% Move Log Copy% Convert snaplv vgname swi-a- 224.00m origlv 0.26

4. Una vez que finalice la instantánea, desmóntela y quítela:

# umount /snapmount# lvremove /dev/vgname/snaplv

Extensión y reducción de un grupo de volúmenes

RH135-6-es-2-20110131 111

ReferenciasRed Hat Enterprise Linux Logical Volume Manager Administration Guide

Página del manual: lvm(8)

Capítulo 7. Administración de almacenamiento flexible con el administrador de volúmenes lógicos

112 RH135-6-es-2-20110131

Práctica Ejercicio

Creación de una instantánea de LVM

Realice los siguientes pasos con cuidado. Si tiene algún problema o alguna duda, consulte con suinstructor.

Compare el contenido del volumen lógico existente, /dev/shazam/storage, con una nuevainstantánea de volumen, /dev/shazam/storagesnap, mientras realiza cambios en el volumenoriginal.

Todos estos pasos se llevarán a cabo en serverX.

1. Copie el archivo /usr/share/dict/linux.words en /storage para tener algunos datospara la comparación.

2. Cree una nueva instantánea de volumen lógico de 20 MB de /dev/shazam/storage con elnombre storagesnap.

3. Monte /dev/shazam/storagesnap manualmente, con acceso de sólo lectura, en /storagesnap.

4. Enumere el contenido de /storagesnap y tenga en cuenta que es igual a /storage.

5. Elimine el archivo /storage/linux.words y tenga en cuenta que aún existe en /storagesnap.

6. Limpie: desmonte /storagesnap, quite el directorio y elimine el volumen lógicostoragesnap.

Prueba de criterios

RH135-6-es-2-20110131 113

Prueba

Prueba de criterios

Caso de estudio

Caso de estudio de LVMAntes de comenzar...Ejecute lab-setup-lvm en desktopX para preparar serverX para el ejercicio.

Allison necesita almacenar datos para su negocio. Su base de datos de clientes actual es de 256MB. La información en la base de datos cambia alrededor de 10 MB por hora en un día normal. Elsoftware de copia de seguridad tarda 10 minutos para realizar una ejecución completa.

Cree un nuevo grupo de volúmenes con el nombre allison con suficiente espacio para unvolumen de 512 MB y una instantánea de ese volumen para el software de copia de seguridad.

Una vez creado el grupo de volúmenes, cree dentro de este un volumen lógico de 512 MB parala base de datos de clientes de Allison denominada custdb. También cree una instantánea devolumen de la base de datos de clientes de Allison con el nombre custdbsnap para su softwarede copia de seguridad.

Cuando esté listo para revisar su trabajo, ejecute lab-grade-lvm en serverX.

¿Cómo trataría el caso de estudio descrito anteriormente? Tome nota de su proceso en elespacio provisto a continuación y después impleméntelo.

Capítulo 7. Administración de almacenamiento flexible con el administrador de volúmenes lógicos

114 RH135-6-es-2-20110131

Notas personales

Prueba de criterios

RH135-6-es-2-20110131 115

Resumen de la unidad

Reconocer los componentes del LVM

En esta sección, aprendió a:

• Identificar los bloques de creación básicos del administrador de volúmenes lógicos

.Implementar el almacenamiento de LVM con herramientas de la línea de comando

En esta sección, aprendió a:

• Crear nuevos volúmenes físicos, grupos de volúmenes y volúmenes lógicos con lasherramientas de la línea de comando

• Revisar la información de estado de LVM

.Extender un volumen lógico y su sistema de archivos Ext4

En esta sección, aprendió a:

• Extender un volumen lógico y el sistema de archivos correspondiente para satisfacerlas crecientes necesidades de almacenar datos

.Extensión y reducción de un grupo de volúmenes

En esta sección, aprendió a:

• Agregar nuevos volúmenes físicos a un grupo de volúmenes existente

• Quitar un volumen físico existente de un grupo de volúmenes

.Crear una instantánea para facilitar la copia de seguridad de datos

En esta sección, aprendió a:

• Usar instantáneas temporales de LVM para facilitar las copias de seguridad de datosy minimizar el tiempo de inactividad del servicio

.

116

 

RH135-6-es-2-20110131 117

UNIDAD OCHO

ACCESO A LOS SERVICIOS PARAINTERCAMBIO DE ARCHIVOS DERED

IntroducciónTemas tratados en esta unidad:

• Montar recursos compartidos de red

• Automontar recursos compartidos de red

Capítulo 8. Acceso a los servicios para intercambio de archivos de red

118 RH135-6-es-2-20110131

Montar sistemas de archivos de redUn sistema de archivos de red es un sistema que, en lugar de ser proporcionado por undispositivo de bloques como un disco duro, es proporcionado por un servidor de almacenamientounido a una red a múltiples hosts a través de una red. Los clientes acceden al almacenamientoremoto a través de un formato y protocolo de sistemas de archivos especiales.

Existen dos protocolos primarios que se utilizan en Linux para acceder a sistemas de archivosde red: NFS y CIFS. NFS, del inglés Network File System (sistema de archivos de red), actúacomo un sistema de archivos estándar para Linux, UNIX y sistemas operativos similares. CIFS, delinglés Common Internet File System (sistema de archivos de Internet comunes), es el sistema dearchivos de red estándar para los sistemas de Microsoft Windows.

Ya sea que el sistema de archivos compartido que desee usar esté basado en NFS o en CIFS, seaplican los mismos tres pasos básicos si desea montarlo y acceder a este en un sistema Linux.

Tres pasos básicos para acceder a un recurso compartido de red1. Identificar el recurso compartido remoto al que se desea acceder.

2. Determinar el punto de montaje donde debe montarse, y crear el directorio vacío del puntode montaje.

3. Montar el sistema de archivos de red mediante un comando o cambio de configuracióncorrespondiente.

NFS: Sistema de archivos de redNFS, Network File System, es un protocolo estándar de Internet usado por Linux, UNIX ysistemas operativos similares, como su sistema de archivos de red nativo. Es una extensiónabierta y activa bajo un estándar que admite características nativas de sistemas de archivos ypermisos de Linux.

Red Hat Enterprise Linux 6 admite NFSv4 (versión 4 del protocolo) de forma predeterminada, y,si no está disponible, busca hacia atrás automáticamente a NFSv3 y NFSv2. Para que todas lasversiones de NFS trabajen en el cliente, se deben habilitar dos servicios: rpcbind y nfslock.NFSv4 utiliza el protocolo TCP para comunicarse con el servidor, mientras las versionesanteriores de NFS pueden usar TCP o UDP.

Existen dos formas de identificar las exportaciones de NFS, o recursos compartidos de archivos,proporcionados por un servidor. Si el servidor admite NFSv3 o NFSv2, se puede usar el comandoshowmount -e server para obtener una lista de exportaciones. Si el servidor admite NFSv4,puede montar la exportación / en un directorio vacío y explorar el contenido de todos lossistemas de archivos exportados.

Comandos para acceder a una exportación de NFS1. Identificar:

showmount -e nfsserver.domain

2. Determinar el punto de montaje:

CIFS: Sistema de archivos de Internet comunes

RH135-6-es-2-20110131 119

mkdir /remote1

3. Montar:

mount nfsserver.domain:/exported/path /remote1

notaPara identificar recursos compartidos para NFSv4, intente montar la exportación / y explorar,o continúe usando showmount -e si el servidor también admite NFSv3 o NFSv2.

[root@host ~]# mkdir /allremote1[root@host ~]# mount nfsserver.domain:/ /allremote1[root@host ~]# ls /allremote1

Use este espacio para sus notas.

CIFS: Sistema de archivos de Internet comunesCIFS es el sistema de archivos de red nativo para los sistemas operativos de Microsoft Windows.Los sistemas Linux pueden montar recursos compartidos de archivos de CIFS, y acceder a estos,como sistemas de archivos de red normales. Sin embargo, dado que CIFS se monta en torno almodelo de permisos de sistemas de archivos NTFS y su propio sistema de autenticación, no todoen el protocolo CIFS se asigna bien respecto de cómo las mismas cosas se realizan en Linux.

La utilidad smbclient, incluida con el paquete RPM de samba-client, se puede utilizar paraidentificar recursos compartidos de CIFS proporcionados por servidores de archivos deWindows Samba. Funciona de manera muy similar a cuando se hace clic en My Network Placesen Microsoft Windows. Luego el comando mount se puede utilizar para montar el recursocompartido.

Comandos para acceder a un recurso compartido de CIFS1. Identificar:

smbclient -L cifsserver.domain

2. Determinar el punto de montaje:

mkdir /remote2

Capítulo 8. Acceso a los servicios para intercambio de archivos de red

120 RH135-6-es-2-20110131

3. Montar:

mount //cifsserver.domain/sharename /remote2

notaEl comando mount que se muestra arriba se autenticará en el recurso compartido deCIFS con el nombre del usuario actual. Si desea especificar un nombre de usuario deWindows diferente, use la opción -o username=user en la línea de comando mount.

Taller

Acceso a un recurso compartido de CIFS

Sígalo junto con el instructor y use el espacio provisto a continuación para sus notas.

En este taller, accederemos a un recurso compartido basado en CIFS eninstructor.example.com.

1. Identificar:

[root@serverX ~]# smbclient -L cifsserver.domainEnter root's password: <Enter>Anonymous login successfulDomain=[MYGROUP] OS=[Unix] Server=[Samba 3.5.4-68.el6]

Sharename Type Comment --------- ---- ------- ftp Disk Instructor Public FTP IPC$ IPC IPC Service (Instructor Samba Server)Anonymous login successfulDomain=[MYGROUP] OS=[Unix] Server=[Samba 3.5.4-68.el6]

Server Comment --------- ------- INSTRUCTOR Instructor Samba Server

Workgroup Master --------- ------- MYGROUP

2. Determinar el punto de montaje:

[root@serverX ~]# mkdir /remote2

3. Montar:

[root@serverX ~]# mount -o username=guest2000+X //instructor.example.com/ftp /remote2Password: password[root@serverX ~]# ls /remote2

CIFS: Sistema de archivos de Internet comunes

RH135-6-es-2-20110131 121

EXAMPLE-CA-CERT example-ca.crt gls lost+found materials rhel6 solutions

ReferenciasRed Hat Enterprise Linux Storage Administration Guide

• Sección 10.2: Configuración de cliente NFS

Páginas del manual: nfs(5), mount(8), mount.nfs(8) y mount.cifs(8)

Capítulo 8. Acceso a los servicios para intercambio de archivos de red

122 RH135-6-es-2-20110131

Práctica Ejercicio

Acceso a un servidor de archivos de NFS

Realice los siguientes pasos con cuidado. Si tiene algún problema o alguna duda, consulte con suinstructor.

Estos pasos deben ejecutarse en serverX.

Después de verificar la disponibilidad de un recurso compartido de NFS, cree el punto de montajenecesario y monte el recurso compartido temporalmente.

1. Verifique que /var/ftp/pub sea un recurso compartido de NFS disponible en el servidorinstructor.example.com.

2. Cree el directorio /server para usar como punto de montaje.

3. Cree y ejecute un comando para montar el recurso compartido de NFS en el punto demontaje.

4. Cree una lista del contenido del punto de montaje para verificar que sea el contenido delrecurso compartido de NFS de instructor.example.com.

5. Limpie mediante el desmontaje del recurso compartido.

Montar automáticamente un almacenamiento de red

RH135-6-es-2-20110131 123

Montar automáticamente un almacenamiento dered

El uso del comando mount requiere privilegios root para la conexión con los recursoscompartidos de red. Como alternativa, podríamos agregar entradas en /etc/fstab, pero en esecaso las conexiones con los servidores de red estarían activas todo el tiempo.

El servicio automounter, o autofs, se puede configurar para montar recursos compartidos dered "bajo demanda", cuando un programa intenta acceder a un archivo en el recurso compartidode la red. El servicio automounter tendrá que desmontar el recurso compartido una vez que yano se encuentre en uso, después de determinada cantidad de inactividad.

notaEl intervalo de inactividad está establecido de forma predeterminada en cinco minutos, perose puede cambiar globalmente en /etc/sysconfig/autofs.

[root@host ~]# grep TIMEOUT /etc/sysconfig/autofs# TIMEOUT - set the default mount timeout (default 600).TIMEOUT=300...output omitted...

Normalmente, deseamos permitir que el recurso compartido de red permanezca montadodurante un período corto de inactividad en caso de que se use otra vez brevemente. Estoevita ciclos de montaje/desmontaje innecesarios.

En esta sección, observaremos dos formas en las que se puede utilizar el programa deautomontaje. En primer lugar, mediante el uso de un punto de montaje para el automontaje /netespecial, y en segundo lugar, mediante la configuración manual de asignaciones de automontajeindirectas.

Asignación especial /net• De forma predeterminada, con el servicio autofs en ejecución, existirá un directorio especial

denominado /net, pero parecerá estar vacío.

• Al acceder al directorio /net/nfsserver.domain que no existe, el programa deautomontaje creará ese subdirectorio y mostrará todas las exportaciones de NFS disponiblesdesde ese servidor NFS. A veces, esto se denomina "exploración" de los recursos compartidos:

[user@host ~]$ cd /net/nfsserver.domain[user@host nfsserver.domain]$ lsexports

• Una vez que todos los archivos y directorios bajo /net/nfsserver.domain se dejen deusar y el tiempo de espera se agote, autofs desmonta los recursos compartidos y elimina elsubdirectorio /net/nfsserver.domain vacío.

Capítulo 8. Acceso a los servicios para intercambio de archivos de red

124 RH135-6-es-2-20110131

Taller

Uso de /net

Sígalo junto con el instructor y use el espacio provisto a continuación para sus notas.

1. Identificar y registrar la ruta en /net necesaria para acceder a la exportación /var/ftp/pub en el servidor instructor.example.com:

2. Validar la ruta al usar cd para acceder a esta en su serverX.

[student@serverX ~]$ cd /net/instructor.example.com/var/ftp/pub[student@serverX pub]$ lsEXAMPLE-CA-CERT example-ca.crt gls lost+found materials rhel6 solutions

Use este espacio para sus notas.

Asignaciones indirectasEn lugar de usar la asignación /net, el administrador de sistemas también puede configurarmanualmente un directorio arbitrario que monta recursos compartidos particulares en sussubdirectorios "a petición" cuando se accede a este. Una forma de hacer esto es usar elprograma de automontaje con asignaciones indirectas.

El directorio arbitrario que contiene los puntos de montaje administrados por el programa deautomontaje se configurarán en el archivo de configuración /etc/auto.master. En el segundoarchivo, se configurará qué subdirectorios se crearán como puntos de montaje en ese directorioy qué se montará en ellos. La ubicación de este segundo archivo también se especifica en elarchivo /etc/auto.master en la entrada de directorio padre.

Ejemplo• Las asignaciones indirectas usan una sintaxis de archivos de configuración de dos niveles. El

archivo del nivel superior, /etc/auto.master, presentará una línea para que cada directorio"padre" administre y el nombre de un archivo de configuración secundario que contiene elsubdirectorio punto de montaje y recurso compartido de red.

[root@host ~]# cat /etc/auto.master

/demo /etc/auto.demo[root@host ~]# cat /etc/auto.demo

public -ro nfsserver.domain:/exported/path

Asignaciones indirectas

RH135-6-es-2-20110131 125

Directorio primario del punto de montaje. Este directorio se encuentra visible en elsistema todo el tiempo y es controlado por el servicio autofs para determinar la"necesidad" de crear o montar el punto de montaje de subdirectorio.Archivo de configuración individual que contiene una lista de los puntos de montaje desubdirectorio administrados bajo este directorio primario por el servicio autofs.Punto de montaje de subdirectorio. Este directorio normalmente es invisible hasta que sele denomine/acceda a este directamente, después de lo cual el servicio autofs lo crea ymonta el recurso compartido.Opciones de montaje que se pueden usar para montar el recurso compartido de red.

Recurso compartido de red que se montará cuando se acceda al punto de montaje desubdirectorio.

[user@host ~]$ cd /demo/public[user@host public]$

Punto de montaje que, del acceso correspondiente, se creará y montará en el recursocompartido de red definido. Al igual que en los ejemplos de /net anteriores, después deun período de inactividad, este punto de montaje se desmontará y eliminará.

notaLas asignaciones indirectas también admiten metacaracteres para usar comodines parael punto de montaje y las definiciones de recursos compartidos. Esto es útil cuando seautomontan directorios de hogar de usuarios desde un servidor de archivos de red.Trataremos este tema en una unidad más adelante.

Use este espacio para sus notas.

ReferenciasPáginas del manual sobre configuración: auto.master(5), autofs(5)

Páginas del manual sobre la operación de demonio: autofs(8), automount(8)

Capítulo 8. Acceso a los servicios para intercambio de archivos de red

126 RH135-6-es-2-20110131

Práctica Ejercicio

Automontar un recurso compartido de NFS conasignaciones indirectas

Realice los siguientes pasos con cuidado. Si tiene algún problema o alguna duda, consulte con suinstructor.

Estos pasos deben ejecutarse en serverX.

Ahora configurará el programa de automontaje para montar automáticamente una exportaciónde NFS en un directorio especificado a pedido..

• El servidor NFS es instructor.example.com.

• La exportación de NFS en el servidor es /var/ftp/pub.

• El punto de montaje automático en su estación debe ser /server/public.

• Use una asignación indirecta (no /net) para implementar esto.

• Confirme que el automontaje funcione al cambiar el directorio al punto de montaje y acceder alos archivos en el recurso compartido.

Realice los siguientes pasos:

1. Cree/modifique los archivos de configuración del servicio autofs.

2. Vuelva a cargar el programa de automontaje.

3. Acceda al recurso compartido.

Prueba de criterios

RH135-6-es-2-20110131 127

Prueba

Prueba de criterios

Caso de estudio

Automontaje de recursos compartidos de NFS

Estos pasos deben ejecutarse en serverX.

• Su compañía ha incorporado un nuevo cliente, Organization of Secret Hidden Undertakings(OSHU).

• La compañía tiene un nuevo servidor NFS con recursos compartidos para almacenar archivosrelacionados con clientes "especiales": instructor.example.com.

• El recurso compartido para este cliente es: /var/nfs/oshu.

• Configure su estación de trabajo de modo que autofs monte automáticamente ese recursocompartido como: /special/oshu.

• Cree una lista del contenido de /special/oshu para asegurarse de que pueda ver lossiguientes archivos:

supertopsecret.txt

ultrashh.txt

¿Cómo trataría el caso de estudio descrito anteriormente? Tome nota de su proceso en elespacio provisto a continuación y después impleméntelo.

Capítulo 8. Acceso a los servicios para intercambio de archivos de red

128 RH135-6-es-2-20110131

Notas personales

Prueba de criterios

RH135-6-es-2-20110131 129

Resumen de la unidad

Montar sistemas de archivos de red

En esta sección, aprendió a:

• Acceder manualmente a recursos compartidos de NFS y CIFS disponibles desde lalínea de comando

.Montar automáticamente un almacenamiento de red

En esta sección, aprendió a:

• Usar la asignación especial predeterminada autofs, /net, para acceder a un recursocompartido de NFS disponible

• Configurar autofs usando asignaciones indirectas para un recurso compartido deNFS disponible

.

130

 

RH135-6-es-2-20110131 131

UNIDAD NUEVE

ADMINISTRACIÓN DE LASCUENTAS DE USUARIO

IntroducciónTemas tratados en esta unidad:

• Definición de usuarios

• Administrar usuarios locales

• Caducidad de las contraseñas

Capítulo 9. Administración de las cuentas de usuario

132 RH135-6-es-2-20110131

¿Qué es un usuario?Cada proceso (programa en ejecución) en el sistema se ejecuta como un usuario particular.Cada archivo es propiedad de un usuario particular. El acceso a los archivos y directorios estárestringido por usuario. El usuario asociado con un proceso de ejecución determina los archivosy directorios accesibles para ese proceso.

Para ver el usuario asociado con un proceso, incluya la opción u para el comando ps. La primeracolumna muestra el nombre de usuario:

[root@serverX ~]# ps auxUSER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMANDroot 1 0.0 0.2 19232 1392 ? Ss Jan24 0:00 /sbin/initroot 2 0.0 0.0 0 0 ? S Jan24 0:00 [kthreadd]gdm 1913 0.0 0.3 132372 1972 ? S Jan24 0:00 /usr/libexec/gvstudent 29261 1.7 0.4 97588 2100 ? S 20:38 0:00 sshd: student@pstudent 29281 0.0 0.2 106008 1240 pts/0 S 20:38 0:00 /bin/sh /usr/bi

Para ver el usuario asociado con un archivo o directorio, use el comando ls -l. La terceracolumna muestra el nombre de usuario:

[root@serverX ~]# ls -l /tmpdrwx------. 2 gdm gdm 4096 Jan 24 13:05 orbit-gdmdrwx------. 2 student student 4096 Jan 25 20:40 orbit-student-rw-r--r--. 1 root root 23574 Jan 24 13:05 postconf

Los usuarios de Linux están definidos en las bases de datos. De forma predeterminada, lossistemas usan un "archivo plano o sin formato", el archivo /etc/passwd, para almacenarinformación sobre los usuarios locales. El formato de /etc/passwd es el siguiente (sietecampos separados por dos puntos):

username: password: UID: GID: GECOS: /home/dir: shell

Atributos del usuario:

username es una asignación de ID de usuario (UID) a un nombre para beneficio de losusuarios particulares.password es donde se guardaban las contraseñas en formato encriptado, tradicionalmente.Actualmente, se guardan en un archivo aparte con el nombre /etc/shadow.UID es un ID de usuario, un número que identifica al usuario en el nivel más básico.

GID es el ID de grupo principal; de forma predeterminada, un número relacionado con todoslos archivos recientemente creados, potencialmente para colaboración.El campo GECOS almacena texto arbitrario, normalmente el nombre real, el número deoficina o el número de teléfono del usuario./home/dir es la ubicación donde se encuentran los datos personales del usuario y losarchivos de configuración.shell es el programa que se ejecuta cuando el usuario inicia sesión, y si es un intérpretede comandos, como /bin/bash, proporciona las instrucciones de la línea de comando delusuario.

¿Qué es un usuario?

RH135-6-es-2-20110131 133

ReferenciasRed Hat Enterprise Linux Deployment Guide

• Capítulo 15: Usuarios y grupos

Página del manual: passwd(5)

Capítulo 9. Administración de las cuentas de usuario

134 RH135-6-es-2-20110131

Administración de usuarios localesSe puede usar una cantidad de herramientas de la línea de comando para administrar cuentas degrupo y de usuarios locales.

useradd crea usuarios.• useradd username establece valores predeterminados razonables para todos los campos en/etc/passwd cuando se ejecuta sin opciones.

• useradd no establece ninguna contraseña válida de forma predeterminada; el usuario nopuede iniciar sesión.

• useradd --help mostrará las opciones básicas que se pueden usar para invalidar los valorespredeterminados.

userdel elimina usuarios.• userdel username quita el usuario de /etc/passwd, pero de forma predeterminada, no

altera el directorio hogar.

• userdel -r username elimina el usuario y el directorio hogar del usuario

Administración de usuarios locales

RH135-6-es-2-20110131 135

AdvertenciaCuando se elimina un usuario con userdel sin la opción -r especificada, el sistematendrá archivos que pertenecen a un número de ID de usuario no asignado. Esto tambiénpuede suceder cuando los archivos creados por un usuario eliminado existe fuera de sudirectorio hogar. Esta situación se puede dar como resultado que se filtre información yotros problemas de seguridad.

El comando useradd asigna a los nuevos usuarios el primer número UID libre (amenos que uno esté especificado explícitamente con la opción -u UID). Así es comopuede ocurrir que se filtre información. Si el primer número UID libre ha sido asignadopreviamente a una cuenta de usuario que ha sido eliminada del sistema, al número UID delusuario anterior se reasignará al nuevo usuario y le dará al nuevo usuario la propiedad delos archivos restantes del usuario anterior. A continuación se demuestra esta situación:

[root@serverX ~]# useradd prince[root@serverX ~]# ls -l /homedrwx------. 4 prince prince 1024 Dec 23 12:30 prince[root@serverX ~]# userdel prince[root@serverX ~]# ls -l /homedrwx------. 4 500 500 1024 Dec 23 12:30 prince[root@serverX ~]# useradd bob[root@serverX ~]# ls -l /homedrwx------. 4 bob bob 1024 Dec 23 12:31 bobdrwx------. 4 bob bob 1024 Dec 23 12:30 prince

Observe que bob posee todos los archivos que, en otra ocasión, pertenecían a prince. Lamejor solución a este problema es eliminar todos los archivos "que no pertenecen a nadie"del sistema cuando se elimina al usuario que los creó.

id muestra la información del usuario.• id mostrará la información del usuario, incluido el número UID del usuario y las membresías a

grupos.

• id usernamemostrará la información de username, incluido el número UID del usuario y lasmembresías a grupos.

passwd establece contraseñas.• passwd username se puede usar para establecer la contraseña inicial o cambiar la

contraseña del usuario.

Use este espacio para sus notas.

Capítulo 9. Administración de las cuentas de usuario

136 RH135-6-es-2-20110131

Rangos de UID• UID 0 es el usuario root y tiene privilegios especiales

• UID 1-499 son los "usuarios del sistema" por convención; generalmente, cuentas de serviciono interactivas.

• UID 500+ son "usuarios regulares" para que las personas lo use para acceder de formainteractiva a la máquina

ReferenciasRed Hat Enterprise Linux Deployment Guide

• Sección 15.2: Herramientas de administración de usuarios y grupos

Páginas del manual: useradd(8), usermod(8), userdel(8), groupadd(8), groupdel(8)

Administración de usuarios locales

RH135-6-es-2-20110131 137

Práctica Ejercicio

Crear usuarios mediante el uso de las herramientas dela línea de comando

Realice los siguientes pasos con cuidado. Si tiene algún problema o alguna duda, consulte con suinstructor.

Realice los siguientes pasos en serverX, a menos que se le indique de otro modo.

Cree una serie de usuarios en el sistema serverX y establezca una contraseña inicial (registre enlos espacios en blanco a continuación).

1. Inicie sesión en serverX como usuario root.

2. Agregue el usuario juliet.

3. Confirme que juliet se haya agregado mediante el uso del comando id.

4. Confirme que juliet se ha agregado al examinar el archivo /etc/passwd.

5. Use el comando passwd para inicializar la contraseña de juliet y escriba la contraseña aquí:.

6. Continúe agregando el resto de los usuarios de la lista abajo. Recuerde establecer unacontraseña inicial y escribirla al lado de cada nombre de usuario:

• faraday

• jack

• kate

• james

• walt

• ben

• claire

• hugo

• elvis

Capítulo 9. Administración de las cuentas de usuario

138 RH135-6-es-2-20110131

Administración de contraseñasHistóricamente, las contraseñas se almacenaban en el archivo /etc/passwd. Sin embargo, /etc/passwd deben ser legibles mundialmente porque los comandos como ls deben acceder aese archivo para asignar UID a los nombres de usuarios.

Las contraseñas se migraron a un archivo /etc/shadow más seguro, que admite variosalgoritmos de encriptación de contraseñas diferentes. Siempre que las contraseñas encriptadasse almacenen en un archivo dedicado, la política de vigencia de contraseñas y los datos tambiénse podrán almacenar.

¿Qué tres datos se almacenan en el hash de una contraseña?

$1$gCjLa2/Z$6Pu0EK0AzfCjxjv2hoLOB/

1. 1: el algoritmo de hash (1 indica hash MD5).

2. gCjLa2/Z: la sal utilizada para encriptar el hash.

3. 6Pu0EK0AzfCjxjv2hoLOB/: el hash encriptado.

notaRed Hat Enterprise Linux 6 admite dos nuevos algoritmos de hash de contraseñassólidos, SHA-256 (algoritmo 5) y SHA-512 (algoritmo 6). Se pueden habilitar como valorespredeterminados para /etc/shadow usando system-config-authentication paraseleccionarlo del menú desplegable Password Hashing Algorithm en la pestaña AdvancedOptions.

Campos de /etc/shadow1. Nombre de usuario.

2. Hash de contraseña.

3. Fecha de última modificación de la contraseña (cantidad de días desde 1970.01.01).

4. Vigencia mínima de la contraseña (en días, 0 = no hay requisito de vigencia mínima).

5. Vigencia máxima de la contraseña (en días).

6. Período de advertencia de la contraseña (en días, 0 = no se proporciona una advertencia).

7. Período de inactividad de la contraseña (en días).

8. Caducidad de la cuenta (cantidad de días desde 1970.01.01).

Administración de contraseñas

RH135-6-es-2-20110131 139

En el siguiente diagrama, se indican los parámetros de vigencia de contraseñas relevantesque pueden ajustarse mediante el uso de chage para implementar una política de vigencia decontraseñas.

inactive days ( )warn days

( )min days

(-m)

max days ( )

time

last change date ( )

password expiration

date

inactive date

Mientras el instructor explica estos parámetros, complete los paréntesis en el diagrama que seencuentra a continuación con los modificadores de la línea de comando chage (forma abreviada)relevantes.

Como ejemplo, se agregó -m al parámetro Días mínimos para que comience su tarea.

# chage -m 0 -M 90 -W 7 -I 14 username

chage -d 0 username forzará que se actualice la contraseña en el próximo inicio de sesión.

chage -l username enumerará los valores de configuración actuales del nombre de usuario.

usermod puede modificar una cuenta, incluso "bloquearla" con la opción -L.

ReferenciasRed Hat Enterprise Linux Deployment Guide

• Sección 15.6: Contraseñas ocultas

Páginas del manual: chage(8), usermod(5), shadow(3), crypt(1)

Capítulo 9. Administración de las cuentas de usuario

140 RH135-6-es-2-20110131

Práctica Cuestionario

Mantenimiento de cuentas1. ¿Qué comando bloquearía la cuenta de elvis?

2. ¿Qué comando la desbloquearía?

3. ¿Qué comando haría que la cuenta de elvis caducara el 15 de marzo de 2012?

Prueba de criterios

RH135-6-es-2-20110131 141

Prueba

Prueba de criterios

Ejercicio

Administración de políticas de vigencia decontraseñas

Realice los siguientes pasos con cuidado. Si tiene algún problema o alguna duda, consulte con suinstructor.

El instructor los dividirá en grupos pequeños. En cada grupo, debatan qué políticas de vigenciade contraseñas serían apropiadas para los profesores (que usarán la máquina durante un tiempoprolongado), los estudiantes de posgrado (que usarán la máquina durante unos pocos años) y lospracticantes de verano (que sólo usarán la máquina durante el verano).

• Profesores: faraday, juliet

• Estudiantes de posgrado: jack, kate, james

• Practicantes de verano: walt, ben, claire, hugo

Asigne una política de contraseña a cada grupo de usuarios en serverX.

1. Determine una política de vigencia de contraseñas adecuada para cada grupo de usuarios(profesores, estudiantes de posgrado y practicantes de verano), que incluya:

• Fecha de caducidad de la cuenta (si corresponde).

• El tiempo antes de que se deban cambiar las contraseñas.

• El límite de tiempo a partir del cual si no se cambia la contraseña, la cuenta quedaráinactiva.

2. Una vez determinado, use chage para implementar la política para los usuarios agregadosen la sección anterior, según su función.

3. Además, exija a los usuarios que cambien la contraseña al iniciar sesión por primera vez.

Capítulo 9. Administración de las cuentas de usuario

142 RH135-6-es-2-20110131

Notas personales

Prueba de criterios

RH135-6-es-2-20110131 143

Resumen de la unidad

¿Qué es un usuario?

En esta sección, aprendió a:

• Comprender qué es una cuenta de usuario en un sistema Linux

• Identificar los campos del archivo /etc/passwd

.Administración de usuarios locales

En esta sección, aprendió a:

• Agregar y quitar cuentas de usuarios desde la línea de comando

• Establecer o cambiar las contraseñas de usuarios

.Administración de contraseñas

En esta sección, aprendió a:

• Personalizar las políticas de vigencia de contraseñas para que los usuarios cumplancon los requisitos de seguridad de organización

.

144

 

RH135-6-es-2-20110131 145

UNIDAD DIEZ

CUENTAS DE USUARIOS DE REDCON LDAP

IntroducciónTemas tratados en esta unidad:

• Configuración de cliente LDAP

• Metacaracteres del programa de automontaje

Capítulo 10. Cuentas de usuarios de red con LDAP

146 RH135-6-es-2-20110131

Autenticación de red mediante el uso de unservidor LDAP

Hasta el momento en esta clase, hemos observado cuentas de usuarios locales administradasa través de archivos locales (como /etc/passwd) en cada máquina. Sin embargo, es difícilcoordinar cuentas de usuarios locales en muchos sistemas.

En esta sección, analizaremos cómo configurar una máquina como cliente para usar cuentas deusuarios de red que son provistas por un servicio de directorios LDAP existente. Esto permiteque el directorio LDAP sea la autoridad central para todos los grupos y usuarios de red ennuestra organización.

La información de cuenta de usuario determina las características y la configuración de la cuenta.Los métodos de autenticación se usan para determinar si alguien que intenta iniciar sesión debetener acceso a la cuenta. Los servicios de directorios de red pueden proporcionar informaciónsobre la cuenta de usuario y métodos de autenticación.

Los servidores de directorios de red se pueden usar como un servicio de administración deusuarios de red distribuido y centralizado. Las entradas de directorio están dispuestas en unaestructura de árbol donde se pueden buscar. El DN (Nombre distinguido) de base es la base delárbol donde se realizarán las búsquedas de las entradas de directorio correspondientes a losusuarios y grupos.

Elementos principales para la configuración de cliente LDAP1. Nombre de host completo del servidor

2. DN de base para buscar definiciones de usuarios

3. Certificado de autoridades de certificación (CA) que se usa para firmar el certificado SSL delservidor LDAP

Use este espacio para sus notas.

Debe asegurarse de que el grupo de paquetes YUM directory-client esté instalado, queincluye los paquetes sssd, authconfig-gtk y oddjob-mkhomedir, antes de comenzar.

Se puede usar System → Administration → Authentication o system-config-authentication para modificar la configuración de identidad y autenticación.

Autenticación de red mediante el uso de un servidor LDAP

RH135-6-es-2-20110131 147

system-config-authentication automáticamente activará el servicio sssd que buscará ycopiará en caché la información de usuario LDAP y las credenciales de autenticación del cliente.Si el servidor LDAP no está disponible, pero sssd está funcionando, el sistema podrá autenticar yobtener información acerca de los usuarios de red de la caché de sssd.

Use getent passwd username para verificar la información de cuenta que se está usando.Esto funciona independientemente de que el usuario sea un usuario local definido en /etc/passwd o un usuario de red de un servicio LDAP. El comando siempre mostrará la definición queestá usando el sistema actualmente si hay alguna duplicación entre usuarios locales y usuariosde red. De forma predeterminada, la definición de usuario local invalida la definición de usuariode red.

notaEn Red Hat Enterprise Linux 6, getent passwd (sin especificar un nombre de usuario) sólovolcará los nombres de usuario local de forma predeterminada, no volcará la lista de todoslos usuarios LDAP como en Red Hat Enterprise Linux 5. Esto es por motivos de rendimiento;consulte sssd.conf(5) en la opción enumerate para más detalles. (Este comportamientose puede cambiar configurando enumerate = True en la sección [domain/default] de/etc/sssd/sssd.conf).

Capítulo 10. Cuentas de usuarios de red con LDAP

148 RH135-6-es-2-20110131

ImportanteAl usar LDAP password como su método de autenticación, debe seleccionar y configurarUse TLS to encrypt connections. Esto es para evitar que se envíen contraseñas noencriptadas al servidor LDAP por medio de la red para la autenticación.

Este es un cambio de Red Hat Enterprise Linux 5, el cual habilitaría el uso no seguro deautenticación de contraseñas LDAP sin TLS. En RHEL 6, puede seguir utilizando LDAP sinTLS si está usando LDAP para obtener información de usuario únicamente. (Por ejemplo,puede utilizar Kerberos para la autenticación de contraseñas). Es recomendable utilizarsiempre TLS.

ReferenciasRed Hat Enterprise Linux Deployment Guide

• Capítulo 8: Configuración de autenticación

Páginas del manual: system-config-authentication(8), sssd(8), sssd.conf(5)

Autenticación de red mediante el uso de un servidor LDAP

RH135-6-es-2-20110131 149

Práctica Cuestionario

Configuración de cliente LDAP1. ¿Cuáles son los siete datos que generalmente proveen los servicios de información de

cuenta de usuario?

2. ¿Qué "otro" tipo de información puede proveer un servicio de directorios de red?

3. ¿Cuáles son los tres datos que deben configurarse en una máquina cliente para obtenerinformación de usuario de un servicio de directorios LDAP?

4. ¿Qué función ejecuta el comando getent passwd ldapuser1? ¿Por qué es útil?

Capítulo 10. Cuentas de usuarios de red con LDAP

150 RH135-6-es-2-20110131

Montaje en red de directorios hogarRecuerde que el montaje de recursos compartidos de red requiere cuatro datos: nombre del host,nombre del recurso compartido, punto de montaje y opciones de montaje.

1. Use showmount -e nfsserver.domain para obtener la ruta exportada que al combinarlacon el nombre de host nos proporciona el nombre de recurso compartido.

[root@serverX ~]# showmount -e instructor.example.comExport list for instructor.example.com:/home/guests 192.168.0.0/255.255.255.0/var/nfs 192.168.0.0/255.255.255.0/kickstart 192.168.0.0/255.255.255.0/var/ftp/pub 192.168.0.0/255.255.255.0

2. Use getent passwd username para obtener el punto de montaje del directorio hogarnecesario.

[root@serverX ~]# getent passwd ldapuser1ldapuser1:*:1701:1701:LDAP Test User 1:/home/guests/ldapuser1:/bin/bash

notaDe forma predeterminada, getent passwd solo muestra las cuentas locales. Puedemostrar una cuenta única si agrega explícitamente el nombre (como se muestra arriba).Si desea mostrar todas las cuentas disponibles (incluidas las cuentas LDAP), agregue losiguiente a /etc/sssd/sssd.conf debajo de la sección [domain/default]:

enumerate = True

Reinicie el servicio sssd.

[root@serverX ~]# service sssd restart[root@serverX ~]# getent passwd...ldapuser10:*:1710:1710:LDAP Test User 10:/home/guests/ldapuser10:/bin/bashldapuser11:*:1711:1711:LDAP Test User 11:/home/guests/ldapuser11:/bin/bash...

3. Al igual que los directorios hogar, probablemente queramos usar rw como opción demontaje.

La configuración de asignaciones indirectas en autofs se vería más o menos así:

# cat /etc/auto.master/home/guests /etc/auto.guests# cat /etc/auto.guestsldapuser1 -rw instructor.example.com:/home/guests/ldapuser1ldapuser2 -rw instructor.example.com:/home/guests/ldapuser2

Montaje en red de directorios hogar

RH135-6-es-2-20110131 151

ldapuser3 -rw instructor.example.com:/home/guests/ldapuser3ldapuser4 -rw instructor.example.com:/home/guests/ldapuser4

Cada vez que se crea un usuario LDAP nuevo, se deberá actualizar a /etc/auto.guests paraincluir ese usuario adicional. Sin embargo, observe el "patrón" de las líneas. Deseamos permitirel inicio de sesión con cualquier nombre de usuario, de modo que podríamos reemplazar laprimera columna por un "asterisco (*)", un comodín, para que coincida con cualquier nombrede subdirectorio al que el proceso de inicio de sesión intente hacer cd. Después, usamos elmetacarácter "ampersand (&)" para reemplazar el nombre de usuario en el recurso compartidoque lleva el nombre de asignación que coincide con el comodín:

# cat /etc/auto.master/home/guests /etc/auto.guests# cat /etc/auto.guests* -rw instructor.example.com:/home/guests/&

ImportanteAl momento de escribir, existe un error en el script del índice de comandos autofs (bugzilla#624444) que hace que service autofs restart a veces falle. Hasta que esto searregle, use

service autofs reload

o el

service autofs stop && service autofs start.

ReferenciasRed Hat Enterprise Linux Storage Administration Guide

• Sección 10.3: autofs

Páginas del manual: autofs(5), auto.master(5)

Capítulo 10. Cuentas de usuarios de red con LDAP

152 RH135-6-es-2-20110131

Práctica Caso de estudio

Automontaje de directorios NFS

Estos pasos deben ejecutarse en serverX.

Actualmente, su empresa toma varios clientes nuevos:

1. Organization of Secret Hidden Undertakings (OSHU)

2. Race Along the Lake Investments, Inc. (RALII)

Su empresa tiene un nuevo servidor NFS para almacenar archivos relacionados con esos clientes"especiales" denominados instructor.example.com, con dos recursos compartidos: /var/nfs/oshu y /var/nfs/ralii. La expectativa es que se agregarán más recursos compartidos amedida que se incorporen nuevos clientes.

Las estaciones de trabajo deben usar autofs para montar automáticamente estos recursoscompartidos en /special/oshu y /special/ralii, respectivamente, con permisos de sólolectura.

Dada la perspectiva de que nuevos clientes se incorporarán en breve, implemente eso medianteel uso de metacaracteres y comodines de autofs.

¿Cómo trataría el caso de estudio descrito anteriormente? Tome nota de su proceso en elespacio provisto a continuación y después impleméntelo.

Prueba de criterios

RH135-6-es-2-20110131 153

Prueba

Prueba de criterios

Caso de estudio

Obtener información de usuarios de red desde unservicio de directorio LDAP

Ahora configurará serverX para obtener información acerca de los usuarios de red desde unservidor de directorio LDAP disponible en todas las máquinas de la clase.

Esta es la información que se le proporcionó acerca del servidor LDAP:

• Nombre de host: instructor.example.com

• DN de la base de búsqueda: dc=example,dc=com

• Certificado CA: http://instructor.example.com/pub/EXAMPLE-CA-CERT 1

Después, configurará serverX para montar automáticamente los directorios hogar de losusuarios de red basados en LDAP cuando inicien sesión.

Esta es la información que se le proporcionó acerca del servidor de almacenamiento NFS quecontiene los directorios hogar:

• Nombre de host: instructor.example.com

• Directorio exportado: /home/guests/

¿Cómo trataría el caso de estudio descrito anteriormente? Tome nota de su proceso en elespacio provisto a continuación y después impleméntelo.

Capítulo 10. Cuentas de usuarios de red con LDAP

154 RH135-6-es-2-20110131

Notas personales

Prueba de criterios

RH135-6-es-2-20110131 155

Resumen de la unidad

Autenticación de red mediante el uso de un servidor LDAP

En esta sección, aprendió a:

• Configurar el sistema para autenticar usuarios administrados en un servicio dedirectorios LDAP central

.Montaje en red de directorios hogar

En esta sección, aprendió a:

• Automontar directorios hogar NFS existentes para usuarios remotos mediante el usode metacaracteres de asignación indirecta

.

156

 

RH135-6-es-2-20110131 157

UNIDAD ONCE

CONTROL DE ACCESO A LOSARCHIVOS

IntroducciónTemas tratados en esta unidad:

• Administración de grupos

• Listas de control de acceso

Capítulo 11. Control de acceso a los archivos

158 RH135-6-es-2-20110131

Administración de gruposAl igual que los usuarios, los grupos tienen un nombre y un número (GID). Los grupos localesestán definidos en /etc/group. También se puede usar LDAP para proporcionar informaciónsobre los grupos.

Grupos principales• Cada usuario tiene exactamente un grupo principal.

• Para los usuarios locales, el grupo principal está definido por el número de GID del grupoindicado en el tercer campo de /etc/passwd.

• Normalmente, el grupo principal adquiere nuevos archivos que son creados por el usuario.

• Normalmente, el grupo principal de un usuario creado recientemente es un grupo creado conel mismo nombre que el del usuario. El usuario es el único miembro de este grupo privado deusuarios (UPG).

Grupos adicionales• Los usuarios pueden ser miembros de ninguno o más grupos adicionales.

• Los usuarios que son miembros adicionales de grupos locales se enumeran en el último campode la entrada del grupo en /etc/group: Para grupos locales, la membresía del usuario sedetermina por una lista de usuarios separados por comas que se encuentran en el últimocampo de la entrada del grupo en /etc/group:

groupname:password:GID:list,of,users,in,this,group

• La membresía del grupo adicional se utiliza para ayudar a asegurar que los usuarios tenganpermisos para acceder a los archivos y a otros recursos en el sistema.

notaDada la creación automática de grupos privados de usuarios (GID 500+), generalmentese recomienda establecer aparte un rango de números de GID para su uso con los gruposadicionales. Aquí usaremos el rango de 200 a 400, si bien existe el riesgo de colisión con unGrupo del sistema (GID 0-499).

Administrar grupos adicionales1. groupadd -g 201 groupname se usa para crear un grupo adicional con el nombre

groupname, con un GID de 201.

2. usermod -aG groupname username agregará al usuario username al grupogroupname.

Administración de grupos

RH135-6-es-2-20110131 159

ImportanteEl uso de la opción -a hace que usermod funcione en modo "adición". Sin esta, elusuario se eliminaría de todos los demás grupos adicionales.

ReferenciasRed Hat Enterprise Linux Deployment Guide

• Capítulo 15: Usuarios y grupos

Páginas del manual: group(5), groupadd(8), groupdel(8), usermod(8)

Capítulo 11. Control de acceso a los archivos

160 RH135-6-es-2-20110131

Práctica Ejercicio

Administración de grupos

Realice los siguientes pasos con cuidado. Si tiene algún problema o alguna duda, consulte con suinstructor.

Ahora colocaremos a los usuarios que se crearon anteriormente en serverX en grupos.

Grupo Nombre del grupo Lista de usuarios

Profesores profs faraday, juliet, elvis

Estudiantes deposgrado

grads jack, kate, james, elvis

Practicantes deverano

interns walt, ben, claire, hugo, elvis

Tabla 11.1. Asignaciones de usuarios y grupos

Tenga en cuenta que deberá crear un usuario adicional con el nombre elvis, que deberácolocarse en los tres grupos.

1. Cree los grupos especificados en la tabla anterior y asigne los miembros correspondientesde cada grupo.

2. Use el comando id para verificar las membresías del grupo de todos los usuarios.

Administración de las listas de control de acceso al sistema de archivos

RH135-6-es-2-20110131 161

Administración de las listas de control de accesoal sistema de archivos

Soporte de listas de control de acceso• Los sistemas de archivos Standard Linux (ext2/3/4) admiten la configuración de permisos de

archivos más complejos mediante el uso de POSIX ACL, siempre que el sistema de archivos semonte con la opción acl.

• En Red Hat Enterprise Linux, si el último carácter de la cadena de permiso que muestra ls -les +, el archivo o directorio tiene un conjunto de ACL.

• getfacl file se usa para mostrar las ACL en un archivo.

u:elvis:rw- # applies to user elvisu:3142:--- # applies to user id 3142u::rwx # applies to file's owner (user)

g:music:rwx # applies to group musicg:10:r-x # applies to group id 10g::rw- # applies to file's group

o::rwx # applies to everyone else

• setfacl se usa para establecer o modificar ACL en un archivo.

$ setfacl -m u:friend:rw filename # grants rw to user friend$ setfacl -m g:grads:rw filename # grants rw to the group grads$ setfacl -m g:profs:r filename # grants r to the group profs

$ setfacl -x u:friend # removes the existing ACL for friend

$ setfacl -m o::- filename # changes normal "other" permissions

Use este espacio para sus notas.

Prioridad de permisosAl determinar si un proceso (es decir, un programa en ejecución) puede acceder a un archivo, lospermisos de archivos y las ACL se aplican de la siguiente manera:

1. Si el proceso se ejecuta como el usuario que es propietario del archivo, entonces lospermisos del usuario del archivo aplican

2. Además, si el proceso se ejecuta como un usuario que está detallado en una entrada de ACLde usuario, entonces la ACL de usuario aplica (siempre que esté permitido por la máscara, eninglés mask)

Capítulo 11. Control de acceso a los archivos

162 RH135-6-es-2-20110131

3. Además, si el proceso se ejecuta como un grupo que coincide con el grupo que es propietariodel archivo o como un grupo con una entrada de ACL de grupo explícita, si el permiso esotorgado por cualquier grupo coincidente, aplica (siempre que esté permitido por la máscarao mask)

4. De lo contrario, aplican los otros permisos del archivo

La máscara ACL• Los archivos que tienen ACL tienen una "máscara" (mask) que limita el máximo de permisos

que pueden tener tanto el grupo que es propietario del archivo como los usuarios y los gruposadicionales en ACL.

• getfacl file muestra la máscara actual como mask::permissions.

• Los permisos de los grupos que muestra ls -ld file también reflejan la máscara actual (nolos permisos del grupo propietario)

ImportanteSi se cambian los permisos de los grupos en un archivo con una ACL mediante el uso dechmod, los permisos reales del grupo propietario no se cambian. En realidad se cambia lamáscara, que limita el máximo de permisos de todos los grupos y los usuarios adicionalesque tienen acceso al archivo. (Es decir, los permisos para todos, excepto el usuariopropietario y los usuarios en la otra categoría del archivo).

Use este espacio para sus notas.

ACL predeterminadas (herencia)• Los directorios pueden tener entradas de "ACL predeterminada" que se establecen

automáticamente en archivos nuevos creados en ese directorio.

• setfacl -m d:u:elvis:rw directory establecería una entrada de ACL predeterminadaque otorgaría acceso de lectura y escritura al usuario elvis en todos los archivos nuevoscreados en directory.

• Esto es similar a la manera en que el permiso setgid, cuando se establece en un directorio,hace que los archivos nuevos creados en ese directorio pertenezcan al mismo grupo al quepertenece el directorio.

Administración de las listas de control de acceso al sistema de archivos

RH135-6-es-2-20110131 163

notaAl configurar ACL predeterminadas en un directorio, si desea asegurar que los usuariospuedan acceder al contenido de nuevos subdirectorios creados en este, asegúrese de incluirpermisos ejecutables en su ACL:

[user@host ~]$ setfacl -m d:u:elvis:rx directory

Normalmente, los usuarios no adquirirán el permiso ejecutable automáticamente en losarchivos regulares creados recientemente porque, a diferencia de los nuevos directorios, lamáscara ACL de un archivo regular nuevo es rw- de manera predeterminada.

Use este espacio para sus notas.

Opción de montaje de ACL• La compatibilidad para entradas POSIX ACL se debe habilitar cuando se monta el sistema de

archivos.

• El instalador configura todos los sistemas de archivos ext4 que crea de modo que activen elsoporte de ACL automáticamente.

[root@host ~]# dumpe2fs /dev/block-dev | grep 'Default mount'Default mount options: user_xattr acl

• Si formatea un sistema de archivos manualmente, deberá montarlo con la opción de montajeacl.

• Puede configurar un sistema de archivos ext4 formateado manualmente para que active elsoporte automáticamente al realizar el montaje mediante el uso de tune2fs para establecerlas opciones de montaje predeterminadas:

[root@host ~]# tune2fs -o acl,user_xattr /dev/block-dev

Capítulo 11. Control de acceso a los archivos

164 RH135-6-es-2-20110131

notaLa opción de montaje user_xattr no está relacionada en absoluto con POSIX ACL, perohabilita los atributos extendidos del usuario. Estos son utilizados por una cantidad deprogramas para almacenar información personalizada con los archivos. Es una buena ideadejar configurada esta opción predeterminada aunque no es necesaria para habilitar POSIXACL. Consulte attr(5) para obtener más información.

Use este espacio para sus notas.

ReferenciasRed Hat Enterprise Linux Storage Administration Guide

• Capítulo 16: Listas de control de acceso

Páginas del manual: acl(5), getfacl(1), setfacl(1)

Permisos de directorio de colaboraciónEn el cuestionario que se encuentra a continuación, use los permisos POSIX ACL y estándar,según corresponda, para resolver los problemas.

1. Dado un directorio normal, donde el usuario propietario tiene permisos rwx, el grupopropietario tiene permisos rwx y otro tiene permisos ---, ¿qué comando otorgaría a unsegundo grupo permisos r-x sin cambiar los permisos del grupo propietario existente odel otro?

2. ¿Qué comando otorgaría automáticamente acceso de lectura y escritura para esesegundo grupo a cualquier archivo recientemente creado en ese directorio?

3. Pregunta adicional. ¿Qué comando configuraría automáticamente el grupo propietariocomo el grupo propietario de cualquier archivo creado recientemente en ese directorio?

Administración de las listas de control de acceso al sistema de archivos

RH135-6-es-2-20110131 165

Capítulo 11. Control de acceso a los archivos

166 RH135-6-es-2-20110131

Prueba

Prueba de criterios

Caso de estudio

Uso de ACL para otorgar y limitar el acceso

En este laboratorio se utilizan usuarios y grupos creados anteriormente en serverX. Si aún notiene los usuarios y grupos definidos, ejecute lab-add-users en serverX.

Los estudiantes de posgrado necesitan un directorio de colaboración denominado /opt/research, donde puedan almacenar los resultados de investigación generados. Solo losmiembros de los grupos profs y grads deben poder crear archivos nuevos en el directorio, ylos nuevos archivos deben tener las siguientes propiedades:

• El directorio debe ser propiedad del usuario root.

• Los archivos nuevos deben pertenecer al grupo grads.

• Los profesores (miembros del grupo profs) deben tener automáticamente acceso de lectura yescritura a los nuevos archivos.

• Los practicantes de verano (miembros del grupo interns) deben tener automáticamenteacceso de solo lectura a los nuevos archivos.

• Otros usuarios (que no sean miembros de grupos profs, grads ni interns) no deben poderacceder al directorio y ni a su contenido en absoluto.

Consulte el apéndice Soluciones cuando haya finalizado de revisar su solución, para ver algunosmétodos posibles.

¿Cómo trataría el caso de estudio descrito anteriormente? Tome nota de su proceso en elespacio provisto a continuación y después impleméntelo.

Administración de las listas de control de acceso al sistema de archivos

RH135-6-es-2-20110131 167

Notas personales

Capítulo 11. Control de acceso a los archivos

168 RH135-6-es-2-20110131

Resumen de la unidad

Administración de grupos

En esta sección, aprendió a:

• Identificar grupos principales frente a adicionales

• Crear un nuevo grupo

• Eliminar un grupo

• Agregar una cuenta de usuario a un grupo

.Administración de las listas de control de acceso al sistema de archivos

En esta sección, aprendió a:

• Usar una entrada de ACL para otorgar o bloquear el acceso a archivos

• Crear una lista de ACL en un archivo

• Borrar una entrada de ACL

• Asignar grupo de propietarios o una ACL a nuevos archivos creados en un directoriode forma automática

.

 

RH135-6-es-2-20110131 169

UNIDAD DOCE

ADMINISTRACIÓN DE SELINUX

IntroducciónTemas tratados en esta unidad:

• Revisión de los conceptos básicos de SELinux

• Visualización y configuración de los modos de SELinux

• Visualización y configuración de los contextos de archivo de SELinux

• Ajuste del comportamiento de la política con booleanos de SELinux

• Control de las violaciones de la política de SELinux

Capítulo 12. Administración de SELinux

170 RH135-6-es-2-20110131

Conceptos básicos de seguridad de SELinuxSELinux, la seguridad mejorada de Linux, es un método adicional para proteger su sistema.

Suponiendo que queremos permitir el acceso remoto de usuarios anónimos a un servidor web,debemos abrir los puertos a través del cortafuego. Sin embargo, eso significa que personasmalintencionadas pueden intentar irrumpir en el sistema a través de una vulnerabilidad deseguridad y, si ponen en riesgo el proceso de servidor web, obtener sus permisos: los permisosdel usuario Apache y del grupo Apache. Ese usuario o grupo tiene acceso de lectura a cosascomo la raíz del documento (/var/www/html), así como acceso de escritura a /tmp, /var/tmpy cualquier otro archivo o directorio que sea modificable por todos los usuarios.

SELinux es un conjunto de reglas de seguridad que determina qué proceso puede acceder a quéarchivos, directorios, puertos, etc. Los archivos, procesos, directorios y puertos tienen etiquetasde seguridad especiales denominadas contextos de SELinux. Un contexto es simplementeun nombre que usa la política de SELinux para determinar si un proceso puede o no accedera un archivo, directorio o puerto. De forma predeterminada, la política no permite ningunainteracción, de modo que reglas explícitas otorgan el acceso. Si no hay ninguna regla de permiso,no se permite ningún tipo de acceso.

Las etiquetas de SELinux tienen varios contextos, pero nosotros estamos más interesados en eltercer contexto: el contexto de tipo. Los nombres de contexto de tipo usualmente terminan en_t. El contexto de tipo para el servidor web es httpd_t. El contexto de tipo para los archivos ydirectorios que normalmente se encuentran en /var/www/html es httpd_sys_content_t.El contexto de tipo para los archivos y directorios que normalmente se encuentran en /tmp y /var/tmp es tmp_t. El contexto de tipo para los puertos de servidor web es http_port_t.

Hay una regla en la política que permite a Apache (el proceso de servidor web que se ejecutacomo httpd_t) acceder a archivos y directorios con un contexto que normalmente seencuentran en /var/www/html y otros directorios de servidor web (httpd_sys_content_t).No hay una regla en la política para los archivos que normalmente se encuentran en /tmp y /var/tmp, de modo que no se permite el acceso. Con SELinux, un usuario malintencionado nopodría acceder al directorio /tmp, y mucho menos escribir archivos en él. SELinux incluso tienereglas para los sistemas de archivos remotos como NFS y CIFS, aunque todos los archivos enesos sistemas de archivos se etiquetan con el mismo contexto.

Uno de los objetivos de SELinux es proteger los datos del usuario de servicios del sistema que secomprometan.

ReferenciasRed Hat Enterprise Linux SELinux Guide

• Capítulo 2: Introducción

RH135-6-es-2-20110131 171

Práctica Cuestionario

Conceptos básicos de SELinux1. ¿A cuáles de las siguientes opciones SELinux aplica el contexto de seguridad? (Marque

todas las opciones que correspondan).

(seleccione uno o más de los siguientes…)a. Puertosb. Procesosc. Archivosd. Directoriose. Sistemas de archivos remotos

2. SELinux puede usarse para:

(seleccione uno o más de los siguientes…)a. Impedir que un servicio se ejecute en otros puertos.b. Proteger los datos de usuario de aplicaciones como el servidor web.c. Impedir que sistemas remotos accedan a puertos locales.d. Mantener el sistema actualizado.e. Acceder a un servidor web.

3. ¿Cuáles de las siguientes opciones corresponden a tipos estándares de contexto deSELinux?

(seleccione uno o más de los siguientes…)a. selinux_typeb. object_rc. httpd_sys_content_td. tmp_te. user_u

Capítulo 12. Administración de SELinux

172 RH135-6-es-2-20110131

Modos de SELinuxPara los fines de la solución de problemas, podemos deshabilitar temporalmente la protección deSELinux, con los modos de SELinux.

En el modo obligatorio, SELinux deniega de forma activa el acceso al servidor web que intenteleer archivos con el contexto de tipo tmp_t. En el modo obligatorio, SELinux registra y protege.

El modo permisivo se usa generalmente para solucionar problemas. En el modo permisivo,SELinux permite todas las interacciones, incluso si no hay ninguna regla explícita, y registratodas las interacciones denegadas. Este modo se puede usar para determinar si usted tieneun problema de SELinux. No se requiere volver a arrancar el sistema para pasar del modoobligatorio al modo permisivo, o viceversa.

Un tercer modo, el modo deshabilitado, deshabilita SELinux por completo. Deberá volvera arrancar el sistema para deshabilitar SELinux por completo, o bien para pasar del mododeshabilitado al modo obligatorio o permisivo.

ImportanteSi tiene previsto volver a habilitar las restricciones de SELinux, se recomienda usar el modopermisivo, en lugar de deshabilitar SELinux por completo. Una de las razones es que, inclusoen el modo permisivo, el kernel automáticamente mantendrá las etiquetas necesariasdel sistema de archivos de SELinux, lo que evitará tener que efectuar una colocaciónde etiquetas costosa por segunda vez cuando vuelva a arrancar el sistema con SELinuxhabilitado nuevamente.

ReferenciasRed Hat Enterprise Linux SELinux Guide

• Sección 5.5: Modos de SELinux

RH135-6-es-2-20110131 173

Práctica Cuestionario

Modos de SELinux1. El modo de SELinux permite el

registro, pero no la protección.

2. El modo de SELinux protegeel sistema.

3. ¿Cuáles de los siguientes son modos de SELinux válidos?

(seleccione uno o más de los siguientes…)a. Obligatoriob. Pruebac. Permisivod. Deshabilitadoe. Registro

Capítulo 12. Administración de SELinux

174 RH135-6-es-2-20110131

Mostrar y modificar modos de SELinuxTenga en cuenta que /etc/sysconfig/selinux contiene comentarios útiles:

# This file controls the state of SELinux on the system.# SELINUX= can take one of these three values:# enforcing - SELinux security policy is enforced.# permissive - SELinux prints warnings instead of enforcing.# disabled - No SELinux policy is loaded.SELINUX=enforcing# SELINUXTYPE= can take one of these two values:# targeted - Targeted processes are protected,# mls - Multi Level Security protection.SELINUXTYPE=targeted

Use /etc/sysconfig/selinux para cambiar el modo predeterminado de SELinux durante elproceso de arranque. En el ejemplo anterior, se establece el modo obligatorio.

Para mostrar el modo actual de SELinux, use getenforce. Para modificar el modo actual deSELinux, use setenforce:

[root@serverX ~]# getenforceEnforcing[root@serverX ~]# setenforceusage: setenforce [ Enforcing | Permissive | 1 | 0 ][root@serverX ~]# setenforce 0[root@serverX ~]# getenforcePermissive[root@serverX ~]# setenforce Enforcing[root@serverX ~]# getenforceEnforcing

ReferenciasRed Hat Enterprise Linux SELinux Guide

• Sección 5.5: Modos de SELinux

Páginas del manual: selinux(8), getenforce (1), setenforce (1)

RH135-6-es-2-20110131 175

Práctica Ejercicio

Cambio de los modos permisivo y obligatorio

Realice los siguientes pasos con cuidado. Si tiene algún problema o alguna duda, consulte con suinstructor.

1. En serverX, cambie el modo predeterminado de SELinux a permisivo y vuelva a arrancar elsistema.

2. Después de arrancar nuevamente el sistema, verifique que se encuentre en modo permisivo.

3. Cambie el modo predeterminado de SELinux a obligatorio.

4. Cambie el modo actual de SELinux a obligatorio.

Capítulo 12. Administración de SELinux

176 RH135-6-es-2-20110131

Mostrar y modificar contextos de archivo deSELinux

Muchos comandos que manejan archivos tienen una opción (generalmente, -Z) para mostraro establecer contextos de SELinux. Por ejemplo, ps, ls, cp y mkdir usan la opción -Z paramostrar o establecer contextos de SELinux.

[root@serverX ~]# ps axZLABEL PID TTY STAT TIME COMMANDsystem_u:system_r:init_t:s0 1 ? Ss 0:00 /sbin/initsystem_u:system_r:kernel_t:s0 2 ? S 0:00 [kthreadd]system_u:system_r:kernel_t:s0 3 ? S 0:00 [migration/0]...[root@serverX ~]# service httpd start[root@serverX ~]# ps -ZC httpdLABEL PID TTY TIME CMDunconfined_u:system_r:httpd_t:s0 27672 ? 00:00:00 httpdunconfined_u:system_r:httpd_t:s0 27675 ? 00:00:00 httpd...[root@serverX ~]# ls -Z /homedrwx------. root root system_u:object_r:lost_found_t:s0 lost+founddrwx------. student student unconfined_u:object_r:user_home_dir_t:s0 studentdrwx------. visitor visitor unconfined_u:object_r:user_home_dir_t:s0 visitor[root@serverX ~]# ls -Z /var/wwwdrwxr-xr-x. root root system_u:object_r:httpd_sys_script_exec_t:s0 cgi-bindrwxr-xr-x. root root system_u:object_r:httpd_sys_content_t:s0 errordrwxr-xr-x. root root system_u:object_r:httpd_sys_content_t:s0 htmldrwxr-xr-x. root root system_u:object_r:httpd_sys_content_t:s0 icons

¿Qué determina el contexto de SELinux inicial de un archivo? En general, es el directorioprincipal. El contexto del directorio principal se asigna al archivo creado recientemente. Esto seaplica a comandos como vim, cp ytouch; sin embargo, si se crea un archivo en otro lugar y lospermisos se conservan (como con mv o cp -a), este también conservará el contexto de SELinux.La política tiene algunas reglas especiales, denominadas reglas de transición de tipo, que puedencambiar el contexto de tipo del valor predeterminado. Estas reglas no se analizan en este curso.

[root@serverX ~]# ls -Zd /var/www/html/drwxr-xr-x. root root system_u:object_r:httpd_sys_content_t:s0 /var/www/html/[root@serverX ~]# touch /var/www/html/index.html[root@serverX ~]# ls -Z /var/www/html/index.html-rw-r--r--. root root unconfined_u:object_r:httpd_sys_content_t:s0 /var/www/html/index.html

Se puede usar semanage fcontext para mostrar o modificar las reglas que usa restoreconpara establecer los contextos de archivo predeterminados. Usa expresiones regulares extendidaspara especificar los nombres de archivo y ruta. La expresión regular extendida que más se usa enlas reglas de fcontext es (/.*)?, que significa opcionalmente, coincidir / seguido de cualquiercantidad de caracteres. En esencia, coincidirá el directorio mencionado antes de la expresión ytodo lo que se encuentre en este directorio de manera recursiva.

restorecon es parte del paquete policycoreutil y semanage es parte del paquetepolicycoreutil-python.

[root@serverX ~]# touch /tmp/file1 /tmp/file2

Mostrar y modificar contextos de archivo de SELinux

RH135-6-es-2-20110131 177

[root@serverX ~]# ls -Z /tmp/file*-rw-r--r--. root root unconfined_u:object_r:user_tmp_t:s0 /tmp/file1-rw-r--r--. root root unconfined_u:object_r:user_tmp_t:s0 /tmp/file2[root@serverX ~]# mv /tmp/file1 /var/www/html/[root@serverX ~]# cp /tmp/file2 /var/www/html/[root@serverX ~]# ls -Z /var/www/html/file*-rw-r--r--. root root unconfined_u:object_r:user_tmp_t:s0 /var/www/html/file1-rw-r--r--. root root unconfined_u:object_r:httpd_sys_content_t:s0 /var/www/html/file2[root@serverX ~]# semanage fcontext -l.../var/www(/.*)? all files system_u:object_r:httpd_sys_content_t:s0...[root@serverX ~]# restorecon -Rv /var/www/restorecon reset /var/www/html/file1 context unconfined_u:object_r:user_tmp_t:s0->system_u:object_r:httpd_sys_content_t:s0[root@serverX ~]# ls -Z /var/www/html/file*-rw-r--r--. root root system_u:object_r:httpd_sys_content_t:s0 /var/www/html/file1-rw-r--r--. root root unconfined_u:object_r:httpd_sys_content_t:s0 /var/www/html/file2

En el siguiente ejemplo, se muestra cómo usar semanage para agregar un contexto a undirectorio nuevo.

[root@serverX ~]# mkdir /virtual[root@serverX ~]# touch /virtual/index.html[root@serverX ~]# ls -Zd /virtual/drwxr-xr-x. root root unconfined_u:object_r:default_t:s0 /virtual/[root@serverX ~]# ls -Z /virtual/-rw-r--r--. root root unconfined_u:object_r:default_t:s0 index.html[root@serverX ~]# semanage fcontext -a -f "" -t httpd_sys_content_t '/virtual(/.*)?'[root@serverX ~]# restorecon -RFvv /virtual[root@serverX ~]# ls -Zd /virtual/drwxr-xr-x. root root system_u:object_r:httpd_sys_content_t:s0 /virtual/[root@serverX ~]# ls -Z /virtual/-rw-r--r--. root root system_u:object_r:httpd_sys_content_t:s0 index.html

ReferenciasRed Hat Enterprise Linux SELinux Guide

• Sección 5.7: Contextos de SELinux: etiquetado de archivos

Páginas del manual: restorecon(8), semanage(8)

Capítulo 12. Administración de SELinux

178 RH135-6-es-2-20110131

Práctica Ejercicio

Corrección de contextos de archivos de SELinux

Realice los siguientes pasos con cuidado. Si tiene algún problema o alguna duda, consulte con suinstructor.

Se le ha solicitado que ajuste la configuración DNS de su máquina remota para que coincidaexactamente con la configuración de su máquina de escritorio. Usted decide que la forma másfácil es copiar el archivo /etc/resolv.conf de la máquina local en la máquina remota.

1. Transfiera el archivo /etc/resolv.conf de su máquina de escritorio al directorio hogarroot en serverX.

2. Use el intérprete de comandos para conectarse a serverX como root. Todos los pasossiguientes deben ejecutarse en su servidor.

3. Observe el contexto de SELinux de /etc/resolv.conf inicial.

Contexto /etc/resolv.conf original:

4. Mueva resolv.conf del directorio hogar de root a /etc/resolv.conf.

5. Observe el contexto de SELinux de /etc/resolv.conf recientemente copiado.

Contexto /etc/resolv.conf nuevo:

6. Restaure el contexto de SELinux de /etc/resolv.conf recientemente posicionado.

7. Observe el contexto de SELinux de /etc/resolv.conf restaurado.

Contexto /etc/resolv.conf restaurado:

Administración de booleanos de SELinux

RH135-6-es-2-20110131 179

Administración de booleanos de SELinuxLos booleanos de SELinux son opciones que modifican el comportamiento de la política deSELinux. Los booleanos de SELinux son reglas que pueden habilitarse o deshabilitarse. Losadministradores de seguridad pueden usarlos para adaptar la política y hacer ajustes selectivos.Muchos paquetes tienen páginas del manual *_selinux(8) que pueden detallar algunos de losbooleanos que usan; man -k '_selinux' puede buscar estas páginas del manual fácilmente.

getsebool se usa para mostrar los booleanos y setsebool se usa para modificarlos.setsebool -P modifica la política de SELinux para que la modificación sea persistente.semanage boolean -l mostrará si el booleano es persistente o no.

[root@serverX ~]# getsebool -aabrt_anon_write --> offallow_console_login --> onallow_corosync_rw_tmpfs --> off...[root@serverX ~]# getsebool httpd_enable_homedirshttpd_enable_homedirs --> off[root@serverX ~]# setsebool httpd_enable_homedirs on[root@serverX ~]# semanage boolean -l | grep httpd_enable_homedirshttpd_enable_homedirs -> off Allow httpd to read home directories[root@serverX ~]# getsebool httpd_enable_homedirshttpd_enable_homedirs --> on[root@serverX ~]# setsebool -P httpd_enable_homedirs on[root@serverX ~]# semanage boolean -l | grep httpd_enable_homedirshttpd_enable_homedirs -> on Allow httpd to read home directories

ReferenciasRed Hat Enterprise Linux SELinux Guide

• Sección 5.6: Booleanos

Páginas del manual: booleans(8), getsebool(8), setsebool(8), semanage(8)

Capítulo 12. Administración de SELinux

180 RH135-6-es-2-20110131

Control de las violaciones de SELinuxEl paquete setroubleshoot-server debe instalarse para enviar mensajes de SELinux a /var/log/messages. setroubleshoot-server escucha mensajes de auditoría en /var/log/audit/audit.log y envía un breve resumen a /var/log/messages. Este resumenincluye identificadores únicos (UUIDs) para las violaciones de SELinux que pueden utilizarsepara recopilar más información. sealert -l UUID se usa para generar un informe sobreun incidente específico. sealert -a /var/log/audit/audit.log se usa para generarinformes sobre todos los incidentes en un archivo.

[root@serverX ~]# touch /root/file3[root@serverX ~]# mv /root/file3 /var/www/html[root@serverX ~]# service httpd start[root@serverX ~]# elinks -dump http://serverX/file3 Forbidden You don't have permission to access /file3 on this server.[root@serverX ~]# tail /var/log/audit/audit.log...type=AVC msg=audit(1292526292.144:952): avc: denied { getattr } for pid=27675 comm="httpd" path="/var/www/html/file3" dev=dm-1 ino=54545 scontext=unconfined_u:system_r:httpd_t:s0 tcontext=unconfined_u:object_r:admin_home_t:s0 tclass=file...[root@serverX ~]# tail /var/log/messages...Dec 16 14:04:59 serverX setroubleshoot: SELinux is preventing /usr/sbin/httpd "getattr" access to /var/www/html/file3. For complete SELinux messages. run sealert -l e6e1d1d6-d716-4e2e-863c-bba4d2b2407a[root@serverX ~]# sealert -l e6e1d1d6-d716-4e2e-863c-bba4d2b2407aSummary:

SELinux is preventing /usr/sbin/httpd "getattr" access to /var/www/html/file3.

Detailed Description:

SELinux denied access requested by httpd. /var/www/html/file3 may be amislabeled. /var/www/html/file3 default SELinux type is httpd_sys_content_t, butits current type is admin_home_t. Changing this file back to the default type,may fix your problem....Allowing Access:

You can restore the default system context to this file by executing therestorecon command. restorecon '/var/www/html/file3', if this file is adirectory, you can recursively restore using restorecon -R'/var/www/html/file3'.

Fix Command:

/sbin/restorecon '/var/www/html/file3'...

Control de las violaciones de SELinux

RH135-6-es-2-20110131 181

notaEn la sección "Permiso de acceso", se sugiere restorecon /var/www/html/file3.Si deben ajustarse otros archivos, restorecon puede restablecer el contexto de formarecursiva: restorecon -R /var/www/.

ReferenciasRed Hat Enterprise Linux SELinux Guide

• Capítulo 8: Solución de problemas

Página del manual: sealert(8)

Capítulo 12. Administración de SELinux

182 RH135-6-es-2-20110131

Práctica Cuestionario

Control de las violaciones de SELinux1. ¿Qué archivo contiene entradas de registro que

proporcionan identificadores únicos para las violaciones deSELinux? .

2. Dado el UUID de una violación de SELinux, ¿quécomando genera un informe de texto del problema?

.

Prueba de criterios

RH135-6-es-2-20110131 183

Prueba

Prueba de criterios

Ejercicio

Administración de SELinuxAntes de comenzar...Antes de comenzar, ejecute el comando lab-setup-selinux en desktopX.

Realice los siguientes pasos con cuidado. Si tiene algún problema o alguna duda, consulte con suinstructor.

1. Inicie sesión en serverX como student. Abra un terminal y cambie al usuario root.

2. Copie el fichero web_content.tgz de instructor:/var/ftp/pub/materials en /tmp.

3. Extraiga el fichero en /tmp.

4. Mueva el directorio extraído a /var/www/html.

5. Inicie el servicio web.

6. Intente observar el nuevo directorio con el navegador web al visitar la URL http://serverX/web_content.

7. Busque en el sistema los UUID de cualquier violación de SELinux que pueda haber generadosu intento de navegar el contenido recientemente instalado.

8. Genere informes de texto sobre las violaciones.

9. Siga las instrucciones del informe para restaurar los contextos de SELinux del contenidorecientemente instalado.

10. Confirme que pueda ver el material desde su navegador web al visitar la URL http://serverX/web_content.

Capítulo 12. Administración de SELinux

184 RH135-6-es-2-20110131

Notas personales

Prueba de criterios

RH135-6-es-2-20110131 185

Resumen de la unidad

Conceptos básicos de seguridad de SELinux

En esta sección, aprendió a:

• Identificar los conceptos básicos de seguridad de SELinux como contexto, usuario/función/tipo y política

.Modos de SELinux

En esta sección, aprendió a:

• Describir las diferencias funcionales entre los modos permisivo y obligatorio deSELinux cuando está habilitada la seguridad de SELinux

.Mostrar y modificar modos de SELinux

En esta sección, aprendió a:

• Ver y modificar el modo actual de SELinux de un sistema

• Establecer el modo predeterminado de SELinux de un sistema

.Mostrar y modificar contextos de archivo de SELinux

En esta sección, aprendió a:

• Ver el contexto de seguridad de SELinux de los procesos y archivos

• Configurar el contexto de seguridad de SELinux de los archivos en la política

• Restaurar el contexto de seguridad de SELinux de los archivos

.Administración de booleanos de SELinux

En esta sección, aprendió a:

• Usar los booleanos de SELinux para ajustar el comportamiento de la política

.Control de las violaciones de SELinux

En esta sección, aprendió a:

• Implementar las herramientas de análisis de registros de SELinux

.

186

 

RH135-6-es-2-20110131 187

UNIDAD TRECE

INSTALACIÓN YADMINISTRACIÓN DESOFTWARE

IntroducciónTemas tratados en esta unidad:

• Uso de yum

• Grupos de paquetes

• Uso de rpm

• Repositorios de terceros

Capítulo 13. Instalación y administración de software

188 RH135-6-es-2-20110131

Uso de yumyum es una herramienta eficaz de la línea de comando que puede usarse para administrar(instalar, actualizar, eliminar y consultar) los paquetes de software de modo más flexible.Generalmente, los paquetes oficiales de Red Hat se descargan de Red Hat Network (RHN).Cuando usted registra su máquina en RHN, yum se configura automáticamente para su uso.También puede configurar yum para obtener paquetes de repositorios de paquetes de terceros enla red.

Comandos yum básicos1. yum help mostrará la información de uso.

2. yum list muestra los paquetes instalados y disponibles.

3. yum search KEYWORD enumera los paquetes por palabra clave.

4. yum info PACKAGENAME brinda información detallada sobre un paquete.

5. yum install PACKAGENAME obtiene e instala un paquete de software, incluidas lasdependencias.

6. yum remove PACKAGENAME quita un paquete de software instalado, incluidos los paquetesadmitidos.

7. yum update PACKAGENAME obtiene e instala una nueva versión del paquete de software,incluidas las dependencias. Generalmente, el proceso intenta preservar los archivos deconfiguración, pero en algunos casos, se les cambiará el nombre si el empaquetadorconsidera que el anterior no funcionará después de la actualización. Si no se especifica elPACKAGENAME, instalará todas las actualizaciones relevantes.

8. yum provides PATHNAME muestra paquetes que coinciden con el nombre de rutaespecificado (que a menudo, incluye caracteres comodines)

Use este espacio para sus notas.

Ejemplo de comandos YUM:Para buscar paquetes que tengan un "servidor web" en su descripción, resumen o nombre depaquete:

[root@serverX ~]# yum search 'web server'============================= Matched: web server ==============================mod_auth_mysql.x86_64 : Basic authentication for the Apache web server using a : MySQL databasewebalizer.x86_64 : A flexible Web server log file analysis programfreeradius.x86_64 : High-performance and highly configurable free RADIUS serverhsqldb.x86_64 : Hsqldb Database Engine

Ejemplo de comandos YUM:

RH135-6-es-2-20110131 189

htdig.x86_64 : ht://Dig - Web search enginehtdig-web.x86_64 : Scripts and HTML code needed for using ht://Dig as a web : search enginehttpd.x86_64 : Apache HTTP Server...

Para obtener información sobre el servidor HTTP Apache:

[root@serverX ~]# yum info httpdAvailable PackagesName : httpdArch : x86_64Version : 2.2.15Release : 5.el6Size : 811 kRepo : baseSummary : Apache HTTP ServerURL : http://httpd.apache.org/License : ASL 2.0Description: The Apache HTTP Server is a powerful, efficient, and extensible : web server.

Para instalar, actualizar y quitar el paquete httpd:

[root@serverX ~]# yum install httpd[root@serverX ~]# yum update httpd[root@serverX ~]# yum remove httpd

Advertenciayum remove quitará los paquetes enumerados y todo paquete que requiera los paquetesque se están quitando (y los paquetes que requieran esos paquetes, y así sucesivamente).Esto puede provocar la eliminación inesperada de determinados paquetes, por lo que deberácomprobar cuidadosamente la lista de paquetes que se quitarán.

ReferenciasRed Hat Enterprise Linux Deployment Guide

• Capítulo 1: Yum

Páginas del manual: yum(1), yum.conf(5)

Capítulo 13. Instalación y administración de software

190 RH135-6-es-2-20110131

Práctica Ejercicio

Búsqueda e instalación de paquetes

Realice los siguientes pasos con cuidado. Si tiene algún problema o alguna duda, consulte con suinstructor.

Realice los siguientes pasos en serverX, a menos que se le indique de otro modo.

1. Intente ejecutar el comando gnuplot. Se le indicará que no está instalado.

2. Busque paquetes de trazado.

3. Obtenga más información acerca del paquete gnuplot.

4. Instale el paquete gnuplot.

5. Intente quitar el paquete gnuplot, pero seleccione "no".

¿Cuántos paquetes se quitarían?

6. Intente quitar el paquete gnuplot-common, pero seleccione "no".

¿Cuántos paquetes se quitarían?

Administración de grupos de componentes YUM

RH135-6-es-2-20110131 191

Administración de grupos de componentes YUMyum también representa el concepto de grupos de componentes, que son colecciones de softwarerelacionados agrupados en torno a una solución determinada. Revise la salida del comando yumhelp; para ello, filtre las línea con la frase "group" (grupo).

Actividad de lectura: Grupos de componentes YUMRevise la página del manual yum(1) y lea las secciones que describen los comandos yum quecomienzan con "group".

1. yum grouplist

Enumera todos los grupos disponibles.

2. yum groupinfo

3. yum groupinstall

4. yum grouperase

5. yum groupupdate

notaEl comando yum groupupdate puede ser particularmente útil después de agregar unnuevo repositorio si el repositorio agrega todos los paquetes a los grupos estándar que tieneinstalados.

ReferenciasPágina del manual: yum(1)

Capítulo 13. Instalación y administración de software

192 RH135-6-es-2-20110131

Práctica Ejercicio

Administración de grupos de componentes YUM

Realice los siguientes pasos con cuidado. Si tiene algún problema o alguna duda, consulte con suinstructor.

En este ejercicio, recopilará información acerca del grupo de componentes “Servidor de base dedatos PostgreSQL” y luego lo instalará en serverX.

1. Enumere todos los grupos de componentes disponibles.

2. Obtenga más información acerca del grupo de componentes PostgreSQL Database Server,incluso una lista de los paquetes incluidos.

3. Instale el grupo de componentes PostgreSQL Database Server.

Manipulación de software de terceros

RH135-6-es-2-20110131 193

Manipulación de software de tercerosLa utilidad rpm es una herramienta de nivel bajo que es útil para obtener información acerca delcontenido de los archivos de paquete y los paquetes instalados. Obtiene su información desdeuna base de datos local o de los archivos del paquete mismos.

La forma general de una consulta es:

• rpm -q [select-options] [query-options]

• rpm --query [select-options] [query-options]

Consultas RPM: Opciones de selección• -q -a: todos los paquetes instalados

• -q PACKAGENAME: PACKAGENAME actualmente instalado

• -q -p PACKAGEFILE.rpm: archivo de paquete con el nombre PACKAGEFILE.rpm

• -q -f FILENAME: qué paquete proporciona FILENAME

Consultas RPM: Información sobre el contenido de paquetes• -q: indica el nombre y la versión del paquete; compare con yum list.

• -q -i: muestra información sobre el paquete; compare con yum info.

• -q -l: enumera todos los archivos instalados por el paquete especificado.

• -q -c: enumera sólo los archivos de configuración.

• -q -d: enumera sólo los archivos de documentación.

• -q --scripts: enumera los scripts de intérprete de comandos que pueden ejecutarse unavez que se haya instalado o desinstalado el paquete.

• -q --changelog: enumera la información de cambio del paquete

notaEl comando repoquery también puede usarse para obtener información sobre los paquetesy su contenido. La diferencia con rpm es que busca esa información en los repositorios YUMy RHN y no en la base de datos local de los paquetes instalados.

Ejemplo de comandos de consulta rpm:Consulta de paquetes instalados:

[root@serverX ~]# rpm -q samba-clientsamba-client-3.5.4-68.el6.x86_64

Capítulo 13. Instalación y administración de software

194 RH135-6-es-2-20110131

[root@serverX ~]# rpm -q zlib -l/lib64/libz.so.1/lib64/libz.so.1.2.3/usr/share/doc/zlib-1.2.3/usr/share/doc/zlib-1.2.3/ChangeLog/usr/share/doc/zlib-1.2.3/FAQ/usr/share/doc/zlib-1.2.3/README[root@serverX ~]# rpm -q httpd --scriptspreinstall scriptlet (using /bin/sh):# Add the "apache" usergetent group apache >/dev/null || groupadd -g 48 -r apachegetent passwd apache >/dev/null || \ useradd -r -u 48 -g apache -s /sbin/nologin \ -d /var/www -c "Apache" apacheexit 0postinstall scriptlet (using /bin/sh):# Register the httpd service/sbin/chkconfig --add httpdpreuninstall scriptlet (using /bin/sh):if [ $1 = 0 ]; then /sbin/service httpd stop > /dev/null 2>&1 /sbin/chkconfig --del httpdfiposttrans scriptlet (using /bin/sh):/sbin/service httpd condrestart >/dev/null 2>&1 || :

Consulta e instalación de archivos de paquete:

[root@serverX ~]# cd /net/instructor/var/ftp/pub/materials/[root@serverX ~]# rpm -q -p wonderwidgets-1.0-4.x86_64.rpm -l/etc/wonderwidgets.conf/usr/bin/wonderwidgets/usr/share/doc/wonderwidgets-1.0/usr/share/doc/wonderwidgets-1.0/README.txt[root@serverX ~]# rpm -q -p wonderwidgets-1.0-4.x86_64.rpm -iName : wonderwidgets Relocations: (not relocatable)Version : 1.0 Vendor: Red Hat, Inc.Release : 4 Build Date: Fri 03 Dec 2010 05:42:55 AM ESTInstall Date: (not installed) Build Host: station166.rosemont.lanGroup : GLS/Applications Source RPM: wonderwidgets-1.0-4.src.rpmSize : 4849 License: GPLSignature : (none)Summary : Demonstration package for use in GLS training.Description :A demonstration package that installs an executable, and a config file.[root@serverX ~]# rpm -q -p wonderwidgets-1.0-4.x86_64.rpm -c/etc/wonderwidgets.conf[root@serverX ~]# rpm -q -p wonderwidgets-1.0-4.x86_64.rpm -d/usr/share/doc/wonderwidgets-1.0/README.txt[root@serverX ~]# yum localinstall wonderwidgets-1.0-4.x86_64.rpm...Package wonderwidgets-1.0-4.x86_64.rpm is not signed[root@serverX ~]# yum localinstall --nogpgcheck wonderwidgets-1.0-4.x86_64.rpm[root@serverX ~]# rpm -q wonderwidgetswonderwidgets-1.0-4.x86_64

Uso de YUM para instalar archivos de paquete localesyum localinstall PACKAGEFILE.rpm se puede usar para instalar archivos de paquetedirectamente. Automáticamente, descarga todas las dependencias que tiene el paquete de RHNy los repositorios yum configurados. Generalmente, los paquetes están firmados digitalmente

Uso de YUM para instalar archivos de paquete locales

RH135-6-es-2-20110131 195

para garantizar que son legítimos; si el paquete no está firmado con una llave de confianza desu sistema, será rechazado. La opción --nogpgcheck puede deshabilitar la comprobación defirmas si usted está seguro de que el paquete es legítimo.

notarpm -ivh PACKAGEFILE.rpm también se puede usar para instalar archivos de paquete.Sin embargo, yum ayuda a conservar un historial de transacciones de yum (consulte yumhistory).

ImportanteTenga cuidado al instalar paquetes de terceros, no sólo por el software que pueden instalar,sino también porque el RPM puede ejecutar scripts arbitrarios como root, como parte delproceso de instalación.

Los archivos de paquete del RPM son principalmente archivos cpio. El comando cpio es unaherramienta de archivado como zip o tar, pero se diferencia en que lee la lista de archivosque se archivarán desde STDIN en lugar de como argumentos de la línea de comando. Canalicelos resultados de rpm2cpio PACKAGEFILE.rpm en cpio -id, y extraerá todos los archivosalmacenados en el RPM en el directorio actual.

ReferenciasRed Hat Enterprise Linux Deployment Guide

• Sección 3.2: Uso de RPM

Páginas del manual: rpm(8), repoquery(1), rpm2cpio(8)

Capítulo 13. Instalación y administración de software

196 RH135-6-es-2-20110131

Práctica Ejercicio

Manipulación de software de terceros

Realice los siguientes pasos con cuidado. Si tiene algún problema o alguna duda, consulte con suinstructor.

En este ejercicio, recopilará información acerca de un paquete de terceros, extraerá los archivosde este y lo instalará completo en el sistema desktopX.

1. Descargue wonderwidgets-1.0-4.x86_64.rpm de http://instructor/pub/materials.

2. ¿Qué archivos contiene?

3. ¿Qué scripts contiene?

4. ¿Cuánto espacio en disco usará al instalarlo?

5. Use yum localinstall para instalar el paquete.

Uso de repositorios YUM de terceros

RH135-6-es-2-20110131 197

Uso de repositorios YUM de tercerosLos repositorios de terceros son directorios accesibles desde la red de archivos de paquete desoftware a los que se puede acceder a través de yum; no son provistos por Red Hat Network.Los repositorios YUM son usados por distribuidores de software que no son de Red Hat o porcolecciones pequeñas de paquetes locales. (Por ejemplo, Adobe ofrece parte de su softwarelibre a Linux a través de un repositorio YUM). El servidor del salón de clases instructor alojarepositorios YUM para esta clase.

Coloque un archivo en el directorio /etc/yum.repos.d/ para habilitar el soporte para unnuevo repositorio de terceros. Los archivos de configuración del repositorio deben finalizar en.repo. La definición de repositorio contiene la URL del repositorio, un nombre, si se debe usarGPG para comprobar las firmas de paquete y, en ese caso, la URL que apunta a la llave GPG deconfianza.

Ejemplos de archivos de configuración /etc/yum.repos.d/*.repo:Este es un ejemplo con un solo repositorio, con comprobaciones de seguridad de paquetesdescargados deshabilitadas:

[GLS]name=Instructor GLS Repositorybaseurl=ftp://instructor.example.com/pub/glsgpgcheck=0

Este es un ejemplo con varias referencias de repositorios en un solo archivo:

[base]name=Instructor Server Repositorybaseurl=http://instructor.example.com/pub/rhel6/dvdgpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

# Optional rhel6[optional]name=Instructor Optional Repositorybaseurl=http://instructor.example.com/pub/rhel6/Optionalgpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release

[client]name=Instructor Client Repositorybaseurl=http://instructor.example.com/pub/rhel6/Clientgpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-releaseenabled=0

[kernel-extras]name=Instructor Kernel Extras Repositorybaseurl=http://instructor.example.com/pub/rhel6/Kernel-Extrasgpgcheck=1

Capítulo 13. Instalación y administración de software

198 RH135-6-es-2-20110131

notaTenga en cuenta que algunos repositorios, como EPEL (Paquetes extras para EnterpriseLinux), proporcionan este archivo de configuración como parte de un paquete RPM que sepuede descargar de Internet e instalar con yum localinstall.

Instalación de paquete del repositorio EPEL de Red Hat Enterprise Linux 6:

[root@serverX ~]# rpm --import http://download.fedora.redhat.com/pub/epel/RPM-GPG-KEY-EPEL-6[root@serverX ~]# yum install http://download.fedora.redhat.com/pub/epel/beta/6/x86_64/epel-release-6-5.noarch.rpm[root@serverX ~]# cat /etc/yum.repos.d/epel.repo

[epel]name=Extra Packages for Enterprise Linux 6 - $basearch#baseurl=http://download.fedoraproject.org/pub/epel/6/$basearchmirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearchfailovermethod=priorityenabled=1gpgcheck=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6

[epel-debuginfo]name=Extra Packages for Enterprise Linux 6 - $basearch - Debug#baseurl=http://download.fedoraproject.org/pub/epel/6/$basearch/debugmirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-debug-6&arch=$basearchfailovermethod=priorityenabled=0gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6gpgcheck=1

[epel-source]name=Extra Packages for Enterprise Linux 6 - $basearch - Source#baseurl=http://download.fedoraproject.org/pub/epel/6/SRPMSmirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-source-6&arch=$basearchfailovermethod=priorityenabled=0gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6gpgcheck=1

ImportanteInstale la llave GPG de RPM antes de instalar los paquetes firmados. Esto comprobará que elpaquete pertenezca a una llave que usted haya importado. De lo contrario, yum le advertiráque le falta la llave. (Puede usar la opción --nogpgcheck para ignorar las llaves GPG quefaltan, pero esto podría ocasionar que se instalen paquetes inseguros o manipulados en elsistema).

Ejemplos de archivos de configuración /etc/yum.repos.d/*.repo:

RH135-6-es-2-20110131 199

ReferenciasRed Hat Enterprise Linux Deployment Guide

• Sección 1.3: Configuración de YUM y repositorios YUM

Páginas del manual: yum(1), yum.conf(5)

Capítulo 13. Instalación y administración de software

200 RH135-6-es-2-20110131

Práctica Ejercicio

Uso de repositorios YUM

Realice los siguientes pasos con cuidado. Si tiene algún problema o alguna duda, consulte con suinstructor.

Configurará su servidor para usar un repositorio yum aparte para obtener actualizaciones y paraactualizar su máquina.

Realice los siguientes pasos en serverX, a menos que se le indique de otro modo.

1. Cree el archivo /etc/yum.repos.d/errata.repo, para habilitar el repositorio“Actualizaciones” que se encuentra en la máquina instructor. Este debe acceder al contenidoque se encuentra en esta URL: ftp://instructor.example.com/pub/rhel6/Errata.

2. Actualice todo software relevante provisto por el repositorio usando yum update.

Prueba de criterios

RH135-6-es-2-20110131 201

Prueba

Prueba de criterios

Caso de estudio

Actualizar e instalar softwareAntes de comenzar...Ejecute lab-setup-server en desktopX para preparar serverX para el ejercicio.

Tiene que administrar un nuevo servidor, serverX, con requisitos de software muy específicos.Debe tener instaladas las últimas versiones de los siguientes paquetes:

kernel (paquete existente con una actualización)

xsane-gimp (paquete nuevo)

bzip2 (paquete actualizado)

Por razones de seguridad, no debe tener instalado el paquete xinetd.

No instale todas las actualizaciones. Instale solamente las actualizaciones para los paquetesenumerados arriba, si están disponibles.

Los paquetes actualizados se pueden encontrar en la siguiente URL: ftp://instructor.example.com/pub/rhel6/Errata.

Cuando esté listo para revisar su trabajo, ejecute lab-grade-packages-2 en serverX.

¿Cómo trataría el caso de estudio descrito anteriormente? Tome nota de su proceso en elespacio provisto a continuación y después impleméntelo.

Capítulo 13. Instalación y administración de software

202 RH135-6-es-2-20110131

Notas personales

Prueba de criterios

RH135-6-es-2-20110131 203

Resumen de la unidad

Uso de yum

En esta sección, aprendió a:

• Enumerar los paquetes por nombre, palabra clave o archivo

• Obtener la versión y la descripción de un paquete

• Instalar, actualizar y quitar paquetes con yum

.Administración de grupos de componentes YUM

En esta sección, aprendió a:

• Enumerar los grupos de paquetes disponibles.

• Mostrar los paquetes en un grupo de paquetes.

• Instalar un grupo de paquetes mediante el uso de yum.

.Manipulación de software de terceros

En esta sección, aprendió a:

• Consultar paquetes de terceros para archivos antes de la instalación

• Consultar información interna de los paquetes RPM

.Uso de repositorios YUM de terceros

En esta sección, aprendió a:

• Administrar archivos de definición de repositorio en /etc/yum.repos.d/

.

204

 

RH135-6-es-2-20110131 205

UNIDAD CATORCE

ADMINISTRACIÓN DESERVICIOS INSTALADOS

IntroducciónTemas tratados en esta unidad:

• Administrar inicio del servicio

• Verificar servicio

Capítulo 14. Administración de servicios instalados

206 RH135-6-es-2-20110131

Administrar serviciosLos demonios son procesos que esperan o se ejecutan en segundo plano y realizan varias tareas.Generalmente, los demonios se inician automáticamente al momento del arranque y continúanejecutándose hasta que se apague el sistema o sean detenidos manualmente. Por convención,los nombres de muchos programas demonios finalizan con la letra "d".

Los demonios son administrados por scripts de servicio, que se mantiene en el directorio /etc/rc.d/init.d/. Los scripts de servicio, en general, se solicitan con un argumento startstop,restart, status o reload. La forma más sencilla de ejecutar scripts de servicio es usando elcomando service.

Los servicios se habilitan (se configuran para que se inicien automáticamente al momento delarranque) con chkconfig service on. Los servicios se se deshabilitan (se configuran paraque no se inicien automáticamente al momento del arranque) con chkconfig service off.También es posible tener un control más sofisticado respecto de si un servicio está activo oinactivo en niveles de ejecución particulares.

Sin argumentos, chkconfig enumera la configuración actual de todos los servicios. Los nivelesde ejecución en los que un servicio está habilitado se pueden observar con chkconfig --listservice. La ejecución del comando chkconfig no afecta de modo inmediato el estado de undemonio iniciado desde un script de servicio.

notaLos demonios son procesos en segundo plano que hacen tareas. Un script de servicio puedeiniciar uno o más demonios, pero los scripts de servicio pueden, en cambio, hacer un cambiode una vez en el estado del sistema (por ejemplo, configurar interfaces de red) que noimplica dejar un proceso demonio en ejecución después de esto. Los scripts network yiptables son ejemplos de este segundo tipo de script de servicio.

Instalación de servicios nuevos¿Qué comando se usa generalmente para realizar cada uno de estos pasos para implementar unservicio nuevo en un sistema Red Hat Enterprise Linux?

• Instalar el software:

• Iniciar el servicio:

• Habilitar el servicio durante el momento de arranque:

• Probar los servicios: Esto se tratará en las siguientes páginas.

Administrar servicios

RH135-6-es-2-20110131 207

ReferenciasRed Hat Enterprise Linux Deployment Guide

• Capítulo 7: Control del acceso a los servicios

Páginas del manual: service(8), chkconfig(8)

Capítulo 14. Administración de servicios instalados

208 RH135-6-es-2-20110131

Confirmar disponibilidad del servicio

Diagnóstico de problemas de servicio de redRealice los siguientes pasos en serverX, a menos que se le indique de otro modo.

[root@serverX ~]# service httpd restart

Hemos reiniciado nuestro servicio httpd. ¿Cómo podemos confirmar que esté funcionando?

Suponiendo que el reinicio falle, a continuación se muestran la revisiones que puede intentarpara diagnosticar el problema. Cuáles son los comandos que mostrarían lo siguiente:

1. ¿El demonio se está ejecutando?

Si el demonio no se está ejecutando, ¿cuáles son los pasos siguientes que podría seguir?

a.

b.

2. ¿El demonio se ha enlazado a los puertos correctos?

Si el demonio se está ejecutando, pero no está en modo de escucha en el puertocorrecto, ¿cuáles son los pasos siguientes que podría seguir?

a.

b.

Administrar servicios

RH135-6-es-2-20110131 209

3. ¿Un cliente externo puede conectarse al puerto?

Si el demonio se está ejecutando y está enlazado al puerto correcto, pero los clientesexternos no pueden conectarse, ¿cuál es el probable candidato?

a.

Use este espacio para sus notas.

ReferenciasPáginas del manual: nc(1), lsof(8)

Capítulo 14. Administración de servicios instalados

210 RH135-6-es-2-20110131

Prueba

Prueba de criterios

Ejercicio

Implementar un servidor FTP

Realice los siguientes pasos con cuidado. Si tiene algún problema o alguna duda, consulte con suinstructor.

Instalar, iniciar, habilitar y probar el servicio FTP.

Realice los siguientes pasos en serverX, a menos que se le indique de otro modo.

1. Instalar el software del servidor FTP, que está distribuido como el paquete vsftpd.

2. Inicie el servicio relacionado.

3. Configure el servicio para que se inicie automáticamente al inicio.

4. Desde su estación de trabajo, use el cliente lftp para conectar su servidor y verificar quepuede recibir datos de este.

5. Aun si su servicio se está ejecutando satisfactoriamente, responda las preguntas acontinuación sobre solución de problemas para confirmar que el servicio se hayaimplementado correctamente.

• ¿El demonio se está ejecutando?

• ¿El demonio se enlazó al puerto correcto (TCP puerto 21)?

• ¿Un cliente externo puede conectarse al puerto?

Administrar servicios

RH135-6-es-2-20110131 211

Notas personales

Capítulo 14. Administración de servicios instalados

212 RH135-6-es-2-20110131

Resumen de la unidad

Administrar servicios

En esta sección, aprendió a:

• Iniciar y suspender servicios

• Habilitar y deshabilitar el inicio automático de servicios

• Enumerar los servicios que se inician automáticamente durante el proceso dearranque

.Confirmar disponibilidad del servicio

En esta sección, aprendió a:

• Verificar la conectividad a un servicio

• Solucionar problemas de disponibilidad de servicio

.

 

RH135-6-es-2-20110131 213

UNIDAD QUINCE

ANÁLISIS Y ALMACENAMIENTODE REGISTROS

IntroducciónTemas tratados en esta unidad:

• Destinos de registros del sistema

• Informes de resumen de registro

• Redirigir informes de registro

Capítulo 15. Análisis y almacenamiento de registros

214 RH135-6-es-2-20110131

Determinar destinos de registrosMuchos programas usan un protocolo estándar para enviar mensajes a rsyslogd. La descripciónde cada mensaje está determinada por un recurso (tipo de mensaje) y una gravedad (gradode importancia). Los nombres de los recursos disponibles y los niveles de gravedad estánestandarizados. El archivo /etc/rsyslog.conf utiliza el recurso y la gravedad de un mensajede registro para determinar a dónde se debe enviar (a un archivo de registro, por ejemplo).

El archivo rsyslog.conf está documentado en la página del manual rsyslog.conf(5) y otrosdocumentos HTML detallados ubicados en /usr/share/doc/rsyslog-*/manual.html. En lasección #### RULES #### de /etc/rsyslog.conf, se incluyen directivas que definen dóndese almacenan los mensajes de registro. En el lado izquierdo de cada línea, se indican el recursoy la gravedad del mensaje de registro que se corresponde con la directiva. En el lado derecho decada línea, se indica en qué archivo se debe guardar el mensaje de registro. Tenga en cuenta que,generalmente, los mensajes de registro se guardan en archivos ubicados en el directorio /var/log.

Ejemplo de un archivo rsyslog.conf

#### MODULES ####

$ModLoad imuxsock.so # provides support for local system logging (e.g. via logger command)$ModLoad imklog.so # provides kernel logging support (previously done by rklogd)#$ModLoad immark.so # provides --MARK-- message capability

# Provides UDP syslog reception#$ModLoad imudp.so#$UDPServerRun 514

# Provides TCP syslog reception#$ModLoad imtcp.so #$InputTCPServerRun 514

#### GLOBAL DIRECTIVES ####

# Use default timestamp format$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat

#### RULES ####

# Log all kernel messages to the console.# Logging much else clutters up the screen.#kern.* /dev/console

# Log anything (except mail) of level info or higher.# Don't log private authentication messages!*.info;mail.none;authpriv.none;cron.none /var/log/messages

# The authpriv file has restricted access.authpriv.* /var/log/secure

# Log all the mail messages in one place.mail.* -/var/log/maillog

RH135-6-es-2-20110131 215

# Log cron stuffcron.* /var/log/cron

# Everybody gets emergency messages*.emerg *

# Save news errors of level crit and higher in a special file.uucp,news.crit /var/log/spooler

# Save boot messages also to boot.loglocal7.* /var/log/boot.log

Archivos de registro predeterminadosEscriba el nombre del archivo de registro al revisar el contenido de /etc/rsyslog.conf enserverX.

1. Todos los mensajes relacionados con autenticaciones van a.

2. Todo lo relacionado con el correo electrónico va a.

3. Los mensajes relacionados con cron van a.

4. Todos los otros mensajes enviados conprioridad info o mayor se guardan en

.

Rotación de Archivos de Registro• Los archivos de registro se "rotan" para que no rellenen el sistema de archivos que contiene /var/log/.

• Cuando se rota un archivo de registro, se le cambia el nombre con una extensión que indica lafecha en que se rotó: el archivo /var/log/messages anterior puede pasar a ser /var/log/messages-20101030 si se rota el 30 de octubre de 2010.

• Una vez que se rotó el archivo de registro anterior, se crea un nuevo archivo de registro y senotifica al servicio que escribe en este.

• Después de una determinada cantidad de rotaciones (habitualmente, después de cuatrosemanas), el archivo de registro anterior se descarta para conservar espacio en disco.

• Una tarea de cron ejecuta el programa de rotación de archivos de registros a diario paraverificar si es necesario rotar algún registro.

• La mayoría de los archivos de registro se rotan semanalmente, pero el programa de rotaciónde archivos de registros rota algunos más rápido o más lento, o cuando alcanzan un tamañodeterminado.

Capítulo 15. Análisis y almacenamiento de registros

216 RH135-6-es-2-20110131

ReferenciasManual de rsyslog• /usr/share/doc/rsyslog-*/manual.html

Páginas del manual: rsyslog.conf(5), logrotate(8)

RH135-6-es-2-20110131 217

Práctica Cuestionario

Revisar rsyslogResponda las siguientes preguntas:

1. ¿Cuáles son los dos campos que se utilizan para la coincidencia de eventos en archivosde registro?

2. ¿Cuál es el efecto de un comodín en el primer campo?

3. ¿Cuál es el efecto de un comodín en el segundo campo?

4. ¿Es posible registrar el mismo evento de registro en más de una bitácora?

Capítulo 15. Análisis y almacenamiento de registros

218 RH135-6-es-2-20110131

Buscar y analizar un informe de resumen deregistro

Puede instalarse un programa denominado logwatch que automáticamente analizará losarchivos de registro estándares y enviará un correo electrónico de resumen a root. Una formarápida de verificar el estado de un sistema es leer el informe de resumen de registro.

logwatch se ejecuta como una tarea de cron diaria para generar el informe con los datos deregistro importantes. Este informe se envía por correo electrónico a la cuenta local de usuarioroot, de forma predeterminada.

Si desea generar un correo electrónico de LogWatch manualmente, simplemente ejecutelogwatch.

Referencias/usr/share/doc/logwatch-*

Página del manual: logwatch(8)

RH135-6-es-2-20110131 219

Práctica Lista de verificación de rendimiento

Analizar un informe de resumen de registro

Determine la cantidad de espacio libre para el sistema de archivos de usuario root en función delúltimo informe de LogWatch en serverX.

Abra el correo electrónico de usuario root.

Busque y lea el último informe de LogWatch. Si no existe un informe de LogWatch,ejecute el comando logwatch para generar uno manualmente.

Registre la cantidad de espacio libre para el sistema de archivos /:

Capítulo 15. Análisis y almacenamiento de registros

220 RH135-6-es-2-20110131

Cambiar la dirección de correo electrónico deresumen de registro

/etc/logwatch/conf/logwatch.conf es un archivo vacío que contiene la configuraciónlocal de LogWatch. Las opciones de configuración predeterminadas de todo el sistema paralogwatch se guardan en /usr/share/logwatch/default.conf/logwatch.conf. Acontinuación, se muestra un fragmento:

# Default Log Directory# All log-files are assumed to be given relative to this directory.LogDir = /var/log

# You can override the default temp directory (/tmp) hereTmpDir = /var/cache/logwatch

# Default person to mail reports to. Can be a local account or a# complete email address. Variable Print should be set to No to# enable mail feature.MailTo = root

# Default person to mail reports from. Can be a local account or a# complete email address.MailFrom = Logwatch

# if set, the results will be saved in <filename> instead of mailed# or displayed.#Save = /tmp/logwatch

# The default time range for the report...# The current choices are All, Today, YesterdayRange = yesterday

# The default detail level for the report.# This can either be Low, Med, High or a number.# Low = 0# Med = 5# High = 10Detail = Low

# The 'Service' option expects either the name of a filter# (in /usr/share/logwatch/scripts/services/*) or 'All'.# The default service(s) to report on. This should be left as All for# most people. Service = All

# By default we assume that all Unix systems have sendmail or a sendmail-like system.# The mailer code Prints a header with To: From: and Subject:.mailer = "sendmail -t"

# By default the cron daemon generates daily logwatch report# if you want to switch it off uncomment DailyReport tag. # The implicit value is Yes## DailyReport = No

Normalmente, edita el archivo en /etc, no los valores predeterminados en /usr/share.El elemento MailTo toma una dirección de correo electrónico para enviar informes de

Cambiar la dirección de correo electrónico de resumen de registro

RH135-6-es-2-20110131 221

LogWatch; de forma predeterminada, LogWatch usa root@localhost. Si desea [email protected] reciba estos correos, agregue la siguiente línea al archivo /etc/logwatch/conf/logwatch.conf:

MailTo = [email protected]

ReferenciasPágina del manual: logwatch(8)

Capítulo 15. Análisis y almacenamiento de registros

222 RH135-6-es-2-20110131

Práctica Caso de estudio

Redirigir los correos electrónicos de resumen deregistro

Cambie la configuración de logwatch en serverX para enviar informes de resumen de registro alusuario student en lugar de al usuario root.

Pregunta adicional: ¿Cómo enviaría los informes de logwatch tanto a student como a root?

¿Cómo trataría el caso de estudio descrito anteriormente? Tome nota de su proceso en elespacio provisto a continuación y después impleméntelo.

Prueba de criterios

RH135-6-es-2-20110131 223

Prueba

Prueba de criterios

Caso de estudio

Mensajes de depuración de registro

Su empresa desea incluir una bitácora de depuración en su servidor para analizarlo. Redirijatodos los mensajes de nivel de depuración (y de prioridad superior) a un archivo con el nombre /var/log/debug.log.

¿Cómo trataría el caso de estudio descrito anteriormente? Tome nota de su proceso en elespacio provisto a continuación y después impleméntelo.

Capítulo 15. Análisis y almacenamiento de registros

224 RH135-6-es-2-20110131

Notas personales

Prueba de criterios

RH135-6-es-2-20110131 225

Resumen de la unidad

Determinar destinos de registros

En esta sección, aprendió a:

• Administrar la distribución de registros de software con rsyslog

• Proteger el sistema de archivos con logrotate

.Buscar y analizar un informe de resumen de registro

En esta sección, aprendió a:

• Usar correos electrónicos de resumen de registro

.Cambiar la dirección de correo electrónico de resumen de registro

En esta sección, aprendió a:

• Administrar la distribución de los resúmenes de registro

.

226

 

RH135-6-es-2-20110131 227

UNIDAD DIECISÉIS

ADMINISTRACIÓN DEPROCESOS

IntroducciónTemas tratados en esta unidad:

• Control de procesos

• Finalización de procesos

• Programar tareas periódicas

• Aplazar tareas

Capítulo 16. Administración de procesos

228 RH135-6-es-2-20110131

Control de procesosUn proceso es una instancia de un programa en ejecución. Se puede usar el comando ps paramostrar los procesos. De forma predeterminada, proporciona muy poca información útil. Sólonos mostrará los procesos iniciados desde este terminal (y en una sesión X, cada ventana es unterminal...). Sin embargo, si se solicita ayuda, el comando ps presenta más modificadores delínea de comando de los que desee conocer y puede adaptarse para que proporcione informaciónmuy precisa. Cada uno tiene sus opciones favoritas, pero esto es lo que le recomendamos queuse:

# ps auxUSER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMANDroot 1 0.0 0.0 4132 888 ? Ss 17:44 0:01 /sbin/initroot 2 0.0 0.0 0 0 ? S 17:44 0:00 [kthreadd]root 1469 0.0 0.0 63572 1232 ? Ss 17:45 0:00 /usr/sbin/sshdrlocke 2348 0.0 0.0 107956 1852 pts/0 Ss 17:46 0:00 bashrlocke 2711 0.0 0.1 150652 3628 pts/1 S+ 17:54 0:00 vim Processes.xmlrlocke 3507 2.0 0.0 107564 1032 pts/0 R+ 19:00 0:00 ps aux...

La utilidad top muestra una lista de los procesos actuales que se actualiza automáticamente.Las teclas que se muestran a continuación se pueden usar en top para administrar lo que semuestra:

• M: Ordenar los procesos por uso de memoria

• P: Ordenar los procesos por uso de procesador

• h: Mostrar ayuda acerca de otros comandos

• q: Salir

Al ordenar los procesos por uso de memoria, top considera a RES más importante queVIRT. RES es la cantidad de memoria física actualmente usada por un proceso (el "conjuntoresidente"). VIRT es el espacio en la asignación de memoria virtual actualmente que reserva elproceso para un posible uso y es mucho menos significativo. Incluso RES puede ser un cálculoexcesivo, ya que incluye memoria compartida con otros procesos. En ps, VIRT está etiquetadocomo VSZ y RES es RSS.

ReferenciasPáginas del manual: ps(1), top(1)

Finalización y control de procesos

RH135-6-es-2-20110131 229

Finalización y control de procesosLos procesos se comunican con mensajes denominados señales. Las señales pueden llegar encualquier momento (de forma asincrónica). Las señales no transportan información además delnúmero de señal, que indica qué tipo de señal es.

Los procesos manejan la señal de diferentes formas según el número de señal; el proceso puedesalir, salir y volcar una copia de lo que está en la memoria, ignorar la señal o hacer alguna otracosa. Más a menudo, cuando un usuario usa señales en un proceso, lo hace para finalizar elproceso (salir). Los eventos del sistema pueden enviar señales o un usuario puede enviar unaseñal arbitraria a un proceso con el comando kill.

Señales1. Se pueden usar top y kill para enviar una señal a un proceso.

2. kill -l: muestra una tabla con los números de señal definidos.

3. kill -9 3254: envía el número de señal 9 al proceso con PID 3254.

Número Nombre Función

1 HUP Reinicializar un demonio

9 KILL Forzar un proceso a finalizar de inmediato

15 TERM Solicitar que un proceso finalice después de la limpieza(PREDETERMINADO)

Tabla 16.1. Señales útiles que debe conocer

En la tabla anterior, marque con un círculo la señal que el programador no puede invalidar. (En lapágina del manual kill(1) se indicará esto en caso de que su instructor no lo haga).

Programación de procesos (niceness)• Un sistema Linux puede tener tantos·procesos en ejecución al mismo tiempo como el número

total de unidades de procesamiento lógicas en sus CPU.

• El sistema parece tener más procesos "en ejecución" al hacer que estos se turnen en unidadesde procesamiento lógicas disponibles ("segmentación de tiempo").

• De forma predeterminada, cada proceso tiene el mismo acceso al tiempo de CPU.

• El valor de niceness (amabilidad) de un proceso se puede modificar para ajustar la prioridaddel proceso, al concederle una porción más grande o más pequeña del tiempo de CPU encomparación con otros procesos.

• Niceness es un valor que va desde -20 (nada amable) hasta los valores predeterminados 0 a 19(muy amable con los otros procesos).

• Los usuarios pueden incrementar el valor de niceness de los procesos (para que requieran unaporción menor de tiempo).

• Sólo el usuario root puede disminuir el valor de niceness de los procesos (para que requieranuna porción mayor de tiempo).

Capítulo 16. Administración de procesos

230 RH135-6-es-2-20110131

• Se pueden usar renice y top para cambiar el valor de niceness de un proceso en ejecución.

• Se puede usar nice para determinar el valor de niceness de un nuevo proceso.

ImportanteNiceness solo afecta a la porción de tiempo de CPU que toma un proceso particular enrelación a los otros procesos; si los otros procesos no se están ejecutando, un proceso conbaja prioridad aún tomará todo el tiempo de CPU en una unidad de procesamiento lógica.

Taller

Uso de top para administrar procesos

Sígalo junto con el instructor y use el espacio provisto a continuación para sus notas.

1. Abra dos ventanas terminales desde una sesión gráfica en serverX.

2. En la primera terminal, ejecute top.

3. En la segunda terminal, ejecute:

cat /dev/zero > /dev/null &

4. Inicie cuatro (4) procesos cat más como se muestra arriba.

5. En top, observe que cada uno de los procesos cat tiene una porción de tiempo de CPU casiigual.

6. Mediante el uso de top, determine el PID de uno de los procesos cat.

7. Use renice (ajustar niceness) en la segunda terminal para ajustar el valor de niceness delproceso a 10:

renice -n 10 PID

8. Elija un proceso cat diferente, y hágalo amable al usar renice para cambiar la prioridad a-5. Una vez más, observe la utilización relativa de CPU.

notaDeberá tener root privilegios para darle una prioridad más alta (valor de niceness másbajo).

9. Use nice para iniciar un nuevo proceso cat con una prioridad más baja:

Finalización y control de procesos

RH135-6-es-2-20110131 231

nice -n 5 cat /dev/zero > /dev/null &

10. Use la tecla r (renice) en top para cambiar el valor de niceness de algunos de los procesoscat.

11. Use la tecla k (kill) en top para eliminar todos los procesos cat.

ReferenciasPáginas del manual: kill(1), signal(7), nice(1), renice(1) y top(1)

Capítulo 16. Administración de procesos

232 RH135-6-es-2-20110131

Práctica Ejercicio

Administración de procesosAntes de comenzar...Ejecute lab-setup-processes en serverX para prepararse para el ejercicio.

Realice los siguientes pasos con cuidado. Si tiene algún problema o alguna duda, consulte con suinstructor.

1. Cambie la prioridad del proceso que está usando la mayoría de los recursos de CPU a 5.

2. Finalice el proceso que está usando la mayoría de los recursos de memoria.

3. Cuando esté listo para revisar su trabajo, ejecute lab-grade-processes en serverX.

4. Una vez que haya completado satisfactoriamente el ejercicio y revisado su trabajo, ejecutelab-cleanup-processes en serverX para limpiar.

Administración de tareas periódicas

RH135-6-es-2-20110131 233

Administración de tareas periódicasEl recurso cron administra programas que se deben ejecutar en un programa periódico yrepetitivo. Un demonio, crond, se reactiva una vez por minuto para ejecutar las tareas que sehayan programado. Los usuarios programan las tareas personales con el comando crontab. Eladministrador de sistemas puede establecer tareas en los archivos de configuración de todo elsistema.

Los usuarios individuales registran las tareas mediante el uso de un archivo de texto denominadoarchivo crontab ("tabla de cron"). crontab -l enumera el archivo. crontab -r elimina elarchivo. crontab -e edita el archivo. El editor predeterminado que se usa con crontab -e esvi.

El comando crontab -e abre un archivo crontab en blanco. La sintaxis de un archivo crontabestá documentada en la página del manual crontab(5). Cada línea define una tarea programadao una "variable de entorno" que afecta la ejecución de la tarea. Las líneas de tarea tienen seiscampos; los primeros cinco campos definen el minuto, la hora, el día del mes, el mes y el día de lasemana; mientras que el resto de la línea especifica un comando para su ejecución.

ImportanteEl comando se ejecuta cuando cualquier día del mes o día de la semana coinciden. (No solose ejecuta cuando coincidan los dos criterios, que es lo piensa la mayoría).

El siguiente ejemplo muestra una entrada cron que ejecuta el comando ls cada minuto:

* * * * * ls

Minuto. Los valores válidos son de 0-59.

Hora. Los valores válidos son de 0-23. 20 significa 8 p. m.

Día del mes. Los valores válidos son de 1-31.

Mes. Los valores válidos son de 1-12 o las primeras tres letras del nombre (p. ej., Jan [enero])

Día de la semana. Los valores válidos son de 0-7 (0 o 7 es domingo) o las primeras tresletras del nombre (p. ej., Sun [domingo])Comando. Agregue el comando como escribiría la línea de comando. Utilice el punto y coma(;) para separar múltiples comandos que se ejecutarán al mismo tiempo. Agregue una líneapor separado para ejecutar un comando en otro momento.

Capítulo 16. Administración de procesos

234 RH135-6-es-2-20110131

notaEl carácter de comodín (*) se utiliza para hacer coincidir cada valor de la columna. Porejemplo, en el trabajo cron ls arriba, el primer carácter representa todos los minutos. Otraforma de especificar esto es: 0,1,2,3,4,5...,58,59 o 0-59.

Esto también se puede usar para especificar un paso. Por ejemplo, */5 en la primeracolumna coincidiría cada cinco valores: 0,5,10,15,20,25,30,35,40,45,50,55.

Sintaxis de cron Cuándo se ejecutará el comando

05 * * * * Cada hora, a los 5 minutos pasada la hora

05 02 * * * Cada día a las 2:05 a. m.

30 08 01 * * A las 8:30 p. m. el primer día de cada mes

00 07 25 12 * El 25 de diciembre a las 7:00 a. m.

30 16 * * 5 Cada viernes a las 4:30 p. m.

*/5 * * * * Cada 5 minutos (0, 5, 10... 45, 50, 55)

*/10 9-16 1,15 * * Cada 10 minutos entre las 9 a. m. y 5 p. m. (no se ejecutará alas 5 p. m.; la última instancia se ejecutará a las 4:50 p. m.) enel primero y el quince del mes

0 0 1 jan 0 El 1 de enero a la medianoche y cada domingo de enero (nosolo si el 1 de enero es domingo)

Tabla 16.2. Ejemplo de entradas de tabla de cron

Las tareas que corresponden al sistema generalmente se incluyen en archivos crontab, enlugar de archivos personales. El archivo crontab principal es /etc/crontab y se puede editarnormalmente (crontab -e no se utiliza). Una práctica más conveniente es crear un archivocrontab en un editor de textos normal y soltarlo en /etc/cron.d/ (esto evita problemascuando se actualiza el paquete cronie; esto es lo que hacen los paquetes de sistema). Losarchivos crontab /etc/cron.d/ presentan un campo adicional después de la especificación dela fecha que indica el usuario que ejecutará el trabajo.

Los scripts que deben ejecutarse una vez al día, a la semana o al mes simplemente puedenconfigurarse como ejecutable y soltarse en el directorio correspondiente en /etc/cron.{daily,weekly,monthly}. Estas tareas son ejecutadas por el servicio anacron del sistema,configurado por /etc/anacrontab. En Red Hat Enterprise Linux6, anacron es un componenteintegrado de cron para administrar mejor estas tareas y garantizar que se ejecuten despuésdel arranque, si es que no se ejecutaron porque la máquina estaba apagada. Para obtener másinformación, consulte la página del manual anacrontab(5).

ReferenciasPáginas del manual: crontab(1), crontab(5), anacrontab(5) y crontabs(4)

Administración de tareas periódicas

RH135-6-es-2-20110131 235

Práctica Cuestionario

Programación de cronie1. ¿Cuándo se ejecutarán los siguientes trabajos?

a. 00 07 25 12 * /usr/local/bin/open_presents

b. */5 * * * * /usr/local/bin/take_stats

c. 07 03 * * * /sbin/service xend restart

d. 30 16 * * 5 /usr/local/bin/mail_checks

2. Cree una entrada de cron que ejecutaría el script /usr/local/bin/vacuum_db unavez al mes, el primer día del mes.

3. En la pregunta anterior. ¿qué ocurre si la máquina estaba inactiva debido amantenimiento el primero de febrero? ¿Cuál sería la mejor forma de asegurarse de quela base de datos no opere 2 (o más) meses entre cada vaciado?

Capítulo 16. Administración de procesos

236 RH135-6-es-2-20110131

Programación de tareas aplazadas

Actividad de lectura: El comando atCon comando at, puede especificar una tarea (denominada trabajo) para que se ejecute en unmomento específico en el futuro. El trabajo podría ser una copia de seguridad de una vez, unarevisión de su sistema o el envío de una notificación en un momento específico. Los trabajos, quepodrían tardar mucho en completarse, también son buenos candidatos para el comando at. Parahacer esto, simplemente use at para configurar la tarea que se ejecutará en un minuto o dosen el futuro. Luego, puede salir de la sesión de manera segura, dado que la tarea se ejecuta sinconexión desde la sesión del intérprete de comandos.

El comando at debe especificar cuándo se debe ejecutar la tarea. Esa especificación puede seruna hora o una fecha específicas (Monday, 10pm[lunes a las 10 p. m.] o July 15[15 de julio], porejemplo). Puede ser relativo al tiempo actual (now +5 min[ahora + 5 min], now +3 days[ahora+ 3 días] o 4pm +1 week[4 p. m. + 1 semana]). Al agregar otras opciones, puede lograr que elcorreo se envíe cuando la tarea finalice (-m) o leer la tarea desde un archivo (-f file) en lugarde desde la entrada estándar.

Después de escribir la línea de comando at presione Enter y proceda a escribir los comandosque se incluirán en el trabajo. La tarea puede constar de múltiples comandos. Cuando termine deescribir los comandos que se ejecutarán, presione Ctrl+d en una línea sola para completar latarea. Por ejemplo:

[user@host ~]$ at now +2 minat> echo "Hello from the at command" > /dev/pts/2at> Ctrl-D <EOT>job 1 at 2011-01-28 00:38[user@host ~]$

Una vez que un trabajo at está configurado para ejecutarse, puede enumerar los números y lashoras del trabajo con el comando atq. Para ver los comandos incluidos en el trabajo, escribaat -c # (reemplace # con el número de trabajo que desea ver). Antes de que se ejecute untrabajo, puede eliminarlo (siempre que sea su trabajo o que usted sea el usuario root) al escribirel comando atrm #, donde # se reemplaza con el número del trabajo.

InstruccionesLea la página del manual at(1) centrando su atención en los comandos at, atq, atrm; luegoresponda las preguntas que se encuentran a continuación.

1. ¿Qué función ejecuta el comando at?

2. ¿Cuál es la sintaxis del comando at?

3. ¿Cómo expresaría las siguientes especificaciones de tiempo para el comando at?

• ¿Para ejecutar un trabajo a las 4:00 p. m. en tres días a partir de ahora?

Instrucciones

RH135-6-es-2-20110131 237

• ¿Para ejecutar un trabajo a las 10:00 a. m. el próximo 31 de julio?

• ¿Para ejecutar un trabajo a la 1:00 a. m., mañana?

4. ¿Qué función ejecuta el comando atq?

5. ¿Cuál es el formato de la salida del comando atq?

6. ¿Qué función ejecuta el comando atrm?

7. ¿Cuál es la sintaxis del comando atrm?

ReferenciasPágina del manual: at(1)

Capítulo 16. Administración de procesos

238 RH135-6-es-2-20110131

Práctica Lista de verificación de rendimiento

Programación de tareas aplazadas

Realice los siguientes pasos en serverX, a menos que se le indique de otro modo.

Determine la hora del sistema actual.

Programe el comando who interactivamente para que se ejecute 1 minuto en el futuro.

Mientras espera que el comando at se complete, cree un archivo de texto simple quecontenga el comando cal. Configúrelo para que pueda ejecutarse.

Programe el comando creado arriba para que se ejecute a la hora del té, hoy y mañana.

Cambie de lugar con un compañero para realizar los dos pasos siguientes.

• Use atq para confirmar las tareas pendientes.

• Use atrm para quitar la tarea programada para la hora del té de mañana.

Vuelva a cambiar de lugar y revise su correo para confirmar que el comando who originalse haya ejecutado.

Prueba de criterios

RH135-6-es-2-20110131 239

Prueba

Prueba de criterios

Ejercicio

Administración de procesosAntes de comenzar...Ejecute manage_processes_start en serverX para prepararse para el ejercicio.

Realice los siguientes pasos con cuidado. Si tiene algún problema o alguna duda, consulte con suinstructor.

Realice los siguientes pasos en serverX, a menos que se le indique de otro modo.

1. Después de ejecutar el comando manage_processes_start, serverX debe estar muylerdo.

2. Determine qué proceso está usando una cantidad excesiva de memoria y finalícelo.

3. Determine el proceso que está usando una cantidad excesiva de memoria de CPU y cambieel valor de niceness a 15.

4. Cree un trabajo de cron de sistema que cada media hora reajuste todos los procesos quepertenecen al usuario elvis a un valor de niceness de 10.

Sugerencia: Use la página del manual renice(1) para determinar la opción para ajustartodos los procesos del usuario.

5. Registre un trabajo para que se ejecute una vez a las 3:00 a. m., que ejecute el comando psaux.

Capítulo 16. Administración de procesos

240 RH135-6-es-2-20110131

Notas personales

Prueba de criterios

RH135-6-es-2-20110131 241

Resumen de la unidad

Control de procesos

En esta sección, aprendió a:

• Identificar los procesos que consumen la mayoría de los recursos de CPU

.Finalización y control de procesos

En esta sección, aprendió a:

• Finalizar procesos

• Cambiar la prioridad de un proceso existente

• Iniciar un proceso con una prioridad no predeterminada

.Administración de tareas periódicas

En esta sección, aprendió a:

• Programar tareas periódicas mediante el uso de cron

.Programación de tareas aplazadas

En esta sección, aprendió a:

• Programar una tarea a ejecutarse una sola vez mediante el uso de at

• Enumerar y eliminar tareas a ejecutarse una sola vez pendientes

.

242

 

RH135-6-es-2-20110131 243

UNIDAD DIECISIETE

AJUSTE Y MANTENIMIENTODEL KERNEL

IntroducciónTemas tratados en esta unidad:

• Arquitecturas compatibles

• Módulos del kernel

• Parámetros del kernel

• Actualizaciones del kernel

Capítulo 17. Ajuste y mantenimiento del kernel

244 RH135-6-es-2-20110131

Arquitecturas compatibles e identificación delkernel

Como la interfaz entre programas de usuarios y el hardware de sistemas, el kernel tiene un rolprincipal en asegurar que Red Hat Enterprise Linux pueda ser usado en una amplia variedad deentornos de hardware físicos y virtuales.

Arquitecturas admitidas por Red Hat Enterprise Linux6Red Hat Enterprise Linux 6 es compatible para ser ejecutado directamente en cuatroarquitecturas de procesadores:

• Intel y AMD de 64 bits x86-64

• Intel y AMD de 32 bits x86

• IBM POWER (POWER6 de 64 bit o superior)

• IBM System z (System z9 o superior)

Esta clase se da en máquinas que utilizan una arquitectura Intel y AMD de 64 bit x86-64(también conocida como AMD64 e Intel 64).

Red Hat Enterprise Linux 6 y virtualizaciónRed Hat Enterprise Linux 6 compatible como guest virtualRed Hat Enterprise Linux 6 es compatible cuando se ejecuta como un guest virtual en lossiguientes hipervisores:

• KVM en Red Hat Enterprise Linux 5 y 6 (x86-64)

• Xen en Red Hat Enterprise Linux 5 (x86 y x86-64, paravirtualizado y completamentevirtualizado)

• VMware ESX Server y VMware ESXi Server

• Microsoft Windows Server 2008 Hyper-V

Esto significa que Red Hat Enterprise Linux en estas plataformas de virtualización estácertificado y es compatible independientemente del hardware físico subyacente (aparte decualquier transferencia de hardware). Observe que Red Hat admite el sistema operativode guest. La compatibilidad directa para una plataforma virtualizada viene del proveedorrespectivo. Consulte http://hardware.redhat.com/ para obtener más detalles sobrelos productos y versiones verificados, y http://www.redhat.com/rhel/server/virtualization_support.html para obtener más información.

Compatibilidad de Red Hat Enterprise Linux 6 en particiones dehardwareRed Hat Enterprise Linux también es compatible en particiones de hardware y soluciones devirtualización como

Red Hat Enterprise Linux 6 y virtualización

RH135-6-es-2-20110131 245

• IBM POWER y System z

• Fujitsu PRIMEQUEST

Estas están certificadas por su compatibilidad con el hardware físico, no como una característicagenérica en hardware no certificado. Vea http://hardware.redhat.com/ para obtener másdetalles.

Capítulo 17. Ajuste y mantenimiento del kernel

246 RH135-6-es-2-20110131

Compatibilidad de Red Hat Enterprise Linux 6 en la nube públicaPara implementaciones de computación en la nube internas, se aplica la compatibilidad estándar.Red Hat además certifica la ejecución de Red Hat Enterprise Linux en la plataforma de variosproveedores de computación en la nube pública como parte de nuestro programa de socios en lanube (Cloud Partner Program). Al momento de escribir, los proveedores de la nube certificadosincluían:

• Amazon EC2 (http://www.redhat.com/solutions/cloud/amazon/)

• IBM (http://www.ibm.com/ibm/cloud/)

• Savvis (http://www.savvis.com/)

Límites del sistemaLos límites del sistema admitido dependen de la arquitectura y la variante y versión del productoimplementadas. La URL http://www.redhat.com/rhel/compare se actualiza a medida quese introducen nuevas versiones y se habilita nuevo hardware.

Identificación del kernel en ejecución1. cat /etc/redhat-release: versión de Red Hat Enterprise Linux instalada

2. uname -r: versión de kernel actualmente en ejecución

3. yum list installed kernel\*: versiones de kernel instaladas

4. uname -m o arch: arquitectura de procesador actualmente en ejecución

Ocasionalmente, el kernel emite mensajes de registro. Estos mensajes se registran en el archivo/var/log/messages, con etiqueta de servicio de kernel

ReferenciasComparación entre las versiones de escritorio y servidor de Red Hathttp://www.redhat.com/rhel/compare/

Compatibilidad de virtualización en Red Hat Enterprise Linuxhttp://www.redhat.com/rhel/server/virtualization_support.html

Catálogo de hardware de Red Hathttp://hardware.redhat.com/

Programa de socios en la nubehttp://www.redhat.com/solutions/cloud/partners/

Páginas del manual: uname(1), arch(1)

Administración de los módulos del kernel

RH135-6-es-2-20110131 247

Administración de los módulos del kernelLos módulos del kernel son archivos de objetos, un código ejecutable que se puede conectarde manera dinámica al kernel de Linux mientras este se ejecuta para extender sus capacidadeso proporcionar controladores de dispositivos. Los módulos del kernel cargables de maneradinámica son útiles porque permiten a Linux cargar solo componentes del kernel que sonnecesarios en un sistema particular en una configuración particular, y ahorra espacio dememoria y uso de recursos del sistema. Además permiten al kernel extenderse sin la necesidadde recompilarlo ni volver a arrancar el sistema.

Carga y descarga de módulos• La imagen del kernel central, cargada durante el proceso de arranque, se encuentra en /boot/vmlinuz-VERSION.

• Si bien se pueden instalar varios kernels, sólo uno es el que actualmente está en ejecución.Para cambiar los kernels, se debe volver a arrancar el sistema.

• Cada kernel incluye un grupo de módulos cargados dinámicamente, compatibles con esekernel, que se guardan en /lib/modules/VERSION/.

• Generalmente, los módulos se cargan o descargan a pedido, sin interacción del usuario (o deladministrador).

• Se puede crear una lista de los módulos actualmente cargados con lsmod.

• En ocasiones, es posible que se deban cargar los módulos manualmente con modprobeMODULENAME.

• Los módulos que ya no se utilizan se pueden quitar con modprobe -r MODULENAME.

Parámetros de los módulos• Muchos módulos aceptan parámetros que pueden especificarse mientras se carga el módulo.

• Con el comando modinfo, se muestran los parámetros que admite un módulo.

• Los parámetros se especifican como pares name=value en la línea de comando modprobe.

# modprobe ecryptfs ecryptfs_verbosity=1

• Los parámetros se pueden aplicar automáticamente mediante la configuración de las opcionesen un archivo de configuración /etc/modprobe.d/local.conf:

options ecryptfs ecryptfs_verbosity=1

Capítulo 17. Ajuste y mantenimiento del kernel

248 RH135-6-es-2-20110131

ReferenciasRed Hat Enterprise Linux Deployment Guide

• Capítulo 22: Trabajo con módulos del kernel

Páginas del manual: lsmod(8), modprobe(8)

Administración de los módulos del kernel

RH135-6-es-2-20110131 249

Práctica Ejercicio

Carga de módulos y configuración de parámetrospredeterminados

Realice los siguientes pasos con cuidado. Si tiene algún problema o alguna duda, consulte con suinstructor.

Algunas funciones del cortafuego basado en el kernel se implementan como módulos opcionalesdel kernel, como llevar a cabo un rastreo de conexiones en un servidor ftp.

Se le ha solicitado que cargue el módulo del kernel nf_conntrack_ftp y que lo configureadecuadamente para un servidor FTP en modo de escucha en el puerto TCP 21 y el puerto 8021.

Debe ejecutar los siguientes comandos en su serverX.

1. Use el comando locate para asegurarse de que el módulo nf_conntrack_ftp sea compatiblecon su kernel.

2. Cargue el módulo de seguimiento de conexión FTP.

3. Asegúrese de que esté cargado.

4. Descargue el módulo de seguimiento de conexión FTP.

5. Asegúrese de que esté descargado.

6. Además del puerto 21 estándar, usted planea ejecutar un servidor FTP en el puerto 8021 noestándar. Examine las opciones que podrían permitirle especificar los puertos no estándares.

7. Configure un archivo /etc/modprobe.d/local.conf, que implementa esta opción unavez cargado.

Capítulo 17. Ajuste y mantenimiento del kernel

250 RH135-6-es-2-20110131

Especificación de parámetros de arranque delkernel

Parámetros de la línea de comando del kernel• El kernel puede configurarse al pasarle parámetros de la línea de comando.

• La línea de comando que se usa para iniciar su kernel actual puede examinarse en /proc/cmdline.

• Muchas opciones (pero no todas) de la línea de comando del kernel están documentadasen la página del manual bootparam(7). Los parámetros adicionales están documentadosen el paquete kernel-doc, en el archivo /usr/share/doc/kernel-doc-2.6.32-*/Documentation/kernel-parameters.txt.

• Las opciones de la línea de comando se especifican en el archivo de configuración del gestorde arranque, /boot/grub/grub.conf.

• Cualquier elemento no reconocido por el kernel se transfiere como argumento o variable deentorno al primer proceso.

AdvertenciaAsegúrese de comprender los probables efectos de un parámetro del kernel antes deconfigurarlo.

Use este espacio para sus notas.

ReferenciasDocumentación del kernel: "Parámetros del kernel"/usr/share/doc/kernel-doc-2.6.32-*/Documentation/kernel-parameters.txt

Página del manual: bootparams(7)

Administración de los módulos del kernel

RH135-6-es-2-20110131 251

Práctica Ejercicio

Modificación de la línea de comando del kernel

Realice los siguientes pasos con cuidado. Si tiene algún problema o alguna duda, consulte con suinstructor.

El dispositivo de bucle invertido se usa para montar archivos como si fueran dispositivos, lo cuales muy conveniente para acceder a las imágenes ISO, por ejemplo. De forma predeterminada, elkernel admite 8 dispositivos de bucle invertido. Modifique la línea de comando de kernel de suservidor remoto de modo que admita 32 en su lugar.

Use su serverX para realizar los siguientes pasos.

1. Enumere los dispositivos de bucle invertido en el directorio /dev. (Todos los dispositivos debucle invertido se denominan loop*). ¿Cuántos hay? _______________

2. Agregue el parámetro max_loop=32 a la línea de comando de kernel en /boot/grub/grub.conf.

3. Vuelva a arrancar su servidor.

4. Confirme que el kernel haya arrancado con la línea de comando modificada.

5. Enumere los dispositivos de bucle invertido en el directorio /dev. ¿Cuántos hay?_______________

Capítulo 17. Ajuste y mantenimiento del kernel

252 RH135-6-es-2-20110131

Actualización del kernel

Demostración sobre la actualización de un kernelComplete los espacios en blanco a continuación mientras su instructor analiza los siguientestemas.

1. ¿Qué comando (familiar) realiza una actualización dekernel?

2. Los kernels nuevos se ; no seactualizan. Como cada archivo que pertenece al paquetede kernels tiene versiones, o reside en un directoriocon versiones, RPM requiere que se instalen versionessimultáneas.

3. De forma predeterminada, al "actualizar" un kernel, yummantendrá un total de versiones instaladas yautomáticamente quitará cualquier versión anterior.

4. Para usar el nuevo kernel, debe su máquina.

5. Si bien la máquina volverá a arrancar automáticamenteen el kernel actualizado, aún puede seleccionar un kernel

en el menú del gestor de arranqueGRUB.

6. Si desea quitar un kernel manualmente, debe especificarno sólo el nombre del paquete (kernel), sino también el

.

AdvertenciaNo intente ejecutar yum remove kernel sin especificar en detalle qué paquete del kernelse eliminará del sistema. El comando intentará eliminar todos los paquetes del kernelinstalados en el sistema así como los paquetes que dependen del kernel. Esto dará comoresultado un sistema roto y que no se puede volver a arrancar.

Administración de los módulos del kernel

RH135-6-es-2-20110131 253

ReferenciasRed Hat Enterprise Linux Deployment Guide

• Capítulo 23: Actualización manual del Kernel

Páginas del manual: lsmod(8), modprobe(8)

Páginas del manual: yum(1), yum.conf(8)

Capítulo 17. Ajuste y mantenimiento del kernel

254 RH135-6-es-2-20110131

Notas personales

Administración de los módulos del kernel

RH135-6-es-2-20110131 255

Resumen de la unidad

Arquitecturas compatibles e identificación del kernel

En esta sección, aprendió a:

• Analizar las arquitecturas de kernel compatibles y los límites

• Determinar qué kernel se está ejecutando en el sistema

.Administración de los módulos del kernel

En esta sección, aprendió a:

• Crear una lista de los módulos actuales cargados en el kernel

• Cargar un módulo y sus dependencias

• Quitar un módulo

• Configurar de forma persistente un módulo para su carga con parámetrosespecificados

• Buscar documentación acerca de un módulo

.Especificación de parámetros de arranque del kernel

En esta sección, aprendió a:

• Agregar un argumento de línea de comando de kernel que persista cuando se vuelvaa arrancar el sistema

.Actualización del kernel

En esta sección, aprendió a:

• Actualizar un kernel compilado de Red Hat

.

256

 

RH135-6-es-2-20110131 257

UNIDAD DIECIOCHO

TÉCNICAS DE RECUPERACIÓNDEL SISTEMA

IntroducciónTemas tratados en esta unidad:

• Proceso de arranque

• Intérpretes de comandos de recuperación

Capítulo 18. Técnicas de recuperación del sistema

258 RH135-6-es-2-20110131

El proceso de arranqueA continuación, se encuentra un diagrama simplificado del proceso de arranque de Red HatEnterprise Linux 6, desde el encendido hasta el punto en que aparece un aviso de inicio de sesiónen la pantalla.

start -t tys.conf prefdm .confrcS.conf

/etc/rc.d/rc.sysinit /etc/inittab

send “ runlevel” event

rc.conf /etc/rc.d/rc

/etc/rc.d/rc[0-6].d/

send “ rc” event

on “ startup”

on “ runlevel”

on “ rc”

/etc/init/init

kernel

BIOS

GRUB

/boot/grub/grub.conf

BIOSBIOS, o sistema de entrada/salida básico, es la interfaz de firmware incorporada al hardware x86/x86-64 estándar que coloca al hardware en un estado conocido y prepara el sistema para cargarun sistema operativo.

¿Qué ocurre?• Detecta e inicializa el hardware.

• Determina el dispositivo desde el cual se arranca el sistema.

¿Qué puede salir mal?• Configuraciones de BIOS incorrectas o extrañas

• Ordenamiento de dispositivos de arranque incorrecto

¿Cómo se puede interrumpir o influenciar?• Presione una tecla específica del proveedor.

• Use una utilidad de configuración específica del proveedor.

• Por lo general, <F12> puede realizar una anulación de una sola vez del ordenamiento dearranque.

GRUB

RH135-6-es-2-20110131 259

GRUBEl BIOS carga GRUB, el Gran Gestor de Arranque Unificado, que se utiliza para seleccionar einiciar el sistema operativo, como ya lo hemos analizado.

¿Qué ocurre?• Carga el sistema de archivos RAM inicial ("initramfs")

• Carga y ejecuta el kernel.

• Proporciona la línea de comando de kernel.

¿Qué puede salir mal?• Configuración errónea del gestor de arranque

• Imagen de kernel o initramfs incorrecto

• Línea de comando de kernel incorrecta

¿Cómo se puede interrumpir o influenciar?• Elija un elemento de menú alternativo configurado previamente.

• Puede usar "e" o "a" para seleccionar una imagen de kernel diferente o editar la línea decomando de kernel.

• Edite la línea de comando de kernel para arrancar el sistema desde el modo de usuariosingle.

• Arranque con init=/bin/bash.

Investigación y aprendizaje: GRUBEscriba las respuestas a cada una de las preguntas a continuación y remítase a la documentacióndisponible cuando sea necesario.

1. ¿Dónde podemos encontrar el arranque orientado y más específicamente, el archivo deconfiguración de GRUB?

2. ¿Dónde podemos encontrar información acerca de qué significan las opciones deconfiguración en ese archivo de configuración?

3. ¿Qué kernel arrancará de modo predeterminado (nombre de archivo)?

4. ¿Dónde pasa el sistema de archivos de usuario "root" al kernel y qué es el sistema dearchivos de usuario "root"?

Capítulo 18. Técnicas de recuperación del sistema

260 RH135-6-es-2-20110131

5. ¿Cuál es la diferencia en relación con la directiva en las entradas de arranque grub.confque se inicia con "root"? ¿Adónde apunta la línea "root" ?

6. ¿Cómo podemos restringir el acceso a las opciones interactivas del GRUB?

KernelEl kernel Linux es la parte principal del sistema operativo. Es responsable de administrar elacceso al hardware para los procesos de espacio de usuario. Los controladores y el hipervisorKVM son partes integradas del kernel.

¿Qué ocurre?• Detecta dispositivos de hardware.

• Carga los controladores de dispositivo (módulos) para los dispositivos.

nota¿Dónde obtiene el kernel los módulos para su carga durante el proceso de arranque?

1. Al principio, usa el disco RAM inicial configurado para el kernel en /boot/grub/grub.conf: /boot/initramfs-<VERSION>.img.

2. Una vez montado el sistema de archivos de usuario root, usa /lib/modules/<VERSION>/

• Monta el sistema de archivos en modo de sólo lectura.

• Inicia el proceso inicial, init.

¿Qué puede salir mal?• Mala imagen del sistema de archivos RAM inicial

• Sistema de archivos de root identificado erróneamente

• Sistema de archivos de root dañado

¿Cómo se puede interrumpir o influenciar?• Generalmente, sólo mediante opciones de GRUB.

init y Upstart

RH135-6-es-2-20110131 261

init y UpstartEl primer proceso de espacio de usuario que se inicia en el sistema es /sbin/init. El procesoinit es responsable de iniciar todos los procesos restantes de espacio de usuario, directa oindirectamente.

¿Qué ocurre?• Una vez que el kernel está en ejecución, inicia init. El programa init es responsable

de completar el proceso de arranque iniciando todos los otros procesos del sistema norelacionados con el kernel.

Con Upstart, init inicia "trabajos" cuando ocurren varios "eventos", como cuando arrancael sistema, ingresamos a un nivel de ejecución, u otro trabajo de init se inicia o se detiene.Estos trabajos se almacenan como scripts en el directorio /etc/init/. Durante el proceso dearranque, el evento de inicio hace que init ejecute el trabajo /etc/init/rcS.conf, que:

• Ejecuta /etc/rc.d/rc.sysinit para iniciar el LVM, montar y verificar los sistemas dearchivos, configurar el reloj del sistema y realizar otras operaciones de verificación.

• Busca en /etc/inittab para encontrar el nivel de ejecución.

• Envía un evento a init indicándole que ingrese a ese nivel de ejecución.

El evento del nivel de ejecución hace que init ejecute el trabajo /etc/init/rc.conf, queejecuta el script /etc/rc.d/rc con el nivel de ejecución deseado como un argumento:

• Ejemplo: rc.conf ejecuta rc 5, que ejecuta /etc/rc.d/rc5.d/K* stop y /etc/rc.d/rc5.d/S* start.

• Los scripts se ejecutan por orden numérico, primero los que contienen K y después los quecontienen S.

• Los scripts /etc/rc.d/rc5.d/ son enlaces simbólicos a los scripts usados por el servicio.

• Que los enlaces comiencen con una K o una S depende de que el servicio se haya activado odesactivado, on u off, con chkconfig.

Las versiones anteriores de Red Hat Enterprise Linux presentan una implementación un tantodistinta de init que funciona de forma diferente.

¿Qué puede salir mal?• /etc/fstab o /etc/crypttab alterado

• Configuración errónea de servicio o red que hace que los servicios no respondan

• Etc...

¿Cómo se puede interrumpir o influenciar?• Presione "Alt + Tab" del entorno gráfico para ver los mensajes de error.

• Presione "I" (i mayúscula) durante el inicio del servicio para seleccionar los servicios de formainteractiva.

Capítulo 18. Técnicas de recuperación del sistema

262 RH135-6-es-2-20110131

notaRed Hat Enterprise Linux 5 y las versiones anteriores usaban una implementación diferentede init, SysVinit, que se controlaba por directivas en el archivo /etc/inittab. Sinembargo, el proceso de arranque básico y los scripts ejecutados por init eran similares.

notaRed Hat Enterprise Linux 6 admite sistemas que usan UEFI y UEFI Boot Manager para cargarel sistema operativo, en lugar de un BIOS y GRUB. Para obtener más información, consulteRed Hat Enterprise Linux Installation Guide.

Revisar los síntomas para la solución de problemas

Síntomas Posibles causas

No aparece un señal ni una pantalla de iniciodel gestor de arranque

• El GRUB está mal configurado

• El sector de arranque está dañado

• Una configuración del BIOS, como elesquema de dirección del disco, se hamodificado desde que se escribió el sectorde arranque

El kernel no se carga, o se carga parcialmenteantes de que ocurra un panic

• Imagen del kernel dañado

• El gestor de arranque le pasó losparámetros incorrectos al kernel

El kernel se carga por completo, pero ocurreun panic o el kernel falla cuando intentamontar el sistema de archivos de usuario rooty ejecutar /sbin/init

• El gestor de arranque está mal configurado

• /sbin/init está dañado o /etc/inittab estámal configurado

• El sistema de archivos está dañado o no sepuede montar

El kernel se carga por completo y /etc/rc.d/rc.sysinit se inicia y luego se interrumpe

• /bin/bash falta o está dañado

• Es posible que /etc/fstab tenga un error,el cual es evidente cuando los sistemas dearchivos se montan o aparecen en fsck.

• Sistemas de archivos que no son rootdañados (debido a una falla en fsck)

Revisar los síntomas para la solución de problemas

RH135-6-es-2-20110131 263

Síntomas Posibles causas

Errores de nivel de ejecución (generalmenteen los servicios)

• Otro servicio requerido por un serviciocon fallas no se configuró para un nivel deejecución determinado

• Errores de configuración específica deservicios

Tabla 18.1. Factores que debe verificar en el proceso de arranque

ReferenciasRed Hat Enterprise Linux Installation Guide

• Apéndice técnico F: Proceso de arranque, init y apagado

Red Hat Enterprise Linux Installation Guide

• Apéndice técnico E: Gestor de arranque GRUB

Red Hat Enterprise Linux Deployment Guide

• Sección 23.6: Verificación del gestor de arranque

Red Hat Enterprise Linux Deployment Guide

• Capítulo 7: Control del acceso a los servicios

Páginas del manual: init(8), event(5), init(5)

/etc/inittab

/boot/grub/grub.conf

info grub

Capítulo 18. Técnicas de recuperación del sistema

264 RH135-6-es-2-20110131

Práctica Cuestionario

Términos del proceso de arranqueIndique los nombres de los pasos para el proceso de arranque en cada definición

1. : Firmware que se ejecuta al encender el equipo,habilita las características del hardware integrado ydetermina que el dispositivo arranque.

2. : Programa cargado del dispositivo de arranqueque determina que el ejecutable del sistema operativoprincipal se cargue.

3. : Ejecutable del sistema operativo principalresponsable de coordinar el acceso del software a losrecursos de hardware.

4. : Primer proceso de Linux iniciado; en últimainstancia inicia todos los otros procesos.

Revisar los síntomas para la solución de problemas

RH135-6-es-2-20110131 265

Práctica Ejercicio para ordenar

Archivos del proceso de arranque

Para cada uno de los nombres de archivo o directorio indicados a continuación, escriba elnúmero de la definición correspondiente indicado en la lista debajo.

/boot/grub/grub.conf

/etc/inittab

/etc/init/

/etc/init/rcS.conf

/etc/rc.d/rc.sysinit

/etc/init/rc.conf

/etc/rc.d/rc5.d/

/etc/init/start-ttys.conf

/etc/init/prefdm.conf

1. Script para inicializar el sistema (incluye montaje de sistemas de archivos locales)

2. Archivo que contiene el nivel de ejecución predeterminado

3. Inicia las consolas virtuales basadas en texto 5 o 6

4. Tarea de init responsable de iniciar los servicios basados en System V.

5. Contiene las instrucciones de configuración del gestor de arranque.

6. Directorio que contiene tareas de init.

7. Contiene enlaces a los scripts de los servicios de System V para que se inicien o detengan alentrar al nivel de ejecución 5.

8. Inicia instrucciones gráficas al inicio de sesión.

9. Tarea de init para ejecutar el script de inicialización del sistema y trabajo de inicio parainiciar los servicios de System V.

Capítulo 18. Técnicas de recuperación del sistema

266 RH135-6-es-2-20110131

Reparación de problemas de arranqueAl momento de arranque, si el sistema tiene una dificultad para montar correctamente sistemasde archivos, el proceso de arranque se puede interrumpir para reparar el problema. En estecaso, el sistema caerá automáticamente a un intérprete de comandos sulogin para permitir lasreparaciones como root.

El intérprete de comandos sulogin no se el mismo que el del nivel de ejecución 1 ni el del modode usuario único. En este aviso, si los sistemas de archivos se montan, se montan como sololectura y el sistema no puede arrancar completamente en ningún nivel de ejecución estándar.

Los sistemas de archivos no se pueden montar más comúnmente porque el sistema de archivosse encuentra en un estado inconsistente debido a una rotura del sistema. Pero existen otrosmotivos por los que no se pueden montar. Por ejemplo, el administrador de sistemas puedehaber cambiado la configuración del sistema de archivos en el sistema y, un error o errorortográfico en /etc/fstab pueden apuntar a un dispositivo o sistema de archivos que noexiste. Otra posibilidad es que el administrador do sistemas haya intentado montar un volumenfísico de LVM o un dispositivo encriptado por error, en lugar del volumen lógico LVM o eldispositivo encriptado que contienen el sistema de archivos.

Reparación de sistemas de archivos dañadosDurante el funcionamiento normal, el kernel conserva información de los sistemas dearchivos a los que se accede con frecuencia en la memoria y sólo envía la información al discoperiódicamente. Si un sistema de archivos deja de estar disponible de forma repentina (porejemplo, debido a un corte de alimentación eléctrica o problemas de conectividad física), elsistema de archivos en el disco tendrá falta de coherencia. Si no se solucionan estos problemas,es probable que dañen los datos.

El comando fsck intentará restablecer el sistema de archivos a un estado coherente. La garantíade fsck no es la recuperación total de los datos, sino la coherencia del sistema de archivos.Durante el arranque, los scripts de inicio automáticamente harán fsck en todos los sistemasde archivos (si están etiquetados en /etc/fstab). Los problemas menores se solucionarán sininteracción. Si la recuperación automática de un sistema de archivos podría ocasionar la pérdidade datos, el proceso de arranque mostrará al intérprete de comandos sulogin para permitir aladministrador ejecutar fsck de forma interactiva.

AdvertenciaNo ejecute fsck en un sistema de archivos montado con acceso de lectura-escritura bajoninguna circunstancia. Esto probablemente ocasionaría daño al sistema de archivos ypérdida de datos.

1. Desmonte el sistema de archivos /boot en /dev/vda1.

[root@demo ~]# umount /dev/vda1

2. Revise el sistema de archivos en /dev/vda1.

Reparación de sistemas de archivos dañados

RH135-6-es-2-20110131 267

[root@demo ~]# fsck /dev/vda1

3. Vuelva a montar un sistema de archivos /boot.

[root@demo ~[# mount /dev/vda1

ImportanteMientras se ejecuta, es posible que fsck le pregunte si se deben hacer o no determinadoscambios en el sistema de archivos. Normalmente, debe responder sí a todas las preguntas,porque fsck solicita aprobación para completar una reparación. Podría responder no solo siestá haciendo una prueba para ver qué errores fsck busca o si sospecha que el hardware noestá respondiendo a los comandos correctamente; ambos casos son poco comunes.

AdvertenciaLa ejecución de fsck no se puede deshacer. La ejecución de fsck en algo que no contengaun sistema de archivos normal (como un volumen físico LVM) puede dañar el contenido deldispositivo, y ocasionar pérdida de datos. Elimine otras posibles causas del problema antesde usar fsck.

Si el sistema de archivos informa errores porque un dispositivo de almacenamiento no estáfuncionando correctamente, fsck probablemente no resolverá el problema, y es posibleque introduzca más errores si el dispositivo no funciona correctamente. (Por otra parte,en ese caso, los únicos otros recursos se restaurarán de la copia de seguridad a un nuevodispositivo de almacenamiento o se enviarán al dispositivo que funciona incorrectamentepara la recuperación de datos, en cuyo caso no deberá ejecutar fsck para evitar mayorriesgo de pérdida de datos.

Capítulo 18. Técnicas de recuperación del sistema

268 RH135-6-es-2-20110131

Taller

Reparación del fichero fstab roto con el intérprete decomandos sulogin

Sígalo junto con el instructor y use el espacio provisto a continuación para sus notas.

Realizará estos pasos en sus servidores virtuales: primero dividirá el archivo /etc/fstab yobservará los síntomas resultantes (PROBAR), luego comprobará si hay errores de configuración(VERIFICAR) y, por último, corregirá el problema (REPARAR).

1. Ejecute el script lab-setup-bootbreak-1 en serverX para dividir /etc/fstab y vuelva aarrancar el servidor.

¿Qué ocurre?

2. Ingrese la contraseña del usuario root para obtener el intérprete de comandos sulogin.

3. Vea el archivo /etc/fstab (use vim)

¿Cuáles son los seis campos?

Dispositivo , Tipo de sistema de archivos, Opcionesde montaje, Frecuencia de volcado, Orden de comprobación del sistema de archivos (fsck).

Sugerencia: fstab para obtener detalles.

4. Vuelva a montar el sistema de archivos del usuario root con acceso de lectura-escritura

¿Qué comando ejecuta esta función?

5. Edite /etc/fstab para corregir el error.

6. Ejecute mount -a para confirmar que no se produjeron errores.

7. Vuelva a arrancar el sistema y confirme que arranca normalmente.

El intérprete de comandos sulogin:

• El sistema pasa a un intérprete de comandos sulogin si encuentra problemas para acceder a unsistema de archivos en /etc/fstab.

• En el intérprete de comandos sulogin, el sistema de archivos de usuarios root se monta conacceso de sólo lectura.

• Si bien el intérprete de comandos sulogin puede recomendarlo, ejecutar fsck NO siempre esla opción preferida.

Reparación de sistemas de archivos dañados

RH135-6-es-2-20110131 269

ReferenciasPáginas del manual: fsck(8), fstab(5), sulogin(8)

Capítulo 18. Técnicas de recuperación del sistema

270 RH135-6-es-2-20110131

Práctica Cuestionario

Solución de problemas del proceso de arranque1. Si tiene problemas de daños en el sistema de

archivos, la máquina arrancará en modo de.

2. En el modo de mantenimiento, ejecute para solucionar los problemas de daños en el

.

3. En modo de mantenimiento, ejecute para

marcar la partición / como de escritura.

Prueba de criterios

RH135-6-es-2-20110131 271

Prueba

Prueba de criterios

Ejercicio

Uso y protección del modo monousuario

Realice los siguientes pasos con cuidado. Si tiene algún problema o alguna duda, consulte con suinstructor.

En este ejercicio, primero recuperará la contraseña del usuario root de su servidor virtual y luegoimplementará el Gran Gestor de Arranque Unificado (GRUB) para proteger la contraseña, a fin deque el sistema sea más seguro.

1. Ejecute el script para encriptar su contraseña de usuario root y vuelva a arrancar.

Ejecute lab-setup-bootbreak-4 desde serverX

2. Luego de verificar que ya no puede iniciar sesión como usuario root, vuelva a arrancar elsistema para restablecer la contraseña redhat nuevamente usando el modo monousuario.

notaEn el lanzamiento de Red Hat Enterprise Linux 6, se produjo un error de SELinuxque bloqueó el comando passwd en modo de usuario único (n.º 644820). Si tiene elpaquete original selinux-policy instalado, debe ejecutar el comando setenforce 0 enel nivel de ejecución 1 para que el comando passwd funcione. Después de cambiar lacontraseña, debe ejecutar setenforce 1 nuevamente para volver SELinux a modoobligatorio.

3. Asegure GRUB al agregar una línea password encriptada a la sección global de grub.conf

¿Qué comando usó para generar la contraseña encriptada?

¿Qué línea agregó a grub.conf?

4. Vuelva a arrancar el sistema e intente pasar al modo monousuario.

Preguntas de revisión:

1. ¿En qué momento se le solicitó que ingrese la contraseña de GRUB?

Capítulo 18. Técnicas de recuperación del sistema

272 RH135-6-es-2-20110131

2. ¿Qué ocurre si escribe la contraseña incorrecta?

3. ¿Puede arrancar el sistema sin la contraseña de GRUB?

.

Prueba de criterios

RH135-6-es-2-20110131 273

Notas personales

Capítulo 18. Técnicas de recuperación del sistema

274 RH135-6-es-2-20110131

Resumen de la unidad

El proceso de arranque

En esta sección, aprendió a:

• Describir el proceso de arranque de Red Hat Enterprise Linux 6

.Reparación de problemas de arranque

En esta sección, aprendió a:

• Arreglar problemas con el proceso de arranque ocasionados por un sistema dearchivos que no se montará adecuadamente

• Editar archivos desde el intérprete de comandos de mantenimiento de sistema dearchivos de sólo lectura

.

RH135-6-es-2-20110131 275

Apéndice A. Soluciones

Instalación automática de Red Hat EnterpriseLinux

Práctica Caso de estudio

Creación de un archivo kickstart con system-config-kickstartEn este ejercicio, su organización implementará estaciones de trabajo basadas en Red HatEnterprise Linux para los ingenieros y se le ha solicitado que cree un archivo kickstart parafacilitar la tarea.

Realice este ejercicio en su máquina desktopX como student.

Instalará system-config-kickstart. Cuando se inicie, es posible que system-config-kickstart le pida instalar una fuente; puede cerrar este diálogo de manera segura. Usesystem-config-kickstart para crear un archivo kickstart de acuerdo a los parámetrosespecificados a continuación.

• Elija la zona horaria adecuada.

• La contraseña del usuario root debe ser redhat.

• Kickstart debe realizar una instalación nueva desde el servidor web http://instructor.example.com/pub/rhel6/dvd.

• El MBR debe estar sin encriptar y el disco, inicializado.

• El sistema debe tener un sistema de archivos ext4 de 100 MB montado en /boot.

• El sistema debe tener una partición de intercambio de 512 MB.

• El espacio en disco restante debe asignarse a una partición ext4 montada en /.

• El dispositivo eth0 debe iniciarse durante el proceso de arranque y usar DHCP para laconfiguración.

• Instale el grupo de paquetes Base.

• Establezca un script posterior a la instalación que agregue:

ENGINEERING WORKSTATION

al archivo /etc/issue.

• Guarde el archivo kickstart como /home/student/engineer.cfg.

• El archivo kickstart resultante debe verse de manera similar a como se muestra acontinuación:

Apéndice A. Soluciones

276 RH135-6-es-2-20110131

#platform=x86, AMD64, or Intel EM64T#version=DEVEL# Firewall configurationfirewall --disabled# Install OS instead of upgradeinstall# Use network installationurl --url="http://instructor.example.com/pub/rhel6/dvd"# Root passwordrootpw --iscrypted $1$Fjoetb6b$AmMP6QWUV/Eep5XY1nH140# Network informationnetwork --bootproto=dhcp --device=eth0 --onboot=on# System authorization informationauth --useshadow --passalgo=md5# Use graphical installgraphicalfirstboot --disable# System keyboardkeyboard us# System languagelang en_US# SELinux configurationselinux --enforcing# Installation logging levellogging --level=info

# System timezonetimezone America/New_York# System bootloader configurationbootloader --location=mbr# Partition clearing informationclearpart --all --initlabel # Disk partitioning informationpart /boot --fstype="ext4" --size=100part swap --fstype="swap" --size=1part / --fstype="ext4" --grow --size=1

%postecho ENGINEERING WORKSTATION >> /etc/issue%end

%packages@base%end

Práctica Ejercicio

Poner el archivo kickstart a disposición de losinstaladores a través de HTTP

1. Inicie sesión en desktopX como student.

2. Conviértase en root e implemente un servidor web.

RH135-6-es-2-20110131 277

notaRecuerde que debe instalar, iniciar, habilitar y probar.

Para verificar que el servidor web Apache está instalado, vaya a System → Administration

→ Add/Remove Software. Escriba web server, luego haga clic en Find. Confirme que

Apache HTTP Server esté instalado.

Para habilitar e iniciar el servicio web Apache, vaya a System → Administration → Services.

Resalte httpd en la ventana izquierda. Haga clic en el botón Start, luego haga clic en elbotón Enable.

Para realizar una prueba, inicie Firefox y apúntelo a http://desktopX para ver la páginade prueba.

3. Copie /home/student/engineer.cfg en /var/www/html/

[root@desktopX ~]# cp /home/student/engineer.cfg /var/www/html/

4. Acceda a http://desktopX/engineer.cfg de un navegador web para verificar la disponibilidad.

[root@desktopX ~]# elinks -source http://desktopX/engineer.cfg

Práctica Ejercicio

Inicio de una instalación kickstartAntes de comenzar...Apague correctamente su máquina virtual serverX (vserver) para recuperar los recursos delsistema.

Use el archivo kickstart creado anteriormente (engineer.cfg) para implementar una nuevamáquina virtual.

1. En desktopX, cree una nueva máquina virtual con virt-manager. Elija Network Boot (PXE)como método de instalación. Configure la máquina virtual con los valores predeterminadossi no se especifican a continuación:

• Nombre: ingeniero

• Create a disk image on the computer's hard drive: 4 GB

2. Diseñe e ingrese una línea de invocación de Kickstart adecuada para el archivoengineer.cfg, luego inicie la instalación.

Una vez que se presenta la pantalla de instalación desde PXE, presione la tecla Tab e ingresela información de Kickstart como se muestra a continuación:

Apéndice A. Soluciones

278 RH135-6-es-2-20110131

> vmlinuz initrd=initrd.img ks=http://desktopX/engineer.cfg

Si el archivo kickstart tiene errores, es posible que se aborte la instalación. En ese caso,edite el archivo /var/www/html/engineer.cfg file en desktopX y arregle el problema.Destruya la máquina virtual engineer (ingeniero) y su disco, y reinicie la instalación.

Práctica Caso de estudio

Modificar un archivo kickstart sin system-config-kickstart

notaPor cuestiones de tiempo, no llevará a cabo una instalación con este archivo kickstart.

Como root en desktopX, cree una copia de /root/anaconda-ks.cfg denominada /home/student/projman.cfg. Mediante el uso de un editor de textos solamente, modifique esearchivo de modo que cumpla con los siguientes criterios:

1. La instalación debe ser completamente automatizada, y exactamente igual a la instalaciónactual de desktopX (incluida la partición), excepto...

• Se instalará el grupo de paquetes Backup Server.

• Se instalará el paquete mtx, que no está incluido en el grupo Backup Server de modopredeterminado.

• No se utilizará ninguna de las secuencias de comando existentes de %pre y %post

• Se creará un archivo /etc/issue en %post, con el nombre:

PROJECT MANAGEMENT

2. ksvalidator debe poder validar el archivo.

Una vez completo todo esto, copie el archivo en /var/www/html/.

1. [root@desktopX]# cp /root/anaconda-ks.cfg /home/student/projman.cfg[root@desktopX]# chown student:student /home/student/projman.cfg[root@desktopX]# chmod 644 /home/student/projman.cfg

2. Como estudiante, edite el archivo /home/student/projman.cfg e incluya los requisitosque se detallan arriba. Asegúrese de eliminar los comentarios de clearpart y de otraslíneas de la partición. Debe decir lo siguiente:

# Kickstart file automatically generated by anaconda.

RH135-6-es-2-20110131 279

#version=RHEL6installurl --url=ftp://instructor.example.com/pub/rhel6/dvdlang en_US.UTF-8keyboard usnetwork --device eth0 --bootproto dhcprootpw --iscrypted $1$YZO7ZHEP$M0uO1Ut96QBgertJRauEZ/# Reboot after installationrebootfirewall --disabledauthconfig --useshadow --enablemd5selinux --enforcingtimezone --utc America/New_Yorkbootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet"# The following is the partition information you requested# Note that any partitions you deleted are not expressed# here so unless you clear all partitions first, this is# not guaranteed to workclearpart --all --drives=sda

part /boot --fstype=ext4 --size=100part pv.LtUgsR-2QYc-f9OV-xG2S-PcGm-sfYq-eHJk2i --size=28000part swap --size=512

volgroup vol0 --pesize=32768 pv.LtUgsR-2QYc-f9OV-xG2S-PcGm-sfYq-eHJk2ilogvol /home --fstype=ext4 --name=home --vgname=vol0 --size=500logvol / --fstype=ext4 --name=root --vgname=vol0 --size=8192repo --name="Red Hat Enterprise Linux" --baseurl=ftp://instructor.example.com/pub/rhel6/dvd/ --cost=100

%packages@Backup Server@Base@Console internet tools@Core@Desktop@Desktop Platform@Development Tools@General Purpose Desktop@Graphical Administration Tools@Internet Browser@Network file system client@Printing client@X Window Systemftplftplibvirtlibvirt-clientlogwatchmtxmuttnss-pam-ldapdntppolicycoreutils-pythonqemu-kvmtigervncvirt-managervirt-viewer%end

%postecho PROJECT MANAGEMENT > /etc/issue

Apéndice A. Soluciones

280 RH135-6-es-2-20110131

%end

3. [root@desktopX]# ksvalidator /home/student/projman.cfg

4. [root@desktopX]# cp /home/student/projman.cfg /var/www/html

Prueba

Prueba de criterios

Lista de verificación de rendimiento

Instalación de una máquina virtual con KickstartAntes de comenzar...Apague la máquina virtual engineer que creó anteriormente y elimine la máquina virtual y sudisco.

En Virtual Machine Manager GUI, haga clic con el botón derecho del mouse sobre engineer y

elija Shutdown → Force Off. Luego, haga clic con el botón derecho sobre engineer nuevamente

y elija Delete. Marque Delete associated storage files y haga clic en Delete.

Arranque serverX si no está en ejecución. Copie el archivo /root/anaconda-ks.cfgde serverX en desktopX y colóquele el nombre /home/student/test.cfg. ApagueserverX después de copiar el archivo para recuperar los recursos del sistema para elresto del ejercicio de laboratorio.

[root@serverX]# scp /root/anaconda-ks.cfg student@desktopX:test.cfg[root@serverX]# poweroff

Modifique test.cfg según los siguientes criterios:

• Agregue clearpart --all y zerombr, y particione el almacenamiento de acuerdo alo siguiente:

• /boot (ext4): 200 MB

• Intercambio: 512 MB

• / (ext4): 3 GB

• Agregue el paquete gimp.

• Cree un archivo /root/install-date con la fecha y hora.

Agregue lo siguiente al archivo kickstart:

clearpart --allzerombrpart /boot --fstype=ext4 --size=200part swap --size=512

RH135-6-es-2-20110131 281

part / --fstype=ext4 --size=3072....[after %packages]gimp...

%postdate > /root/install-date...

Copie test.cfg en /var/www/html/ en desktopX. Asegúrese de que Apache puedaleer el archivo.

[root@desktopX ~]# cp /home/student/test.cfg /var/www/html/[root@desktopX ~]# chmod 644 /var/www/html/test.cfg

Inicie una instalación de máquina virtual con el archivo kickstart test.cfg. Colóqueleel nombre test a la máquina virtual. Use PXE como método de instalación y asigne 768MB de RAM y 1 CPU a la máquina virtual. Cree un disco local de 4 GB para el disco virtual.

En Virtual Machine Manager, haga clic sobre New. Ingrese test como el nombre, yseleccione el botón de radio Network Boot (PXE). Haga clic en Siguiente.

Deje OS Type y Version como Generic y haga clic en Forward.

Cambie Memory (RAM) a 768 MB y haga clic en Forward.

Cambie el tamaño del disco a 4 GB. Haga clic en Siguiente.

Verifique que la información sea correcta, y haga clic en Finish para comenzar lainstalación.

Cuando aparece el menú de instalación, presione la tecla Tab y agregue ks=http://desktopX/test.cfg; luego presione Enter. La instalación debe continuar y volver aarrancar el sistema cuando haya finalizado.

Vuelva a arrancar la máquina virtual cuando termine de instalarla y confirme que se hayainstalado correctamente.

Luego de haber completado satisfactoriamente el ejercicio y revisado su trabajo, elimineesta máquina virtual y su almacenamiento asociado para limpiar.

Apéndice A. Soluciones

282 RH135-6-es-2-20110131

Acceso a la línea de comando

Práctica Cuestionario

Acceso a la línea de comando local1. Escriba . Ctrl+Alt+F2 para cambiar al segundo terminal virtual.

2. Escriba su - para cambiar a la cuenta de usuario root.

3. Escriba exit para cerrar sesión de un intérprete de comandos su –.

4. Escriba exit para cerrar sesión del terminal virtual.

5. Escriba . Ctrl+Alt+F1 para regresar a la GUI.

Práctica Lista de verificación de rendimiento

Acceso a la línea de comando remota

Inicie sesión como estudiante en su máquina desktopX.

Use ssh para conectarse a su máquina serverX. Acepte la llave de host si se solicita.

[student@desktopX ~]$ ssh student@serverXThe authenticity of host 'serverX (192.168.0.X+100)' can't be established. RSA key fingerprint is 47:bf:82:cd:fa:68:06:ee:d8:83:03:1a:bb:29:14:a3.Are you sure you want to continue connecting (yes/no)? yesstudent@serverX's password: student

Ejecute el comando w y exit.

[student@serverX ~]$ w11:01:23 up 1 day, 19:10, 1 user, load average: 0,0,0USER TTY FROM LOGIN@ IDLE JCPU PCPU WHATstudent pts/1 desktopX 11:01 0.00s 0.12s 0.09s w[student@serverX ~]$ exit[student@desktopX ~]$

sshUse para conectarse a su máquina serverX como root.

[student@desktopX ~]$ ssh root@serverXroot@serverX's password: redhat[root@serverX ~]#

Ejecute el comando w y salga.

[root@serverX ~]# w11:01:23 up 1 day, 19:10, 1 user, load average: 0,0,0USER TTY FROM LOGIN@ IDLE JCPU PCPU root pts/2 desktopX 11:09 0.00s 0.13s 0.08s w

Prueba de criterios

RH135-6-es-2-20110131 283

[root@serverX ~]# exit[student@desktopX ~]$

Quite el archivo de hosts conocidos de SSH.

[student@desktopX ~]$ rm ~/.ssh/known_hosts

Use ssh para conectarse a serverX como root nuevamente. Acepte la llave ssh, iniciesesión y luego salga de la sesión.

[student@desktopX ~]$ ssh root@serverXThe authenticity of host 'server1 (::1)' can't be established. RSA key fingerprint is 47:bf:82:cd:fa:68:06:ee:d8:83:03:1a:bb:29:14:a3.Are you sure you want to continue connecting (yes/no)? yesroot@serverX's password: redhat[root@serverX ~]# exit[student@desktopX ~]$

Use ssh de forma no interactiva para ejecutar el comando hostname en serverX comousuario root.

[student@desktopX ~]$ ssh root@serverX hostnameroot@serverX's password: redhatserverX.example.com

Prueba

Prueba de criterios

Ejercicio

Uso de la línea de comando

1. Cambie al segundo terminal virtual e inicie sesión como student en su máquina desktopX.

En un entorno de clase en vivo, presione Ctrl+Alt+F2

En un entorno de capacitación virtual, seleccione Ctrl+Alt+F2 desde el menú Send Key en laparte superior izquierda de la ventana Classroom Systems.

2. Cambie a usuario root.

[student@desktopX ~]$ su -Password: redhat[root@desktopX ~]#

3. Use ssh para conectarse a su máquina serverX. Acepte la llave de host si se solicita.

[root@desktopX ~]# ssh serverXThe authenticity of host 'serverX (192.168.0.X+100)' can't be established.RSA key fingerprint is 0b:3c:2c:9c:e8:03:4c:44:ec:5a:fa:b7:66:d0:c6:44.

Apéndice A. Soluciones

284 RH135-6-es-2-20110131

Are you sure you want to continue connecting (yes/no)? yesWarning: Permanently added '192.168.0.X+100' (RSA) to the list of known hosts.

root@serverX's password: redhat[root@serverX ~]#

4. Ejecute el comando w y exit.

[root@serverX ~]# w18:36:10 up 7:15, 3 users, load average: 0.0, 0.0, 0.0USER TTY FROM LOGIN@ IDLE JCPU PCPU WHATroot pts/0 192.168.0.X 17:02 00:00 0.04s 0.04s w[root@serverX ~]# exitlogoutConnection to 192.168.0.X+100 closed.[root@desktopX ~]#

5. Use SSH para conectarse a su máquina serverX como student.

[root@desktopX ~]# ssh student@serverXstudent@serverX's password: student[student@serverX ~]$

6. Ejecute el comando w y exit.

[student@serverX ~]$ w18:36:10 up 7:15, 3 users, load average: 0.0, 0.0, 0.0USER TTY FROM LOGIN@ IDLE JCPU PCPU WHATstudent pts/0 192.168.0.X 17:02 0:0 0.04s 0.04s w[student@serverX ~]$ exitlogoutConnection to 192.168.0.X+100 closed.[root@desktopX ~]#

7. Quite el archivo de hosts conocidos de ssh.

[root@desktopX ~]# rm -f ~/.ssh/known_hosts

8. ssh a serverX como student nuevamente, y observe que se le solicita nuevamente la llavedel host. Acepte la llave.

[root@desktopX ~]# ssh student@serverXThe authenticity of host 'serverX (192.168.0.X+100)' can't be established.RSA key fingerprint is 0b:3c:2c:9c:e8:03:4c:44:ec:5a:fa:b7:66:d0:c6:44.Are you sure you want to continue connecting (yes/no)? yesWarning: Permanently added '192.168.0.X+100' (RSA) to the list of known hosts.student@serverX's password: student[student@serverX ~]$

9. Una vez que inició sesión, exit hacia atrás a su intérprete de comandos en desktopX.

[student@serverX ~]$ exit[root@desktopX ~]#

Prueba de criterios

RH135-6-es-2-20110131 285

10. Use ssh de forma no interactiva para ejecutar el comando ip route en serverX comousuario root.

[root@desktopX ~]# ssh serverX ip routeroot@serverX's password: redhat...output omitted...[root@desktopX ~]#

Apéndice A. Soluciones

286 RH135-6-es-2-20110131

Herramientas intermedias de la línea de comando

Práctica Cuestionario

Comparación entre enlaces físicos y simbólicos1. Un symlink se puede utilizar para cruzar entre sistemas de archivos.

2. Un enlace físico aumenta el conteo de enlaces.

3. Cuando crea un enlace físico, puede eliminar el archivo original sin perder ningún dato.

Práctica Ejercicio

Implementar enlaces físicos y simbólicos

Use esta tarea para practicar la creación y la exploración de enlaces físicos y simbólicos.

1. Inicie sesión en la máquina serverX como estudiante.

2. Cree un archivo con el nombre test1 en su directorio hogar.

$ echo "This file is test1" > test1

3. Cree un enlace simbólico en el directorio hogar denominado symlink que apunte al archivotest1, y compruebe que symlink apunte al contenido de test1.

$ ln -s test1 symlink$ cat symlinkThis file is test1

4. Cree un enlace físico en el directorio hogar con el nombre hardlink que apunte al archivotest1.

$ ln test1 hardlink

5. ¿Cuál es el conteo de enlaces para el archivo test1?

$ ls -l test1 hardlink symlink-rw-r--r--. 2 root root 19 Jan 26 13:35 hardlinklrwxrwxrwx. 1 root root 5 Jan 26 13:36 symlink -> test1-rw-r--r--. 2 root root 19 Jan 26 13:35 test1

6. Quite el archivo test1.

$ rm test1$ ls -l test1 hardlink symlink ls: cannot access test1: No such file or directory-rw-r--r--. 1 root root 19 Jan 26 13:35 hardlinklrwxrwxrwx. 1 root root 5 Jan 26 13:36 symlink -> test1$ cat symlink

Prueba de criterios

RH135-6-es-2-20110131 287

$ cat hardlinkThis file is test1$

7. ¿Qué sucedió con symlink?

El enlace se rompe cuando se elimina test1, de modo que symlink apunta a nada.

8. ¿Cuál es el conteo de enlaces en hardlink?

El conteo de enlaces se redujo de 2 a 1 cuando se eliminó test1.

9. ¿Cómo recuperaría los datos en el archivo test1?

Podría copiar hardlink a test1 (cp hardlink test1) o configurar un enlace físico ahardlink (ln hardlink test1).

Opciones principales de tar1. c = crear

2. x = extraer

3. t = evaluar

4. v = detallado

5. f = nombre de archivo

6. z = gzip

7. j = bzip2

Práctica Ejercicio

Archivar y comprimir archivos

Realice una copia de seguridad del directorio /etc desde serverX para descomprimir un ficherode archivos tar comprimido. Use el comando rsync para copiar ese fichero en su sistemadesktopX. Luego extraiga los archivos al directorio /backups en desktopX. Cree el directorio /backups si aún no existe.

1. Inicie sesión en serverX como usuario root.

[root@desktopX ~]# ssh root@serverX

2. Cree un archivo de /etc con la compresión gzip. Guarde el archivo como /tmp/etc.tar.gz.

[root@serverX ~]# tar cvzf /tmp/etc.tar.gz /etc...

Apéndice A. Soluciones

288 RH135-6-es-2-20110131

[root@serverX ~]# exit

3. Copie el archivo /tmp/etc.tar.gz desde su serverX al directorio /backups en sumáquina desktopX.

[root@desktopX ~]# mkdir /backups[root@desktopX ~]# rsync serverX:/tmp/etc.tar.gz /backups

4. Extraiga el archivo comprimido en /backups en desktopX.

[root@desktopX ~]# cd /backups[root@desktopX backups]# tar xjvf etc.tar.gz...

Modos principales de vim1. El modo comando se usa para la exploración de archivos, copiar y pegar, y ejecutar

comandos simples.

2. El modo insertar se usa para la edición de texto normal.

3. El modo ex se usa para guardar, salir, buscar y reemplazar, y realizar otras operacionescomplejas.

Práctica Ejercicio

Editar archivos con VIM

Cree y edite un pequeño archivo de texto para practicar algunos comandos vim. Luego, edite elarchivo /etc/issues y observe cómo el contenido de ese archivo se muestra en los avisos deinicio de sesión de sus consolas virtuales.

1. Abra un intérprete de comandos en su máquina serverX y cambie a usuario root.

2. Abra un archivo de práctica: vim /tmp/testfile.txt

3. Presione i para ir al modo insertar. Luego escriba texto que se vea de la siguiente manera:

Change the last word in this line to goose: duckQuack Quack Remove the first two Quack words.Copy this line so it appears twiceMake sure this is the first line in the file.

4. Presione la tecla Esc y escriba 1G para volver a la primera línea del archivo.

5. En la primera línea, cambie la palabra duck a goose.

Continúe con una palabra a la vez al presionar la tecla w varias veces hasta que el cursor seencuentre en la primera letra de duck. (Si va demasiado lejos, presione b para volver atrásuna palabra). Luego escriba cw (cambiar palabra), escriba goose y presione Esc.

Prueba de criterios

RH135-6-es-2-20110131 289

6. En la segunda línea, elimine las primeras dos apariciones de Quack

Ubique el cursor sobre la primera palabra Quack y escriba 2dw para eliminar ambaspalabras.

7. Copie la tercera línea, luego péguela de modo que aparezca dos veces.

Ubique el cursor sobre la tercera línea (Copy this line...) y presione yy para copiarla.Luego presione p para pegarla después de la línea actual. Ahora, la línea debe aparecer dosveces.

8. Elimine la línea final, luego péguela de modo que aparezca como la primera línea de la fila.

Cuando haya finalizado, el texto completo debe aparecer de la siguiente manera:

Make sure this is the first line in the file.Change the last word in this line to goose: gooseRemove the first two Quack words.Copy this line so it appears twiceCopy this line so it appears twice

Ubique el cursor en la línea que comienza "Make sure this..." y presione dd para eliminarla línea entera. Ubique el cursor en la primera línea (escriba 1G) y presione P (que es una pmayúscula) para pegar la línea eliminada arriba de la primera línea.

9. Guarde y salga del archivo (escriba :wq).

10. A continuación, use VIM para editar /etc/issue y agregue el texto

Welcome!

en la parte superior del archivo.

11. Realice una prueba al cambiar a una consola virtual (Ctrl+AltF2) y al presionar Enterpara actualizar el aviso. El texto Welcome! debe aparecer en la parte superior del aviso deinicio de sesión.

Prueba

Prueba de criterios

Ejercicio

Practicar el uso de ln, tar y VIM

Combine las habilidades que aprendió en esta unidad; para ello, cree enlaces (físico y blandos)con el comando ln, cree un fichero de archivos tar y use el editor de texto vim.

1. Inicie sesión en serverX como student.

2. Cree un enlace simbólico a /etc/passwd en su directorio hogar.

Apéndice A. Soluciones

290 RH135-6-es-2-20110131

[student@serverX ~]$ ln -s /etc/passwd

3. Cree un nuevo archivo en su directorio hogar con el nombre newfile.

[student@serverX ~]$ touch newfile

4. Cree un enlace físico a newfile, con el nombre newhardlink.

[student@serverX ~]$ ln newfile newhardlink

5. Archive y comprima (con la compresión bzip2) su directorio hogar en /tmp/student-home.tar.bz2.

[student@serverX ~]$ tar -jcvf /tmp/student-home.tar.bz2 ~

6. Cree un nuevo archivo en su directorio hogar con el nombre myvimfile.txt con vim eincluya la siguiente línea:

I wrote this using vim!

[student@serverX ~]$ vim myvimfile.txt

Una vez que se encuentre en vim, presione i para ingresar al modo insertar, escriba Iwrote this using vim!, presione Esc para volver al modo comandos; luego :wq paraingresar al modo ex, guardar y salir.

Expresiones regulares, canalizaciones y redirección de entrada/salida (I/O)

RH135-6-es-2-20110131 291

Expresiones regulares, canalizaciones yredirección de entrada/salida (I/O)

Más ejemplos de expresiones regulares1. ¿Con qué coincide h[aiou]t?

hat, hit, hot y hut.

2. ¿Con qué coincide b[ol][oa]t?

boot, boat, blot y blat.

Práctica Cuestionario

Coincidencia de expresiones regularesSeleccione todos los elementos que coincidan con la expresión regular en cada uno de estoscasos.

1. ba[nr]k

(seleccione uno o más de los siguientes…)a. bankb. banrkc. barkd. bakk

2. ^root

(seleccione uno o más de los siguientes…)a. root:x:0:0:root:/root:/bin/bashb. operator:x:11:0:operator:/root:/sbin/nologinc. ¡El usuario root es el mejor!d. Usted no es usuario root.

3. root

(seleccione uno o más de los siguientes…)a. root:x:0:0:root:/root:/bin/bashb. operator:x:11:0:operator:/root:/sbin/nologinc. ¡El usuario root es el mejor!d. Usted no es usuario root.

4. r..t

(seleccione uno o más de los siguientes…)a. root:x:0:0:root:/root:/bin/bashb. operator:x:11:0:operator:/root:/sbin/nologinc. ¡El usuario root es el mejor!

Apéndice A. Soluciones

292 RH135-6-es-2-20110131

d. Usted no es usuario root.

Práctica Cuestionario

Crear una expresión regularCree una expresión regular que coincida para cada uno de los siguientes requisitos.

1. La línea comienza con "Probar" o "probar".

^[pP]robar

2. La línea finaliza con "fin".

fin\.$

3. La línea completa es:

Esto es una prueba.

^Esto es una prueba\.$

4. Cualquiera de los siguientes nombres:

archivo5 archivo6 archivo7 archivo8

archivo[5678]

5. Cualquiera de los siguientes nombres:

archivo2 archivo4 archivo6 archivo8

archivo[2468]

Práctica Ejercicio

Expresiones regulares en las páginas man

Abra la página del manual passwd(1) y realice las siguientes búsquedas de expresionesregulares. Recuerde que debe usar la barra diagonal (/) para buscar páginas de manual.

ImportanteAsegúrese de volver a la parte superior de la página del manual entre cada una de estasbúsquedas; para ello, presione la tecla g.

1. Buscar exit

Escriba: /exit

Expresiones regulares, canalizaciones y redirección de entrada/salida (I/O)

RH135-6-es-2-20110131 293

2. Buscar una línea que comience con exit

Escriba: /^exit

3. Buscar password

Escriba: /password

4. Buscar password.

Escriba: /password\.

5. Busque cualquier cosa hasta (e incluido) pass

Escriba: /.*pass

Práctica Cuestionario

Crear comandos grepCree comandos grep para cumplir con los requisitos indicados a continuación en función delarchivo /etc/passwd.

1. Escriba todos los nombres de usuario que comiencen con la letra r.

grep '^r' /etc/passwd

2. Escriba todos los nombres de usuario que comiencen con la letra g.

grep '^g' /etc/passwd

3. Escriba todas las cuentas cuyos intérpretes de comandos (última columna) sean /sbin/nologin.

grep '/sbin/nologin$' /etc/passwd

4. Escriba todas las cuentas con UID o GID (tercera y cuarta columnas) 0.

grep ':0:' /etc/passwd

5. Escriba todas las cuentas con UID o GID en el rango de 10 a 19.

grep ':1[0123456789]:' /etc/passwd

Práctica Cuestionario

Canalizaciones y redirecciónCree comandos que cumplan con los requisitos indicados a continuación

1. Enumere todos los archivos en /usr/share/doc que finalicen con el número cuatro.

Apéndice A. Soluciones

294 RH135-6-es-2-20110131

ls /usr/share/doc | grep '4$'

2. Escriba todas las líneas en /etc/hosts que tengan un número.

grep '[0123456789]' /etc/hosts

3. Escriba la línea en /etc/hosts que tenga 127.0.0.1.

grep '127\.0\.0\.1' /etc/hosts

4. Ejecute el siguiente comando como student y redirija STDOUT a /tmp/output.txt ySTDERR a /tmp/error.txt.

find /etc -name 'host*'

find /etc -name 'host*' > /tmp/output.txt 2> /tmp/error.txt

5. Ejecute el siguiente comando como student y redirija STDOUT y STDERR al archivo /tmp/all.txt.

find /etc -name 'host*'

find /etc -name 'host*' > /tmp/all.txt 2>&1

6. Ordene el archivo /etc/passwd y envíelo a la impresora predeterminada.

cat /etc/passwd | sort | lpr

7. Escriba las líneas en /etc/passwd que tengan un número de tres dígitos entre los dospuntos (:).

grep ':[0123456789][0123456789][0123456789]:' /etc/passwd

Prueba

Prueba de criterios

Ejercicio

Expresiones regulares, canalizaciones y redirección de entrada/salida (I/O)

1. Inicie sesión en serverX como student.

2. Escriba todas las líneas en /etc/hosts que no comiencen con una marca "hash" (#).[SUGERENCIA: Busque Invertir en la página del manual grep(1)]. Redireccione los resultadosa /tmp/hosts.

[student@serverX ~]$ grep -v '^#' /etc/hosts > /tmp/hosts

Expresiones regulares, canalizaciones y redirección de entrada/salida (I/O)

RH135-6-es-2-20110131 295

3. Agregue los resultados de date y hostname al archivo /tmp/hosts.

[student@serverX ~]$ date >> /tmp/hosts[student@serverX ~]$ hostname >> /tmp/hosts

4. Edite /tmp/hosts con gedit o vim y cambie 127.0.0.1 a 127.0.0.2. Comente losresultados de date y hostname al agregar una marca "hash" (#) al comienzo de la línea.

El aspecto del archivo ahora será parecido a lo siguiente:

192.168.0.X+100 serverX.example.com serverX # Added by NetworkManager127.0.0.2 localhost.localdomain localhost::1 serverX.example.com serverX localhost6.localdomain6 localhost6#Wed Jan 26 13:46:19 EST 2011#serverX.example.com

5. Use la página del manual lpr(1), escriba las líneas que contengan la palabra file seguidade ninguna o más "s". Redirija los resultados al archivo /tmp/lpr.man.

[student@serverX ~]$ man lpr | grep 'files*' > /tmp/lpr.man

Apéndice A. Soluciones

296 RH135-6-es-2-20110131

Configuración de red y solución de problemasPráctica Cuestionario

Visualización y modificación de la configuración dered1. Complete la tabla a continuación con comandos, utilidades y nombres de archivo.

Categoría deconfiguración Ver configuración actual Cambiar configuración

Dirección IP y máscara desubred ip addr

NetworkManager o /etc/sysconfig/network-scripts/ifcfg-eth*

Enrutamiento/Puerta deenlace predeterminada ip route

NetworkManager, /etc/sysconfig/network-scripts/ifcfg-eth*o /etc/sysconfig/network

Nombre de host delsistema hostname

NetworkManager,hostname o /etc/sysconfig/network

Resolución de nombreshost se puede utilizarpara resolver nombres./etc/hosts y /etc/resolv.conf muestran laconfiguración actual.

NetworkManager, /etc/hosts o /etc/resolv.conf

Tabla A.1. Configuración de red desde la línea de comando

Expresiones regulares, canalizaciones y redirección de entrada/salida (I/O)

RH135-6-es-2-20110131 297

2. ¿Qué contiene un ifcfg-eth0 dinámico?

DEVICE=eth0

ONBOOT=yes

BOOTPROTO=yes

3. ¿Qué contiene un ifcfg-eth0 estático?

DEVICE=eth0ONBOOT=yesBOOTPROTO=staticIPADDR=192.168.0.X+100PREFIX=24GATEWAY=192.168.0.254DNS1=192.168.0.254

Práctica Ejercicio

Documentar la configuración de red

Antes de dividir la configuración de la red, documentemos la configuración actual en el sistemade serverX.

1. Inicie sesión en serverX como usuario root.

2. a. ¿Cuál es la dirección IP actual?

192.168.0.X+100

Se obtiene al ejecutar ip addr.

b. ¿Cuál es la máscara de subred CIDR actual?

/24

Se obtiene al ejecutar ip addr.

c. ¿Cuál es la puerta de enlace predeterminada actual?

192.168.0.254

Se obtiene al ejecutar ip route.

d. ¿Cuál es el nombre de host actual?

serverX.example.com

Apéndice A. Soluciones

298 RH135-6-es-2-20110131

Se obtiene al ejecutar hostname.

e. ¿Cuáles son los servidores DNS actuales?

192.168.0.254

Se obtienen al ejecutar cat /etc/resolv.conf

Prueba

Prueba de criterios

Ejercicio

Solución de problemas de configuración de red desde la línea decomando

Todas las siguientes acciones deben ejecutarse en su servidor virtual, serverX. Comenzará porejecutar un script que "dividirá" la configuración de la red. Tendrá diez minutos para solucionarcada uno de los tres problemas. Asegúrese de documentar lo que encuentre, ya que al finalrealizaremos una revisión.

1. Ejecute el primer script para generar un error de configuración en la red:

lab-break-net 1

2. Síntoma: un navegador web no puede acceder a la página web en http://instructor.remote.test.

3. Realice los tres pasos: PROBAR, VERIFICAR y REPARAR para identificar y solucionar elproblema.

4. Documente lo que encuentre.

SOLUCIÓN: El nombre del host instructor.remote.test no está siendo resuelto a una direcciónIP, dado que /etc/resolv.conf apunta al servidor DNS incorrecto. Corrección delproblema: modificar /etc/sysconfig/network-scripts/ifcfg-eth0 para obtenerDNS1=192.168.0.254.

5. Ejecute el segundo script para generar un error de configuración en la red:

lab-break-net 2

6. Síntoma: un navegador web no puede acceder a la página web en http://instructor.remote.test.

7. Realice los tres pasos: PROBAR, VERIFICAR y REPARAR para identificar y solucionar elproblema.

8. Documente lo que encuentre.

Expresiones regulares, canalizaciones y redirección de entrada/salida (I/O)

RH135-6-es-2-20110131 299

SOLUCIÓN: El host instructor.remote.test se encuentra en una red por separado y esinalcanzable. ip route muestra que la puerta de enlace predeterminada apunta a unenrutador incorrecto. Corrección del problema: modificar /etc/sysconfig/network-scripts/ifcfg-eth0 para obtener GATEWAY=192.168.0.254.

9. Ejecute el tercer script para generar un error de configuración en la red:

lab-break-net 3

10. Síntoma: Un navegador web no puede acceder a la página web en http://instructor.remote.test.

11. Realice los tres pasos: PROBAR, VERIFICAR y REPARAR para identificar y solucionar elproblema.

12. Documente lo que encuentre.

SOLUCIÓN: Ningún otro host es alcanzable, como muestra ip addr, la dirección IP de lainterfaz eth0 es incorrecta. Resuelva al modificar /etc/sysconfig/network-scripts/ifcfg-eth0 para obtener IPADDR=192.168.0.100+X.

Apéndice A. Soluciones

300 RH135-6-es-2-20110131

Administración de particiones simples y sistemasde archivos

Práctica Cuestionario

Agregar un nuevo sistema de archivosComplete los espacios en blanco con el comando que cumple con la tarea detallada.

1. Identificar un disco que tenga espacio libre: fdisk -cul

2. Crear una nueva partición en ese disco: fdisk -cu /dev/device

3. Actualizar la tabla de particiones del kernel: reboot

4. Crear un sistema de archivos en la partición mkfs -t ext4 /dev/device

5. Determinar el UUID del sistema de archivos blkid /dev/device

6. Crear un punto de montaje: mkdir /directory

7. Agregar una entrada al archivo de tabla del sistema de archivos Agregar una entrada a /etc/fstab como la siguiente: UUID=cb79b7d0-dc14-4402-8465-6857346c9a53 /directoryext4 defaults 1 2

8. Montar el sistema de archivos mount -a

Práctica Ejercicio para ordenar

Crear un sistema de archivos encriptado

Para cada uno de los nombres de archivo o directorio indicados a continuación, escriba elnúmero de la definición correspondiente indicado en la lista debajo.

1 Crear una nueva partición4 Crear un sistema de archivos ext42 Formatear la nueva partición para la encriptación6 Montar el sistema de archivos en el dispositivo desbloqueado8 Crear una entrada en /etc/fstab5 Crear un directorio para usarlo como punto de montaje3 Desbloquear la partición encriptada7 Crear una entrada en /etc/crypttab9 Permitir que LUKS reconozca el archivo de contraseña

1. fdisk

2. cryptsetup luksFormat /dev/vdaN

3. cryptsetup luksOpen /dev/vdaNsecret

4. mkfs -t ext4 /dev/mapper/secret

Expresiones regulares, canalizaciones y redirección de entrada/salida (I/O)

RH135-6-es-2-20110131 301

5. mkdir /secret

6. mount /dev/mapper/secret /secret

7. secret /dev/vdaN/password/file

8. /dev/mapper/secret /secret ext4 defaults 1 2

9. cryptsetup luksAddKey /dev/vdaN/password/file

Práctica Ejercicio

Crear y usar una nueva partición de intercambio

Realice los siguientes pasos en serverX, a menos que se le indique de otro modo.

1. Inicie fdisk y cree una nueva partición de 256 MB. Cambie el tipo de partición a swap.

ImportantePara tener espacio para crear particiones adicionales en el futuro, si es necesario,asegúrese de crear una partición extendida previamente.

[root@serverX ~]# fdisk -cu /dev/vdaCommand (m for help): nCommand action e extended p primary partition (1-4)pPartition number (1-4): 3First sector (9914368-12582911, default 9914368): EnterUsing default value 9914368Last sector, +sectors or +size{K,M,G} (9914368-12582911, default 12582911): +256M

Command (m for help): tPartition number (1-4): 3Hex code (type L to list codes): 82Changed system type of partition 3 to 82 (Linux swap / Solaris)

Command (m for help): wThe partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.The kernel still uses the old table. The new table will be used atthe next reboot or after you run partprobe(8) or kpartx(8)Syncing disks.[root@serverX ~]# reboot

2. Prepare la nueva partición para usarla como intercambio:

Apéndice A. Soluciones

302 RH135-6-es-2-20110131

[root@serverX ~]# mkswap /dev/vda3

3. Determine el UUID.

[root@serverX ~]# blkid /dev/vda3/dev/vda3: UUID="36fbc448-b969-4dcb-b940-acd084eae6bb" TYPE="swap"

4. Agregue la nueva partición a /etc/fstab.

Agregue una línea como la siguiente a /etc/fstab, con el valor UUID de la salida delcomando blkid de arriba:

UUID="36fbc448-b969-4dcb-b940-acd084eae6bb" swap swap defaults 0 0

5. Determine la cantidad actual de intercambio.

[root@serverX ~]# swapon -sFilename Type Size Used Priority/dev/dm-0 partition 557048 0 -1

6. Active el nuevo intercambio.

[root@serverX ~]# swapon -aswapon: /dev/mapper/vgsrv-swap: swapon failed: Device or resource busy

7. Verifique el intercambio recientemente activado.

[root@serverX ~]# swapon -sFilename Type Size Used Priority/dev/dm-0 partition 557048 0 -1/dev/vda3 partition 262136 0 -2

Prueba

Prueba de criterios

Caso de estudio

Administración de particiones simples y sistemas de archivosAntes de comenzar...Ejecute lab-setup-storage en desktopX para preparar serverX para el ejercicio.

Realice los siguientes pasos en serverX, a menos que se le indique de otro modo.

Su departamento desea usar una parte del espacio de almacenamiento sin asignar en losservidores. Cree adiciones en el sistema según la siguiente lista:

Expresiones regulares, canalizaciones y redirección de entrada/salida (I/O)

RH135-6-es-2-20110131 303

• Cree una nueva partición y un sistema de archivos ext4 con un tamaño de 400 MB. El sistemade archivos se debe montar de manera persistente bajo /data.

• Agregue de manera persistente una partición de intercambio que tenga un tamaño de 200 MB.

• Cree un dispositivo encriptado con un sistema de archivos ext4 que tenga un tamaño de 256MB y use la contraseña testing123. El sistema de archivos debe solicitar la contraseña en elarranque y montar el sistema de archivos en /test.

Cuando esté listo para revisar su trabajo, ejecute lab-grade-storage en serverX.

ImportantePara tener espacio para crear particiones adicionales en el futuro, si es necesario, asegúresede crear una partición extendida previamente.

1. [root@desktopX ~]# lab-setup-storage

2. Use fdisk para agregar 3 particiones, para el sistema de archivos estándar, la partición deintercambio y el sistema de archivos encriptado, respectivamente.

a. Inicie una sesión interactiva con fdisk, y escriba la tabla existente.

[root@serverX ~]# fdisk -cu /dev/vda

Command (m for help): p

Disk /dev/vda: 21.5 GB, 21474836480 bytes...

Device Boot Start End Blocks Id System/dev/vda1 * 2048 526335 262144 83 Linux/dev/vda2 526336 9914367 4694016 8e Linux LVM

b. Para evitar problemas posteriores ocasionados por un número limitado de particionesprincipales, cree una partición extendida que abarque lo que queda del disco.

Command (m for help): nCommand action e extended p primary partition (1-4)ePartition number (1-4): 3First sector (9914368-41943039, default 9914368): EnterUsing default value 9914368Last sector, +sectors or +size{K,M,G} (9914368-41943039, default 41943039): EnterUsing default value 41943039Command (m for help): p

Disk /dev/vda: 21.5 GB, 21474836480 bytes...

Device Boot Start End Blocks Id System

Apéndice A. Soluciones

304 RH135-6-es-2-20110131

/dev/vda1 * 2048 526335 262144 83 Linux/dev/vda2 526336 9914367 4694016 8e Linux LVM/dev/vda3 9914368 41943039 16014336 5 Extended

c. Agregue una partición de 400 MB para el sistema de archivos ext4.

Command (m for help): nCommand action l logical (5 or over) p primary partition (1-4)lFirst sector (9916416-41943039, default 9916416): EnterUsing default value 9916416Last sector, +sectors or +size{K,M,G} (9916416-41943039, default 41943039): +400M

d. Agregue una partición de 200 MB, y ajuste la etiqueta de manera adecuada para unapartición de intercambio.

Command (m for help): nCommand action l logical (5 or over) p primary partition (1-4)lFirst sector (10737664-41943039, default 10737664): EnterUsing default value 10737664Last sector, +sectors or +size{K,M,G} (10737664-41943039, default 41943039): +200MCommand (m for help): tPartition number (1-6): 6Hex code (type L to list codes): 82Changed system type of partition 6 to 82 (Linux swap / Solaris)

e. Agregue una partición de 256 MB para la partición ext4 encriptada.

Command (m for help): nCommand action l logical (5 or over) p primary partition (1-4)lFirst sector (11149312-41943039, default 11149312): EnterUsing default value 11149312Last sector, +sectors or +size{K,M,G} (11149312-41943039, default 41943039): +256M

f. Observe su trabajo, y salga al implementar los cambios.

Command (m for help): p

Disk /dev/vda: 21.5 GB, 21474836480 bytes...

Device Boot Start End Blocks Id System/dev/vda1 * 2048 526335 262144 83 Linux/dev/vda2 526336 9914367 4694016 8e Linux LVM/dev/vda3 9914368 41943039 16014336 5 Extended/dev/vda5 9916416 10735615 409600 83 Linux/dev/vda6 10737664 11147263 204800 82 Linux swap / Solaris/dev/vda7 11149312 11673599 262144 83 Linux

Expresiones regulares, canalizaciones y redirección de entrada/salida (I/O)

RH135-6-es-2-20110131 305

Command (m for help): wThe partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.The kernel still uses the old table. The new table will be used atthe next reboot or after you run partprobe(8) or kpartx(8)Syncing disks.

g. Observe la advertencia, confirme que el kernel aún no tiene conocimiento de las nuevasparticiones creadas del disco.

[root@serverX ~]# cat /proc/partitionsmajor minor #blocks name

8 0 20971520 vda 8 1 262144 vda1 8 2 4694016 vda2 253 0 557056 dm-0 253 1 3473408 dm-1 253 2 262144 dm-2

h. Vuelva a arrancar serverX.

i. Una vez que haya vuelto a arrancar serverX, confirme que el kernel ahora tengaconocimiento de las nuevas particiones.

[root@serverX ~]# cat /proc/partitionsmajor minor #blocks name

8 0 20971520 vda 8 1 262144 vda1 8 2 4694016 vda2 8 3 1 vda3 8 5 409600 vda5 8 6 204800 vda6 8 7 262144 vda7 253 0 557056 dm-0 253 1 3473408 dm-1 253 2 262144 dm-2

3. Formatee la partición ext4, decida un punto de montaje (usaremos /data) y configure elsistema para montar automáticamente la partición al momento del arranque.

a. Suspenda el sistema de archivos ext4 en la partición de 400 MB, y determine el UUIDresultante.

[root@serverX ~]# mkfs.ext4 /dev/vda5mke2fs 1.41.12 (17-May-2010)Filesystem label=...[root@serverX ~]# blkid /dev/vda5/dev/vda5: UUID="b06c6e49-c056-4af0-a6e1-ee79602f5bf8" TYPE="ext4"

Apéndice A. Soluciones

306 RH135-6-es-2-20110131

b. Agregue una entrada (línea) a /etc/fstab, que asocia el sistema de archivos(identificado por UUID) con el punto de montaje indicado.

UUID=b06c6e49-c056-4af0-a6e1-ee79602f5bf8 /data ext4 defaults 1 2

c. Cree el punto de montaje (directorio), y use el comando mount para montar todoslos puntos de montaje definidos (y así, confirmar que la entrada /etc/fstabrecientemente creada es correcta).

[root@serverX ~]# mkdir /data[root@serverX ~]# mount -a

d. Use el comando df para confirmar que el sistema de archivos creado recientementeesté montado correctamente.

[root@serverX ~]# df -hFilesystem Size Used Avail Use% Mounted on/dev/mapper/vgsrv-root 3.3G 2.1G 1.1G 67% /tmpfs 246M 88K 246M 1% /dev/shm/dev/vda1 248M 30M 206M 13% /boot/dev/mapper/vgsrv-home 248M 11M 226M 5% /home/dev/vda5 388M 11M 358M 3% /data

4. Inicialice la partición de intercambio, y prográmela para que se active en el momento dearranque.

a. Inicialice la partición de intercambio.

[root@serverX ~]# mkswap /dev/vda6Setting up swapspace version 1, size = 204796 KiBno label, UUID=c3f56fc4-cd69-48fe-bd87-fef41a1db3ae

b. Agregue una entrada (línea) a /etc/fstab, que identifica la partición de intercambiopor UUID.

UUID=c3f56fc4-cd69-48fe-bd87-fef41a1db3ae swap swap defaults 0 0

c. Active la partición, y observe las particiones de intercambio antes y después.

[root@serverX ~]# cat /proc/swapsFilename Type Size Used Priority/dev/dm-0 partition 557048 0 -1[root@serverX ~]# swapon -aswapon: /dev/mapper/vgsrv-swap: swapon failed: Device or resource busy[root@serverX ~]# cat /proc/swapsFilename Type Size Used Priority/dev/dm-0 partition 557048 0 -1/dev/vda6 partition 204792 0 -2

Expresiones regulares, canalizaciones y redirección de entrada/salida (I/O)

RH135-6-es-2-20110131 307

(Observe que el mensaje "busy" [ocupado] se refiere a la partición de intercambio yaactiva).

5. Cree y configure la partición encriptada.

a. Coloque datos aleatorios en la partición. (En el laboratorio, este paso puede llevarmucho tiempo, y se puede omitir de manera segura).

[root@serverX ~]# cat /dev/urandom > /dev/vda7 ( ... significant delay ... )cat: write error: No space left on device

b. Inicialice el nivel de encriptación de LUKS.

[root@serverX ~]# cryptsetup luksFormat /dev/vda7

WARNING!========This will overwrite data on /dev/vda7 irrevocably.

Are you sure? (Type uppercase yes): YESEnter LUKS passphrase: testing123Verify passphrase: testing123

c. Abra el dispositivo LUKS, y elija un nombre arbitrario para acceder al nivel de texto sinformato (usaremos test_plaintext)

[root@serverX ~]# cryptsetup luksOpen /dev/vda7 test_plaintextEnter passphrase for /dev/vda7: testing123

d. Configure el archivo /etc/crypttab para que abra automáticamente el dispositivo enel momento de arranque, y solicite al usuario una contraseña.

[root@serverX ~]# echo "test_plaintext /dev/vda7" >> /etc/crypttab

e. Cree un sistema de archivos ext4.

[root@serverX ~]# mkfs.ext4 /dev/mapper/test_plaintextmke2fs 1.41.12 (17-May-2010)...[root@serverX ~]# blkid /dev/mapper/test_plaintext/dev/mapper/test_plaintext: UUID="5bf2d39e-cb79-4f4a-a276-2a306ad506c1" TYPE="ext4"

f. Establezca un punto de montaje (usaremos /test) y agregaremos una línea similar a losiguiente a /etc/fstab.

UUID=5bf2d39e-cb79-4f4a-a276-2a306ad506c1 /test ext4 defaults 1 2

g. Cree un punto de montaje, monte todas las particiones y confirme que el sistema dearchivos encriptado haya sido montado.

Apéndice A. Soluciones

308 RH135-6-es-2-20110131

[root@serverX ~]# mkdir /test[root@serverX ~]# mount -a[root@serverX ~]# df -hFilesystem Size Used Avail Use% Mounted on.../dev/mapper/test_plaintext 246M 6.1M 228M 3% /test...

6. [root@serverX ~]# lab-grade-storage

Administración de almacenamiento flexible con el administrador de volúmenes lógicos

RH135-6-es-2-20110131 309

Administración de almacenamiento flexible con eladministrador de volúmenes lógicos

Práctica Cuestionario

Componentes de LVM1. Complete el siguiente cuadro con los nombres de los componentes.

4.

3.

2.

1.

Unused Space

Apéndice A. Soluciones

310 RH135-6-es-2-20110131

4.

3.

2.

1.

Create volume group (VG)

Create logical volume (LV)

Create physical volume (PV)

Partition physical storage

Unused Space

2. ¿Cuáles son las partes más pequeñas (fragmentos o bloques) del volumen físico?

Las extensiones físicas

3. ¿Cuál es el tamaño más pequeño que podría tener un volumen lógico?

El tamaño de una única extensión física

4. ¿Qué hace referencia a las extensiones físicas de un volumen lógico?

Extensiones lógicas

Administración de almacenamiento flexible con el administrador de volúmenes lógicos

RH135-6-es-2-20110131 311

Práctica Ejercicio

Implementar el LVM y crear un volumen lógicoAntes de comenzar...Asegúrese de ejecutar lab-setup-lvm desde su sistema de desktopX, lo cual preparará alsistema de serverX para el ejercicio de práctica.

Todos estos pasos se llevarán a cabo en serverX.

1. Cree una nueva partición de 512 MB y prepárela para su uso con el LVM como volumen físico.

ImportantePara tener espacio para crear particiones adicionales en el futuro, si es necesario,asegúrese de crear una partición extendida previamente.

[root@serverX ~]# fdisk -cu /dev/vdaCommand (m for help): nCommand action e extended p primary partition (1-4)pPartition number (1-4): 3First sector (9914368-12582911, default 9914368): Enter Using default value 9914368Last sector, +sectors or +size{K,M,G} (9914368-12582911, default 12582911): +512M

Command (m for help): tPartition number (1-4): 3Hex code (type L to list codes): 8eChanged system type of partition 3 to 8e (Linux LVM)

Command (m for help): wThe partition table has been altered!... Output Omitted ...[root@serverX ~]# reboot[root@serverX ~]# pvcreate /dev/vda3 Physical volume "/dev/vda3" successfully created

2. Cree un grupo de volúmenes con el nombre shazam mediante el uso del volumen físicocreado en el paso anterior.

[root@serverX ~]# vgcreate shazam /dev/vda3 Volume group "shazam" successfully created

3. Cree y formatee con ext4 un nuevo volumen lógico de 256 MB con el nombre /dev/shazam/storage.

Apéndice A. Soluciones

312 RH135-6-es-2-20110131

[root@serverX ~]# lvcreate -n storage -L 256M shazam Logical volume "storage" created[root@serverX ~]# mkfs -t ext4 /dev/shazam/storagemke2fs 1.41.12 (17-May-2010)... Output Omitted ...

4. Modifique el sistema de modo que /dev/shazam/storage se monte durante el proceso dearranque como /storage.

[root@serverX ~]# mkdir /storage

Agregue la siguiente línea en la parte inferior de /etc/fstab en serverX:

/dev/shazam/storage /storage ext4 defaults 1 2

Pasos básicos para la creación de un volumen lógico1. Verificar el espacio disponible en el grupo de volúmenes

2. Extender el volumen lógico

3. Extender el sistema de archivos

Práctica Ejercicio

Extender un volumen lógico

Todos estos pasos se llevarán a cabo en serverX.

1. Determine la cantidad de espacio libre en el grupo de volúmenes shazam.

[root@serverX ~]# vgdisplay shazam --- Volume group --- VG Name shazam System ID Format lvm2... Output Omitted... VG Size 508.00 MiB PE Size 4.00 MiB Total PE 127 Alloc PE / Size 64 / 256.00 MiB Free PE / Size 63 / 252.00 MiB VG UUID accvy0-3bhi-9jK8-eg7u-44AL-ARRg-r7Uo30

2. Extienda el volumen lógico /dev/shazam/storage con la mitad de las extensionesdisponibles en el grupo de volúmenes usando las herramientas de la línea de comando.

[root@serverX ~]# lvextend -l +32 /dev/shazam/storage Extending logical volume storage to 384.00 MiB Logical volume storage successfully resized

Administración de almacenamiento flexible con el administrador de volúmenes lógicos

RH135-6-es-2-20110131 313

3. Extienda el sistema de archivos montado en /storage con las herramientas de la línea decomando.

[root@serverX ~]# resize2fs /dev/shazam/storageresize2fs 1.41.12 (17-May-2010)Filesystem at /dev/shazam/storage is mounted on /storage; on-line resizing requiredold desc_blocks = 1, new_desc_blocks = 2Performing an on-line resize of /dev/shazam/storage to 393216 (1k) blocks.The filesystem on /dev/shazam/storage is now 393216 blocks long.

Práctica Ejercicio

Extender un grupo de volúmenes

Todos estos pasos se llevarán a cabo en serverX.

1. Cree una nueva partición de 512 MB y prepárela para su uso con el LVM como volumen físico.

ImportantePara tener espacio para crear particiones adicionales en el futuro, si es necesario,asegúrese de crear una partición extendida previamente.

[root@serverX ~]# fdisk -cu /dev/vda

Command (m for help): nCommand action e extended p primary partition (1-4)eSelected partition 4First sector (10962944-12582911, default 10962944): Enter Using default value 10962944Last sector, +sectors or +size{K,M,G} (10962944-12582911, default 12582911): Enter Using default value 12582911

Command (m for help): nFirst sector (10964992-12582911, default 10964992): Enter Using default value 10964992Last sector, +sectors or +size{K,M,G} (10964992-12582911, default 12582911): +512M

Command (m for help): tPartition number (1-5): 5Hex code (type L to list codes): 8eChanged system type of partition 5 to 8e (Linux LVM)

Command (m for help): wThe partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.The kernel still uses the old table. The new table will be used at

Apéndice A. Soluciones

314 RH135-6-es-2-20110131

the next reboot or after you run partprobe(8) or kpartx(8)Syncing disks.[root@serverX ~]# reboot[root@serverX ~]# pvcreate /dev/vda5 Physical volume "/dev/vda5" successfully created

2. Extienda el grupo de volúmenes shazam al agregar el volumen físico creado en el pasoanterior.

Use vgextend para extender el grupo de volúmenes.

[root@serverX ~]# vgextend shazam /dev/vda5 Volume group "shazam" successfully extended

Determinar el tamaño de instantánea1. Frecuencia de cambio prevista

2. Tiempo de instantánea requerido

Práctica Ejercicio

Creación de una instantánea de LVM

Compare el contenido del volumen lógico existente, /dev/shazam/storage, con una nuevainstantánea de volumen, /dev/shazam/storagesnap, mientras realiza cambios en el volumenoriginal.

Todos estos pasos se llevarán a cabo en serverX.

1. Copie el archivo /usr/share/dict/linux.words en /storage para tener algunos datospara la comparación.

[root@serverX ~]# cp /usr/share/dict/linux.words /storage

2. Cree una nueva instantánea de volumen lógico de 20 MB de /dev/shazam/storage con elnombre storagesnap.

[root@serverX ~]# lvcreate -n storagesnap -L20M -s /dev/shazam/storage Logical volume "storagesnap" created

3. Monte /dev/shazam/storagesnap manualmente, con acceso de sólo lectura, en /storagesnap.

[root@serverX ~]# mkdir /storagesnap[root@serverX ~]# mount -o ro /dev/shazam/storagesnap /storagesnap

4. Enumere el contenido de /storagesnap y tenga en cuenta que es igual a /storage.

[root@serverX ~]# ls /storagesnap /storage

Prueba de criterios

RH135-6-es-2-20110131 315

/storage:linux.words lost+found

/storagesnap:linux.words lost+found

5. Elimine el archivo /storage/linux.words y tenga en cuenta que aún existe en /storagesnap.

[root@serverX ~]# rm /storage/linux.wordsrm: remove regular file `/storage/linux.words'? y[root@serverX ~]# ls /storagesnap /storage/storage:lost+found

/storagesnap:linux.words lost+found

6. Limpie: desmonte /storagesnap, quite el directorio y elimine el volumen lógicostoragesnap.

[root@serverX ~]# umount /storagesnap[root@serverX ~]# rmdir /storagesnap[root@serverX ~]# lvremove /dev/shazam/storagesnapDo you really want to remove active logical volume storagesnap? [y/n]: y Logical volume "storagesnap" successfully removed

Prueba

Prueba de criterios

Caso de estudio

Caso de estudio de LVMAntes de comenzar...Ejecute lab-setup-lvm en desktopX para preparar serverX para el ejercicio.

Allison necesita almacenar datos para su negocio. Su base de datos de clientes actual es de 256MB. La información en la base de datos cambia alrededor de 10 MB por hora en un día normal. Elsoftware de copia de seguridad tarda 10 minutos para realizar una ejecución completa.

Cree un nuevo grupo de volúmenes con el nombre allison con suficiente espacio para unvolumen de 512 MB y una instantánea de ese volumen para el software de copia de seguridad.

Una vez creado el grupo de volúmenes, cree dentro de este un volumen lógico de 512 MB parala base de datos de clientes de Allison denominada custdb. También cree una instantánea devolumen de la base de datos de clientes de Allison con el nombre custdbsnap para su softwarede copia de seguridad.

Cuando esté listo para revisar su trabajo, ejecute lab-grade-lvm en serverX.

1. [root@serverX ~]# lab-setup-lvm

Apéndice A. Soluciones

316 RH135-6-es-2-20110131

2. Cree una nueva partición de 1 GB con fdisk, y vuelva a arrancar la máquina para que seimplementen los cambios.

[root@serverX ~]# fdisk -cu /dev/vda

Command (m for help): p

Disk /dev/vda: 21.5 GB, 21474836480 bytes...

Device Boot Start End Blocks Id System/dev/vda1 * 2048 526335 262144 83 Linux/dev/vda2 526336 9914367 4694016 8e Linux LVM

Command (m for help): nCommand action e extended p primary partition (1-4)pPartition number (1-4): 3First sector (9914368-41943039, default 9914368): Using default value 9914368Last sector, +sectors or +size{K,M,G} (9914368-41943039, default 41943039): +1G

Command (m for help): w...

The kernel still uses the old table. The new table will be used atthe next reboot or after you run partprobe(8) or kpartx(8)Syncing disks.

Vuelva a arrancar serverX.

3. Prepare la partición recientemente creada para usar con LVM.

[root@serverX ~]# pvcreate /dev/vda3 Physical volume "/dev/vda3" successfully created

4. Cree un nuevo grupo de volúmenes con el nombre allison usando la nueva partición.

[root@serverX ~]# vgcreate allison /dev/vda3 Volume group "allison" successfully created

5. Cree un volumen lógico de 512 MB para la base de datos de clientes de Allison.

[root@serverX ~]# lvcreate -n custdb -L512M allison Logical volume "custdb" created

6. Cree una instantánea de volumen de 10 MB de la base de datos de clientes de Allison.

[root@serverX ~]# lvcreate -n custdbsnap -L10M -s /dev/allison/custdb Rounding up size to full physical extent 12.00 MiB Logical volume "custdbsnap" created

Prueba de criterios

RH135-6-es-2-20110131 317

7. Cuando esté listo para revisar su trabajo, ejecute lab-grade-lvm en serverX.

[root@serverX ~]#lab-grade-lvm

Apéndice A. Soluciones

318 RH135-6-es-2-20110131

Acceso a los servicios para intercambio dearchivos de red

Práctica Ejercicio

Acceso a un servidor de archivos de NFS

Estos pasos deben ejecutarse en serverX.

Después de verificar la disponibilidad de un recurso compartido de NFS, cree el punto de montajenecesario y monte el recurso compartido temporalmente.

1. Verifique que /var/ftp/pub sea un recurso compartido de NFS disponible en el servidorinstructor.example.com.

showmount -e instructor.example.com

2. Cree el directorio /server para usar como punto de montaje.

mkdir /server

3. Cree y ejecute un comando para montar el recurso compartido de NFS en el punto demontaje.

mount instructor.example.com:/var/ftp/pub /server

4. Cree una lista del contenido del punto de montaje para verificar que sea el contenido delrecurso compartido de NFS de instructor.example.com.

ls /server

5. Limpie mediante el desmontaje del recurso compartido.

umount /server

Práctica Ejercicio

Automontar recurso compartido de NFS conasignaciones indirectasEstos pasos deben ejecutarse en serverX.

Ahora configurará el programa de automontaje para montar automáticamente una exportaciónde NFS en un directorio especificado a pedido.

• El servidor NFS es instructor.example.com.

• La exportación de NFS en el servidor es /var/ftp/pub.

• El punto de montaje automático en su estación debe ser /server/public.

• Use una asignación indirecta (no /net) para implementar esto.

Prueba de criterios

RH135-6-es-2-20110131 319

• Confirme que el automontaje funcione al cambiar el directorio al punto de montaje y acceder alos archivos en el recurso compartido.

Realice los siguientes pasos:

1. Cree/modifique los archivos de configuración del servicio autofs.

Agregue la siguiente línea en /etc/auto.master:

/server /etc/auto.server

Cree /etc/auto.server con el siguiente contenido:

public -ro instructor.example.com:/var/ftp/pub

2. Vuelva a cargar el programa de automontaje.

service autofs reload

3. Acceda al recurso compartido.

ls /server/public

Prueba

Prueba de criterios

Caso de estudio

Automontaje de recursos compartidos de NFS

Estos pasos deben ejecutarse en serverX.

• Su compañía ha incorporado un nuevo cliente, Organization of Secret Hidden Undertakings(OSHU).

• La compañía tiene un nuevo servidor NFS con recursos compartidos para almacenar archivosrelacionados con clientes "especiales": instructor.example.com.

• El recurso compartido para este cliente es: /var/nfs/oshu.

• Configure su estación de trabajo de modo que autofs monte automáticamente ese recursocompartido como: /special/oshu.

• Cree una lista del contenido de /special/oshu para asegurarse de que pueda ver lossiguientes archivos:

supertopsecret.txt

ultrashh.txt

1. Agregue la siguiente línea en /etc/auto.master:

Apéndice A. Soluciones

320 RH135-6-es-2-20110131

/special /etc/auto.special

2. Cree /etc/auto.special con el siguiente contenido:

oshu -ro instructor.example.com:/var/nfs/oshu

3. Vuelva a cargar el programa de automontaje:

[root@serverX ~]# service autofs reload

Administración de las cuentas de usuario

RH135-6-es-2-20110131 321

Administración de las cuentas de usuarioPráctica Ejercicio

Crear usuarios mediante el uso de las herramientas dela línea de comando

Realice los siguientes pasos en serverX, a menos que se le indique de otro modo.

Cree una cantidad de usuarios en el sistema de serverX y establezca una contraseña inicial(indique en los espacios en blanco a continuación).

1. Inicie sesión en serverX como usuario root.

2. Agregue el usuario juliet.

[root@serverX ~]# useradd juliet

3. Confirme que juliet se haya agregado mediante el uso del comando id.

[root@serverX ~]# id julietuid=503(juliet) gid=503(juliet) groups=503(juliet)

4. Confirme que juliet se ha agregado al examinar el archivo /etc/passwd.

[root@serverX ~]# grep 'juliet' /etc/passwdjuliet:x:503:503::/home/juliet:/bin/bash

5. Use el comando passwd para inicializar la contraseña de juliet y escriba la contraseña aquí: .

[root@serverX ~]# passwd julietChanging password for user juliet.New password: julietBAD PASSWORD: it is based on a dictionary wordBAD PASSWORD: is too simpleRetype new password: julietpasswd: all authentication tokens updated successfully.

6. Continúe agregando el resto de los usuarios de la lista abajo. Recuerde establecer unacontraseña inicial y escribirla al lado de cada nombre de usuario:

• faraday

• jack

• kate

• james

• walt

• ben

Apéndice A. Soluciones

322 RH135-6-es-2-20110131

• claire

• hugo

• elvis

Puede ejecutar los comandos useradd y passwd con el argumento de nombre de usuarioindividual.

Aunque no se aborde en este clase, también podría "establecer un script" para la operación;quizás algo así:

for NAME in faraday jack kate james walt ben claire hugo elvisdo useradd ${NAME} echo "password" | passwd --stdin ${NAME}done

Práctica Cuestionario

Mantenimiento de cuentas1. ¿Qué comando bloquearía la cuenta de elvis?

usermod -L elvis

2. ¿Qué comando la desbloquearía?

usermod -U elvis

3. ¿Qué comando haría que la cuenta de elvis caducara el 15 de marzo de 2012?

chage -E 2012-03-15 elvis

Prueba

Prueba de criterios

Ejercicio

Administración de políticas de vigencia de contraseñas

El instructor los dividirá en grupos pequeños. En cada grupo, debatan qué políticas de vigenciade contraseñas serían apropiadas para los profesores (que usarán la máquina durante un tiempoprolongado), los estudiantes de posgrado (que usarán la máquina durante unos pocos años) y lospracticantes de verano (que sólo usarán la máquina durante el verano).

• Profesores: faraday, juliet

• Estudiantes de posgrado: jack, kate, james

• Practicantes de verano: walt, ben, claire, hugo

Asigne una política de contraseñas a cada grupo de usuarios en serverX.

Administración de las cuentas de usuario

RH135-6-es-2-20110131 323

1. Determine una política de vigencia de contraseñas adecuada para cada grupo de usuarios(profesores, estudiantes de posgrado y practicantes), que incluya:

• Fecha de caducidad de la cuenta (si corresponde).

• El tiempo antes de que se deban cambiar las contraseñas.

• El límite de tiempo a partir del cual si no se cambia la contraseña, la cuenta quedaráinactiva.

2. Una vez determinado, use chage para implementar la política para los usuarios agregadosen la sección anterior, según su función.

chage -E 2010-08-31 -M 30 -I 7 username

3. Además, exija a los usuarios que cambien la contraseña al iniciar sesión por primera vez.

chage -d 0 username

Apéndice A. Soluciones

324 RH135-6-es-2-20110131

Cuentas de usuario de red con LDAP

Práctica Cuestionario

Configuración de cliente LDAP1. ¿Cuáles son los siete datos que generalmente proveen los servicios de información de

cuenta de usuario?

username:password:UID:GID:GECOS:/home/dir:shell

2. ¿Qué "otro" tipo de información puede proveer un servicio de directorios de red?

Método de autenticación

3. ¿Cuáles son los tres datos que deben configurarse en una máquina cliente para obtenerinformación de usuario de un servicio de directorios LDAP?

Nombre de host completo del servidor, DN de base y certificado CA.

4. ¿Qué función ejecuta el comando getent passwd ldapuser1? ¿Por qué es útil?

El comando getent passwd ldapuser1 imprimirá la información de la cuentapara el usuario ldapuser1. Es útil buscar información sobre las cuentas de usuarios,como directorios hogar, intérprete de comandos, nombres, etc.

Práctica Caso de estudio

Automontaje de directorios NFS

Estos pasos deben ejecutarse en serverX.

Actualmente, su empresa toma varios clientes nuevos:

1. Organization of Secret Hidden Undertakings (OSHU)

2. Race Along the Lake Investments, Inc. (RALII)

Su empresa tiene un nuevo servidor NFS para almacenar archivos relacionados con esos clientes"especiales" denominados instructor.example.com, con dos recursos compartidos: /var/nfs/oshu y /var/nfs/ralii. La expectativa es que se agregarán más recursos compartidos amedida que se incorporen nuevos clientes.

Las estaciones de trabajo deben usar autofs para montar automáticamente estos recursoscompartidos en /special/oshu y /special/ralii, respectivamente, con permisos de sólolectura.

Dada la perspectiva de que nuevos clientes se incorporarán en breve, implemente eso medianteel uso de metacaracteres y comodines autofs.

1. Modifique la configuración del programa de automontaje en serverX de modo que en elcaso de acceso a cualquier directorio en /special, el programa de automontaje montarála exportación de NFS instructor.example.com:/var/nfs/dirname allí, si esaexportación existe. En este ejemplo, "dirname" hace referencia a cualquier nombre dedirectorio posible:

Prueba de criterios

RH135-6-es-2-20110131 325

# cat /etc/auto.master/special /etc/auto.special# cat /etc/auto.special* -ro instructor.example.com:/var/nfs/&

2. Vuelva a cargar el servicio con service autofs reload.

3. Pruebe accediendo de forma alternativa al contenido de /special/oshu y /special/ralii.

Prueba

Prueba de criterios

Caso de estudio

Obtener información de usuarios de red desde un servicio dedirectorio LDAP

Ahora configurará serverX para obtener información acerca de los usuarios de red desde unservidor de directorio LDAP disponible para todas las máquinas en la clase.

Esta es la información que se le proporcionó acerca del servidor LDAP:

• Nombre de host: instructor.example.com

• DN de la base de búsqueda: dc=example,dc=com

• Certificado CA: http://instructor.example.com/pub/EXAMPLE-CA-CERT 1

Luego configurará serverX para montar automáticamente los directorios hogar de los usuariosde red basada en LDAP cuando inicien sesión.

Esta es la información que se le proporcionó acerca del servidor de almacenamiento NFS quecontiene los directorios hogar:

• Nombre de host: instructor.example.com

• Directorio exportado: /home/guests/

1. Inicie sesión en serverX como usuario root. Si usa ssh, incluya la opción -X para reenviarinterfaces gráficas a su estación de trabajo.

2. Use system-config-authentication para configurar serverX para obtener informaciónde usuarios de red desde el servidor LDAP de la clase.

1. Para "User Account Database", elija LDAP.

a. Para "LDAP Search Base DN:", ingrese dc=example,dc=com.

b. Para el servidor LDAP:, ingrese instructor.example.com

Apéndice A. Soluciones

326 RH135-6-es-2-20110131

c. Seleccione la casilla de verificación "Use TLS to encrypt connects".

d. Elija "Download CA Certificate...", e ingrese http://instructor.example.com/pub/example-ca.crt.

2. Para "Authentication Method", elija LDAP.

3. Elija Apply.

3. Use el comando id para confirmar que el usuario ldapuserX (reemplace X por el númerode su estación) está definido en el sistema.

[root@server1 ~]# id ldapuser1uid=1701(ldapuser1) gid=1701(ldapuser1) groups=1701(ldapuser1)

4. Use el comando getent para buscar la información de usuario de ldapuser1.

[root@server1 ~]# getent passwd ldapuser1ldapuser1:*:1701:1701:LDAP Test User 1:/home/guests/ldapuser1:/bin/bash

5. Inicie sesión en serverX como ldapuserX o cualquiera de los otros usuarios de red, conla contraseña "password". (No se preocupe si obtiene un mensaje de error al iniciar sesiónacerca de un directorio hogar no existente; está previsto).

[student@desktop1 ~]# ssh ldapuser1@server1ldapuser1@server1's password: passwordCould not chdir to home directory /home/guests/ldapuser1: No such file or directory-bash-4.1$

6. Modifique la configuración del programa de automontaje en serverX de modoque si se accede a algún directorio ldapuserX en /home/guests, el programade automontaje intentará montar el directorio exportado NFS equivalente desdeinstructor.example.com:/home/guests/ldapuserX (Sugerencia: use sintaxis concomodines).

1. Agregue la siguiente línea en /etc/auto.masters.

/home/guests /etc/auto.guests

2. Cree el archivo /etc/auto.guests, con la siguiente línea única.

* -rw,hard,intr instructor.example.com:/home/guests/&

3. Reinicie el programa de automontaje. (Nota: En versiones anteriores de Red HatEnterprise Linux 6, el script de servicio autofs tiene un error, y el restart (reinicio)estándar no funciona.

[root@server1 ~]# service autofs stopStopping automount: [ OK ][root@server1 ~]# service autofs start

Prueba de criterios

RH135-6-es-2-20110131 327

Starting automount: [ OK ]

7. Inicie sesión en serverX como ldapuserX, donde X es su número de estación, con lacontraseña "contraseña". El directorio hogar del usuario debe montarse automáticamente.

[student@desktop1 ~]$ ssh ldapuser1@server1The authenticity of host 'server1 (192.168.0.101)' can't be established.RSA key fingerprint is 33:fa:a1:3c:98:30:ff:f6:d4:99:00:4e:7f:84:3e:c3.Are you sure you want to continue connecting (yes/no)? yesWarning: Permanently added 'server1,192.168.0.101' (RSA) to the list of known hosts.ldapuser1@server1's password: passwordLast login: Thu Dec 16 14:59:49 2010 from instructor.example.com[ldapuser1@server1 ~]$ pwd/home/guests/ldapuser1[ldapuser1@server1 ~]$ df Filesystem 1K-blocks Used Available Use% Mounted on...instructor.example.com:/home/guests/ldapuser1 1032192 36864 943104 4% /home/guests/ldapuser1

Apéndice A. Soluciones

328 RH135-6-es-2-20110131

Control de acceso a los archivos

Práctica Ejercicio

Administración de grupos

Ahora colocaremos a los usuarios que se crearon anteriormente en serverX en grupos.

Grupo Nombre del grupo Lista de usuarios

Profesores profs faraday, juliet, elvis

Estudiantes deposgrado

grads jack, kate, james, elvis

Practicantes deverano

interns walt, ben, claire, hugo, elvis

Tabla A.2. Asignaciones de usuarios y grupos

Tenga en cuenta que deberá crear un usuario adicional con el nombre elvis, que deberácolocarse en los tres grupos.

1. Cree los grupos especificados en la tabla anterior y asigne los miembros correspondientesde cada grupo.

Si no tiene las siguientes cuentas de usuario, agréguelas con useradd username

[root@serverX ~]# groupadd profs[root@serverX ~]# usermod -aG profs faraday[root@serverX ~]# usermod -aG profs juliet[root@serverX ~]# usermod -aG profs elvis

[root@serverX ~]# groupadd grads[root@serverX ~]# usermod -aG grads jack[root@serverX ~]# usermod -aG grads kate[root@serverX ~]# usermod -aG grads james[root@serverX ~]# usermod -aG grads elvis

[root@serverX ~]# groupadd interns[root@serverX ~]# usermod -aG interns walt[root@serverX ~]# usermod -aG interns ben[root@serverX ~]# usermod -aG interns claire[root@serverX ~]# usermod -aG interns hugo[root@serverX ~]# usermod -aG interns elvis

2. Use el comando id para verificar las membresías del grupo de todos los usuarios.

[root@serverX ~]# id julietuid=503(juliet) gid=503(juliet) groups=503(juliet),513(profs)[root@serverX ~]# id faradayuid=504(faraday) gid=504(faraday) groups=504(faraday),513(profs)[root@serverX ~]# id jackuid=505(jack) gid=505(jack) groups=505(jack),514(grads)[root@serverX ~]# id kateuid=506(kate) gid=506(kate) groups=506(kate),514(grads)

Prueba de criterios

RH135-6-es-2-20110131 329

[root@serverX ~]# id jamesuid=507(james) gid=507(james) groups=507(james),514(grads)[root@serverX ~]# id waltuid=508(walt) gid=508(walt) groups=508(walt),515(interns)[root@serverX ~]# id benuid=509(ben) gid=509(ben) groups=509(ben),515(interns)[root@serverX ~]# id claireuid=510(claire) gid=510(claire) groups=510(claire),515(interns)[root@serverX ~]# id hugouid=511(hugo) gid=511(hugo) groups=511(hugo),515(interns)[root@serverX ~]# id elvisuid=512(elvis) gid=512(elvis) groups=512(elvis),513(profs),514(grads),515(interns)

Permisos de directorio de colaboraciónEn el cuestionario que se encuentra a continuación, use los permisos POSIX ACL y estándar,según corresponda, para resolver los problemas.

1. Dado un directorio normal, donde el usuario propietario tiene permisos rwx, el grupopropietario tiene permisos rwx y otro tiene permisos ---, ¿qué comando otorgaría a unsegundo grupo permisos r-x sin cambiar los permisos del grupo propietario existente odel otro?

setfacl -m g:group:r-x /directory

2. ¿Qué comando otorgaría automáticamente acceso de lectura y escritura para esesegundo grupo a cualquier archivo recientemente creado en ese directorio?

setfacl -m d:g:group:rw /directory

3. Pregunta adicional. ¿Qué comando configuraría automáticamente el grupo propietariocomo el grupo propietario de cualquier archivo creado recientemente en ese directorio?

chmod g+s /directory o chmod 2770 /directory si se suponen lospermisos del directorio original según se detallan en la primera pregunta.

Debe asegurarse de que el directorio tenga el permiso set-GID. Se deduce que nohay una manera de hacer esto con setfacl.

Prueba

Prueba de criterios

Caso de estudio

Uso de ACL para otorgar y limitar el acceso

En este laboratorio se utilizan usuarios y grupos creados anteriormente en serverX. Si aún notiene los usuarios y grupos definidos, ejecute lab-add-users en serverX.

Los estudiantes de posgrado necesitan un directorio de colaboración denominado /opt/research, donde puedan almacenar los resultados de investigación generados. Solo losmiembros de los grupos profs y grads deben poder crear archivos nuevos en el directorio, ylos nuevos archivos deben tener las siguientes propiedades:

Apéndice A. Soluciones

330 RH135-6-es-2-20110131

• El directorio debe ser propiedad del usuario root.

• Los archivos nuevos deben pertenecer al grupo grads.

• Los profesores (miembros del grupo profs) deben tener automáticamente acceso de lectura yescritura a los nuevos archivos.

• Los practicantes de verano (miembros del grupo interns) deben tener automáticamenteacceso de solo lectura a los nuevos archivos.

• Otros usuarios (que no sean miembros de grupos profs, grads ni interns) no deben poderacceder al directorio y ni a su contenido en absoluto.

Consulte el apéndice Soluciones cuando haya finalizado de revisar su solución, para ver algunosmétodos posibles.

• Una posible solución es:

[root@serverX ~]# mkdir /opt/research[root@serverX ~]# chgrp grads /opt/research/[root@serverX ~]# chmod 2770 /opt/research/[root@serverX ~]# setfacl -m g:profs:rwx /opt/research/[root@serverX ~]# setfacl -m g:interns:rx /opt/research/[root@serverX ~]# setfacl -m d:g:profs:rw /opt/research/[root@serverX ~]# setfacl -m d:g:interns:r /opt/research/

Las primeras tres líneas crean /opt/research y aseguran que sea propiedad del usuarioroot, grupo grads, y que el usuario y grupo propietarios tengan acceso a los archivos, y ala lectura y escritura de estos, y que grads adquirirá los archivos creados en el directorio(set-GID está activo). Las siguientes dos líneas otorgan permisos adecuados para el grupoprofs y el grupo interns en el directorio mediante ACL. Las siguientes dos líneas otorganpermisos adecuados para el grupo profs y grupo interns en los archivos creadosrecientemente en el directorio a través de ACL predeterminadas.

Prueba de criterios

RH135-6-es-2-20110131 331

notaUna solución un poco mejor y más sofisticada es reemplazar las últimas dos líneas de lasolución de arriba de la siguiente manera:

[root@serverX ~]# setfacl -m d:g:profs:rwx /opt/research/[root@serverX ~]# setfacl -m d:g:interns:rx /opt/research/[root@serverX ~]# setfacl -m d:o::- /opt/research/

Al agregar el permiso de ejecución a las ACL predeterminadas, los miembros de losgrupos profs y interns automáticamente podrán acceder a los subdirectoriosrecientemente creados de /opt/research. (Los archivos regulares no obtienenel permiso de ejecución efectivo automáticamente, porque la máscara ACL predeterminada en un archivo nuevo regular es rw-).

La última línea de la solución mejorada de arriba elimina todos los permisos del otropara los archivos creados recientemente. No es estrictamente necesario porque lospermisos del directorio /opt/research ya bloquean todos los accesos para el otro aldirectorio y su contenido; no obstante, se muestra aquí como un ejemplo útil.

Use ls y getfacl para confirmar su solución.

[root@serverX ~]# getfacl /opt/research/getfacl: Removing leading '/' from absolute path names# file: opt/research/# owner: root# group: grads# flags: -s-user::rwxgroup::rwxgroup:interns:r-xgroup:profs:rwxmask::rwxother::---default:user::rwxdefault:group::rwxdefault:group:interns:r--default:group:profs:rw-default:mask::rwx[root@serverX ~]# date > /opt/research/foo[root@serverX ~]# ls -l /opt/research/foo-rw-rw----+ 1 root grads 29 Dec 23 12:31 /opt/research/foo[root@serverX ~]# getfacl /opt/research/foogetfacl: Removing leading '/' from absolute path names# file: opt/research/foo# owner: root# group: gradsuser::rw-group::rwx #effective:rw-group:interns:r-x #effective:r--group:profs:rwx #effective:rw-mask::rw-

Apéndice A. Soluciones

332 RH135-6-es-2-20110131

other::---

notaSi usó configuraciones alternativas arriba, la salida de getfacl mostrará lo siguiente:

default:group:interns:r-xdefault:group:profs:rwxdefault:other::---

Administración de SELinux

RH135-6-es-2-20110131 333

Administración de SELinux

Práctica Cuestionario

Conceptos básicos de SELinux1. ¿A cuáles de las siguientes opciones SELinux aplica el contexto de seguridad? (Marque

todas las opciones que correspondan).

(seleccione uno o más de los siguientes…)a. Puertosb. Procesosc. Archivosd. Directoriose. Sistemas de archivos remotos

2. SELinux puede usarse para:

(seleccione uno o más de los siguientes…)a. Impedir que un servicio se ejecute en otros puertos.b. Proteger los datos de usuario de aplicaciones como el servidor web.c. Impedir que sistemas remotos accedan a puertos locales.

Esto describe un cortafuego.d. Mantener el sistema actualizado.

Esto describe algo como Red Hat Network.e. Acceder a un servidor web.

Esto describe un navegador web como Firefox.

3. ¿Cuáles de las siguientes opciones corresponden a tipos estándares de contexto deSELinux?

(seleccione uno o más de los siguientes…)a. selinux_type

Esto no existe.b. object_r

Esta es una función de SELinux.c. httpd_sys_content_td. tmp_te. user_u

Este es un usuario de contexto de SELinux.

Apéndice A. Soluciones

334 RH135-6-es-2-20110131

Práctica Cuestionario

Modos de SELinux1. El modo permisivo de SELinux permite el registro, pero no la protección.

2. El modo obligatorio de SELinux protege el sistema.

3. ¿Cuáles de los siguientes son modos de SELinux válidos?

(seleccione uno o más de los siguientes…)a. Obligatoriob. Pruebac. Permisivod. Deshabilitadoe. Registro

Práctica Ejercicio

Cambio de los modos permisivo y obligatorio

1. En serverX, cambie el modo predeterminado de SELinux a permisivo y vuelva a arrancar elsistema.

Modifique el archivo /etc/sysconfig/selinux para que la línea se vea de la siguientemanera:

SELINUX=permissive

Vuelva a arrancar su servidor virtual:

[root@serverX ~]# init 6

2. Después de arrancar nuevamente el sistema, verifique que se encuentre en modo permisivo.

[root@serverX ~]# getenforcePermissive

3. Cambie el modo predeterminado de SELinux a obligatorio.

Modifique el archivo /etc/sysconfig/selinux para que la línea se vea de la siguientemanera:

SELINUX=enforcing

4. Cambie el modo actual de SELinux a obligatorio.

[root@serverX ~]# setenforce 1[root@serverX ~]# getenforce

Administración de SELinux

RH135-6-es-2-20110131 335

Enforcing

Práctica Ejercicio

Corrección de contextos de archivos de SELinux

Se le ha solicitado que ajuste la configuración DNS de su máquina remota para que coincidaexactamente con la configuración de su máquina de escritorio. Usted decide que la forma másfácil es copiar el archivo /etc/resolv.conf de la máquina local en la máquina remota.

1. Transfiera el archivo /etc/resolv.conf de su máquina de escritorio al directorio hogarde root en serverX.

scp /etc/resolv.conf root@serverX:

2. Use el intérprete de comandos para conectarse a serverX como usuario root. Todos lospasos siguientes deben ejecutarse en su servidor.

3. Observe el contexto de SELinux de /etc/resolv.conf inicial.

ls -Z /etc/resolv.conf

Contexto /etc/resolv.conf original: system_u:object_r:net_conf_t:s0

4. Mueva resolv.conf del directorio hogar de root a /etc/resolv.conf.

mv /root/resolv.conf /etc

5. Observe el contexto de SELinux de /etc/resolv.conf recientemente copiado.

ls -Z /etc/resolv.conf

Contexto /etc/resolv.conf nuevo: unconfined_u:object_r:admin_home_t:s0

6. Restaure el contexto de SELinux de /etc/resolv.conf recientemente posicionado.

restorecon /etc/resolv.conf

7. Observe el contexto de SELinux de /etc/resolv.conf restaurado.

ls -Z /etc/resolv.conf

Contexto /etc/resolv.conf restaurado: system_u:object_r:net_conf_t:s0

Práctica Cuestionario

Control de las violaciones de SELinux1. ¿Qué archivo contiene entradas de registro que proporcionan identificadores únicos para

las violaciones de SELinux? /var/log/audit/audit.log.

Apéndice A. Soluciones

336 RH135-6-es-2-20110131

2. Dado el UUID de una violación de SELinux, ¿qué comando genera un informe de texto delproblema? sealert -l UUID .

Prueba

Prueba de criterios

Ejercicio

Administración de SELinuxAntes de comenzar...Antes de comenzar, ejecute el comando lab-setup-selinux en desktopX.

1. Inicie sesión en serverX como usuario student. Abra un terminal y cambie al usuario root.

2. Copie el fichero web_content.tgz de instructor:/var/ftp/pub/materials en /tmp.

[root@serverX ~]# cp /net/instructor/var/ftp/pub/materials/web_content.tgz /tmp

3. Extraiga el fichero en /tmp.

[root@serverX ~]# cd /tmp[root@serverX tmp]# tar -xvf web_content.tgz

4. Mueva el directorio extraído a /var/www/html.

[root@serverX tmp]# mv web_content /var/www/html/[root@serverX tmp]# cd

5. Inicie el servicio web.

[root@serverX ~]# service httpd start

6. Intente observar el nuevo directorio con el navegador web al visitar la URL http://serverX/web_content.

[root@serverX ~]# elinks -dump http://serverX/web_content

7. Busque en el sistema los UUID de cualquier violación de SELinux que pueda haber generadosu intento de navegar el contenido recientemente instalado.

[root@serverX ~]# cat /var/log/messages | grep 'sealert -l'

8. Genere informes de texto sobre las violaciones.

[root@serverX ~]# sealert -l UUID > ~/httpd_selinux.log

Administración de SELinux

RH135-6-es-2-20110131 337

Donde UUID es el UUID dado en /var/log/messages.

9. Siga las instrucciones del informe para restaurar los contextos de SELinux del contenidorecientemente instalado.

Busque la sección Fix Command en ~/httpd_selinux.log.

[root@serverX ~]# restorecon -Rv /var/www/html/web_content/

10. Confirme que pueda ver el material desde su navegador web al visitar la URL http://serverX/web_content.

[root@serverX ~]# elinks -dump http://serverX/web_content

Apéndice A. Soluciones

338 RH135-6-es-2-20110131

Instalación y administración de software

Práctica Ejercicio

Búsqueda e instalación de paquetes

Realice los siguientes pasos en serverX, a menos que se le indique de otro modo.

1. Intente ejecutar el comando gnuplot. Se le indicará que no está instalado.

[root@serverX ~]# gnuplot-bash: gnuplot: command not found

2. Busque paquetes de trazado.

[root@serverX ~]# yum search plot...gnuplot.x86_64 : A program for plotting mathematical expressions and data...

3. Obtenga más información acerca del paquete gnuplot.

[root@serverX ~]# yum info gnuplotName : gnuplotArch : x86_64...

4. Instale el paquete gnuplot.

[root@serverX ~]# yum install -y gnuplot

5. Intente quitar el paquete gnuplot, pero seleccione "no".

[root@serverX ~]# yum remove gnuplotRemoving: gnuplot x86_64 4.2.6-2.el6 @base 1.1 MIs this ok [y/N]: n

¿Cuántos paquetes se quitarían? 1

6. Intente quitar el paquete gnuplot-common, pero seleccione "no".

[root@serverX ~]# yum remove gnuplot-commonRemoving: gnuplot-common x86_64 4.2.6-2.el6 @base 1.3 MRemoving for dependencies: gnuplot x86_64 4.2.6-2.el6 @base 1.1 MIs this ok [y/N]: n

Administración de SELinux

RH135-6-es-2-20110131 339

¿Cuántos paquetes se quitarían? 2

Actividad de lectura: Grupos de componentes YUMRevise la página del manual yum(1) y lea las secciones que describen los comandos yum quecomienzan con "group".

1. yum grouplist

Enumera todos los grupos disponibles.

2. yum groupinfoProporciona información sobre un grupo particular, incluido qué paquetescomponen el grupo.

3. yum groupinstallInstala un grupo de paquetes.

notaSolo el paquete marcado con mandatory y default se instalará cuando elgrupo de componente esté instalado.

4. yum grouperaseElimina un grupo.

5. yum groupupdateActualiza un grupo.

Práctica Ejercicio

Administración de grupos de componentes YUM

En este ejercicio, recopilará información acerca del grupo de componentes “Servidor de base dedatos PostgreSQL” y luego lo instalará en serverX.

1. Enumere todos los grupos de componentes disponibles.

[root@serverX ~]# yum grouplist

2. Obtenga más información acerca del grupo de componentes PostgreSQL Database Server,incluso una lista de los paquetes incluidos.

[root@serverX ~]# yum groupinfo "PostgreSQL Database Server"

Apéndice A. Soluciones

340 RH135-6-es-2-20110131

3. Instale el grupo de componentes PostgreSQL Database Server.

[root@serverX ~]# yum groupinstall "PostgreSQL Database Server"

Práctica Ejercicio

Manipulación de software de terceros

En este ejercicio, recopilará información acerca de un paquete de terceros, extraerá los archivosdel paquete y lo instalará completo en su sistema desktopX.

1. Descargue wonderwidgets-1.0-4.x86_64.rpm de http://instructor/pub/materials.

2. ¿Qué archivos contiene?

rpm -q -p wonderwidgets-1.0-4.x86_64.rpm -l

3. ¿Qué scripts contiene?

rpm -q -p wonderwidgets-1.0-4.x86_64.rpm --scripts

4. ¿Cuánto espacio en disco usará al instalarlo?

rpm -q -p wonderwidgets-1.0-4.x86_64.rpm -i

5. Use yum localinstall para instalar el paquete.

yum localinstall wonderwidgets-1.0-4.x86_64.rpm

Práctica Ejercicio

Uso de repositorios YUM

Configurará su servidor para usar un repositorio yum aparte para obtener actualizaciones y paraactualizar su máquina.

Realice los siguientes pasos en serverX, a menos que se le indique de otro modo.

1. Cree el archivo /etc/yum.repos.d/errata.repo para habilitar el repositorio deactualizaciones que se encuentra en la máquina del instructor. Este debe acceder alcontenido que se encuentra en la siguiente URL: ftp://instructor.example.com/pub/rhel6/Errata.

Cree el archivo /etc/yum.repos.d/errata.repo con el siguiente contenido:

[updates]name=Red Hat Updatesbaseurl=ftp://instructor.example.com/pub/rhel6/Errataenabled=1gpgcheck=1

Prueba de criterios

RH135-6-es-2-20110131 341

2. Actualice todo software relevante provisto por el repositorio usando yum update.

[root@serverX ~]# yum update -y

Prueba

Prueba de criterios

Caso de estudio

Actualizar e instalar softwareAntes de comenzar...Ejecute lab-setup-server en desktopX para preparar serverX para el ejercicio.

Tiene que administrar un nuevo servidor, serverX, con requisitos de software muy específicos.Debe tener instaladas las últimas versiones de los siguientes paquetes:

kernel (paquete existente con una actualización)

xsane-gimp (paquete nuevo)

bzip2 (paquete actualizado)

Por razones de seguridad, no debe tener instalado el paquete xinetd.

No instale todas las actualizaciones. Instale solamente las actualizaciones para los paquetesenumerados arriba, si están disponibles.

Los paquetes actualizados se pueden encontrar en la siguiente URL: ftp://instructor.example.com/pub/rhel6/Errata.

Cuando esté listo para revisar su trabajo, ejecute lab-grade-packages-2 en serverX.

1. [root@desktopX ~]# lab-setup-server

2. En serverX, cree el archivo /etc/yum.repos.d/updates.repo con el siguientecontenido:

[updates]name=Red Hat Updatesbaseurl=ftp://instructor.example.com/pub/rhel6/Errataenabled=1gpgcheck=1

3. Instale los paquetes y las actualizaciones especificados, y asegúrese de especificar lospaquetes individuales, para que no se realice una actualización completa. Tenga en cuentaque, cuando se nombran explícitamente los paquetes en la línea de comando, install y updateson esencialmente sinónimos.

(No se preocupe demasiado si el conteo del paquete no es idéntico al detallado abajo).

Apéndice A. Soluciones

342 RH135-6-es-2-20110131

[root@serverX ~]# yum install kernel xsane-gimp bzip2

...

Transaction Summary================================================================================Install 15 Package(s)Upgrade 2 Package(s)

Total download size: 39 MIs this ok [y/N]: y

...

Importing GPG key 0xFD431D51 "Red Hat, Inc. (release key 2) <[email protected]>" from /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-releaseIs this ok [y/N]: yImporting GPG key 0x2FA658E0 "Red Hat, Inc. (auxiliary key) <[email protected]>" from /etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-releaseIs this ok [y/N]: y

...

Complete!

4. Asegúrese de que el paquete xinetd se haya eliminado.

[root@serverX ~]# yum erase xinetd...No Match for argument: xinetdPackage(s) xinetd available, but not installed.No Packages marked for removal

En este caso, xinetd no estaba instalado.

5. [root@serverX ~]# lab-grade-packages-2

Administración de servicios instalados

RH135-6-es-2-20110131 343

Administración de servicios instalados

Instalación de servicios nuevos¿Qué comando se usa generalmente para realizar cada uno de estos pasos para implementar unservicio nuevo en un sistema Red Hat Enterprise Linux?

• Instalar el software: yum

• Iniciar el servicio: service

• Habilitar el servicio durante el momento de arranque: chkconfig

• Probar los servicios: Esto se tratará en las siguientes páginas.

Diagnóstico de problemas de servicio de redRealice los siguientes pasos en serverX, a menos que se le indique de otro modo.

[root@serverX ~]# service httpd restart

Hemos reiniciado nuestro servicio httpd. ¿Cómo podemos confirmar que esté funcionando?

Intente acceder a este mediante un explorador web.

Suponiendo que el reinicio falle, a continuación se muestran la revisiones que puede intentarpara diagnosticar el problema. Cuáles son los comandos que mostrarían lo siguiente:

1. ¿El demonio se está ejecutando?

Si el demonio no se está ejecutando, ¿cuáles son los pasos siguientes que podría seguir?

a. Examinar /var/log/messages o archivos de registro específicos del servicio

b. Intentar iniciar el demonio manualmente desde la línea de comando y verificar sihay reclamos

Para comprobar que el demonio se está ejecutando, ejecute el siguiente comando:

[root@serverX ~]# ps aux | grep httpd

notaEs posible que tenga que identificar qué demonios se iniciaron por el script deservicio. Por ejemplo, el script de servicio smb inicia nmbd y smbd.

2. ¿El demonio se ha enlazado a los puertos correctos?

Apéndice A. Soluciones

344 RH135-6-es-2-20110131

Si el demonio se está ejecutando, pero no está en modo de escucha en el puertocorrecto, ¿cuáles son los pasos siguientes que podría seguir?

a. Examinar los archivos de configuración del servicio, prestando particular atencióna cualquier opción de configuración relacionada con el enlace a la red.

b. Considerar la configuración de SELinux. ¿El demonio está intentando conectarse aun puerto no estándar? ¿Hay errores de SELinux en los registros?

Para comprobar que el demonio se haya enlazado a los puertos correctos, ejecutelo siguiente:

[root@serverX ~]# lsof -i | grep httpdhttpd 310 root 4u IPv6 59310 0t0 TCP *:http (LISTEN)httpd 313 apache 4u IPv6 59310 0t0 TCP *:http (LISTEN)

¿Qué puertos usan los demonios del servicio? ¿están enlazados a esos puertos?¿Están enlazados a esos puerto solo para el host local (127.0.0.1 o ::1) o estánenlazados a direcciones IP particulares o a todas las direcciones IP (0.0.0.0, * o ::)?

3. ¿Un cliente externo puede conectarse al puerto?

Si el demonio se está ejecutando y está enlazado al puerto correcto, pero los clientesexternos no pueden conectarse, ¿cuál es el probable candidato?

a. Probablemente, el problema esté relacionado con el cortafuegos a nivel del kernel.

Para verificar que un cliente externo pueda conectarse al puerto, ejecute losiguiente en desktopX:

[root@serverX ~]# nc serverX 80GET<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">...

Prueba

Prueba de criterios

Ejercicio

Implementar un servidor FTP

Instalar, iniciar, habilitar y probar el servicio FTP.

Realice los siguientes pasos en serverX, a menos que se le indique de otro modo.

1. Instalar el software del servidor FTP, que está distribuido como el paquete vsftpd.

Administración de servicios instalados

RH135-6-es-2-20110131 345

Compruebe si el paquete ya está instalado. En caso de que no, instálelo.

[root@serverX ~]# rpm -q vsftpdpackage vsftpd is not installed[root@serverX ~]# yum install -y vsftpd

2. Inicie el servicio relacionado.

Verifique que el servicio ya esté en ejecución. En caso de que no, inícielo.

[root@serverX ~]# service vsftpd statusvsftpd is stopped[root@serverX ~]# service vsftpd startStarting vsftpd for vsftpd: [ OK ]

3. Configure el servicio para que se inicie automáticamente al inicio.

[root@serverX ~]# chkconfig vsftpd on

4. Desde su estación de trabajo, use el cliente lftp para conectar su servidor y verificar quepuede recibir datos de este.

[student@desktopX ~]# lftp serverXlftp localhost:~> lsdrwxr-xr-x 2 0 0 4096 May 26 2010 publftp server1:~> quit[student@desktopX ~]#

5. Aun si su servicio se está ejecutando satisfactoriamente, responda las preguntas acontinuación sobre solución de problemas para confirmar que el servicio se hayaimplementado correctamente.

• ¿El demonio se está ejecutando?

[root@serverX ~]# ps aux | grep vsftpdroot 2212 0.0 0.1 51816 732 ? Ss Dec22 0:00 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf

• ¿El demonio se enlazó al puerto correcto (TCP puerto 21)?

[root@serverX ~]# netstat -tulpn | grep vsftpd tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 2212/vsftpd

• ¿Un cliente externo puede conectarse al puerto?

Desde su estación de trabajo, intente conectarse al demonio FTP directamente usando elcliente nc.

[student@desktopX ~]# nc 192.168.0.X+100 21220 (vsFTPd 2.2.2) Ctrl+c

Apéndice A. Soluciones

346 RH135-6-es-2-20110131

[student@desktopX ~]#

Análisis y almacenamiento de registros

RH135-6-es-2-20110131 347

Análisis y almacenamiento de registros

Archivos de registro predeterminadosEscriba el nombre del archivo de registro al revisar el contenido de /etc/rsyslog.conf

1. Todos los mensajes relacionados con autenticaciones van a /var/log/secure serverX.

2. Todo lo relacionado con el correo electrónico va a /var/log/maillog .

3. Los mensajes relacionados con cron van a /var/log/cron .

4. Todos los otros mensajes enviados con prioridad info o mayor se guardan en /var/log/messages .

Práctica Cuestionario

Revisar rsyslogResponda las siguientes preguntas:

1. ¿Cuáles son los dos campos que se utilizan para la coincidencia de eventos de registro?

Recurso y prioridad

2. ¿Cuál es el efecto de un comodín en el primer campo?

Coincide con todos los recursos.

3. ¿Cuál es el efecto de un comodín en el segundo campo?

Coincide con todas las prioridades.

4. ¿Es posible registrar el mismo evento de registro en más de un registro?

Sí, irá a cualquier registro cuyos criterios coincidan.

Práctica Lista de verificación de rendimiento

Analizar un informe de resumen de registro

Determine la cantidad de espacio libre para el sistema de archivos de usuario root en función delúltimo informe de LogWatch en serverX.

Abra el correo electrónico de usuario root.

[root@serverX ~]# mail

Busque y lea el último informe de LogWatch.. Si no existe un informe de LogWatch,ejecute el comando logwatch para generar uno manualmente.

[root@serverX ~]# mail

Apéndice A. Soluciones

348 RH135-6-es-2-20110131

Heirloom Mail version 12.4 7/29/08. Type ? for help."/var/spool/mail/root": 1 message 1 new>N 1 [email protected] Tue Jan 1 00:25 96/2948 "Logwatch for serverX."& Enter

(use Space to scroll to the end)

... --------------------- Disk Space Begin ------------------------

Filesystem Size Used Avail Use% Mounted on /dev/mapper/vgsrv-root 3.3G 2.3G 876M 73% / /dev/vda1 248M 30M 206M 13% /boot /dev/mapper/vgsrv-home 248M 11M 225M 5% /home ---------------------- Disk Space End -------------------------

###################### Logwatch End #########################

Registre la cantidad de espacio libre para el sistema de archivos /:

En el ejemplo que se muestra arriba, 876 M.

Práctica Caso de estudio

Redirigir los correos electrónicos de resumen deregistro

Cambie la configuración de logwatch en serverX para enviar informes de resumen de registro alusuario student en lugar de al usuario root.

Pregunta adicional: ¿Cómo enviaría los informes de logwatch tanto a student como a root?

1. Modifique el archivo /etc/logwatch/conf/logwatch.conf para incluirMailTo=student.

2. Envíelo tanto a student como a root; cambie la línea a:

MailTo = student root

3. Ejecute el comando:logwatch

[root@serverX]# logwatch

4. Revise el correo electrónico de student y root para ver si existen informes nuevos.

Prueba de criterios

RH135-6-es-2-20110131 349

Prueba

Prueba de criterios

Caso de estudio

Mensajes de depuración de registro

Su empresa desea incluir un registro de depuración en su servidor para analizarlo. Redirija todoslos mensajes de nivel de depuración (y de prioridad superior) a un archivo con el nombre /var/log/debug.log.

1. Configure rsyslog para crear un debug.log en el directorio /var/log/, que recopile losmensajes de depuración de todos los servicios.

Agregue esta línea a /etc/rsyslog.conf:

*.debug /var/log/debug.log

2. Active los cambios realizados a rsyslog.

[root@serverX ~]# service rsyslog restartShutting down system logger: [ OK ]Starting system logger: [ OK ]

3. Use el comando logger para enviar un mensaje a rsyslogd con prioridad debug al nuevoarchivo de registro.

[root@serverX ~]# logger -p debug Testing debug[root@serverX ~]# tail /var/log/debug.log Jan 5 11:03:04 server1 root: Testing debug

Observe que el mensaje no se mostrará en /var/log/messages si lo configuró y lo probócorrectamente, dado que /var/log/messages solo obtiene mensajes de prioridad info ysuperior (no debug).

Apéndice A. Soluciones

350 RH135-6-es-2-20110131

Administración de procesos

Práctica Ejercicio

Administración de procesosAntes de comenzar...Ejecute lab-setup-processes en serverX para prepararse para el ejercicio.

[root@serverX ~]# lab-setup-processes

1. Cambie la prioridad del proceso que está usando la mayoría de los recursos de CPU a 5.

[root@serverX ~]# top... PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND26669 root 22 2 3828 84 12 R 78.3 0.0 0:18.41 hippo26670 root 22 2 4008 280 156 S 21.2 0.1 0:04.94 process101...

En top, presione la tecla r para cambiar el valor de niceness del proceso, luego ingreseel PID (26669 en el ejemplo de arriba). Presione 5 para cambiar el proceso a un valor deniceness de 5.

2. Finalice el proceso que está usando la mayoría de los recursos de memoria.

En top, presione la tecla M para ordenar por consumo de memoria.

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND26668 root 22 2 55032 50m 160 S 0.0 10.2 0:00.18 elephant

Presione la tecla k para eliminar un proceso. Ingrese el PID (26668 en el ejemplo de arriba).Ingrese la señal, o simplemente acepte el valor predeterminado de 15.

3. Cuando esté listo para revisar su trabajo, ejecute lab-grade-processes en serverX.

[root@serverX ~]# lab-grade-processes* Checking for terminated process... PASS* Checking for reniced process... PASS

4. Una vez que haya completado satisfactoriamente el ejercicio y revisado su trabajo, ejecutelab-cleanup-processes en serverX para limpiar.

[root@serverX ~]# lab-cleanup-processes

Práctica Cuestionario

Programación de cronie1. ¿Cuándo se ejecutarán los siguientes trabajos?

Prueba de criterios

RH135-6-es-2-20110131 351

a. 00 07 25 12 * /usr/local/bin/open_presents

Día de Navidad a las 7 a. m.

b. */5 * * * * /usr/local/bin/take_stats

cada 5 minutos

c. 07 03 * * * /sbin/service xend restart

todos los días a las 3:07 a. m.

d. 30 16 * * 5 /usr/local/bin/mail_checks

todos los viernes a las 4:30 p. m.

2. Cree una entrada de cron que ejecutaría el script /usr/local/bin/vacuum_db unavez al mes, el primer día del mes.

05 02 1 * * /usr/local/bin/vacuum_db

(Ciertamente, la hora y los minutos reales son arbitrarios).

3. En la pregunta anterior. ¿qué ocurre si la máquina estaba inactiva debido amantenimiento el primero de febrero? ¿Cuál sería la mejor forma de asegurarse de quela base de datos no opere 2 (o más) meses entre cada vaciado?

Escriba la tarea como un script del intérprete de comandos simple y suéltela en /etc/cron.monthly:

#!/bin/bash/usr/local/bin/vacuum_db

Actividad de lectura: El comando atCon comando at, puede especificar una tarea (denominada trabajo) para que se ejecute en unmomento específico en el futuro. El trabajo podría ser una copia de seguridad de una vez, unarevisión de su sistema o el envío de una notificación en un momento específico. Los trabajos, quepodrían tardar mucho en completarse, también son buenos candidatos para el comando at. Parahacer esto, simplemente use at para configurar la tarea que se ejecutará en un minuto o dosen el futuro. Luego, puede salir de la sesión de manera segura, dado que la tarea se ejecuta sinconexión desde la sesión del intérprete de comandos.

Apéndice A. Soluciones

352 RH135-6-es-2-20110131

El comando at debe especificar cuándo se debe ejecutar la tarea. Esa especificación puede seruna hora o una fecha específicas (Monday, 10pm[lunes a las 10 p. m.] o July 15[15 de julio], porejemplo). Puede ser relativo al tiempo actual (now +5 min[ahora + 5 min], now +3 days[ahora+ 3 días] o 4pm +1 week[4 p. m. + 1 semana]). Al agregar otras opciones, puede lograr que elcorreo se envíe cuando la tarea finalice (-m) o leer la tarea desde un archivo (-f file) en lugarde desde la entrada estándar.

Después de escribir la línea de comando at presione Enter y proceda a escribir los comandosque se incluirán en el trabajo. La tarea puede constar de múltiples comandos. Cuando termine deescribir los comandos que se ejecutarán, presione Ctrl+d en una línea sola para completar latarea. Por ejemplo:

[user@host ~]$ at now +2 minat> echo "Hello from the at command" > /dev/pts/2at> Ctrl-D <EOT>job 1 at 2011-01-28 00:38[user@host ~]$

Una vez que un trabajo at está configurado para ejecutarse, puede enumerar los números y lashoras del trabajo con el comando atq. Para ver los comandos incluidos en el trabajo, escribaat -c # (reemplace # con el número de trabajo que desea ver). Antes de que se ejecute untrabajo, puede eliminarlo (siempre que sea su trabajo o que usted sea el usuario root) al escribirel comando atrm #, donde # se reemplaza con el número del trabajo.

InstruccionesLea la página del manual at(1) centrando su atención en los comandos at, atq, atrm; luegoresponda las preguntas que se encuentran a continuación.

1. ¿Qué función ejecuta el comando at?

El comando at ejecuta comandos en un momento especificado.

2. ¿Cuál es la sintaxis del comando at?

at [OPTIONS] TIME

3. ¿Cómo expresaría las siguientes especificaciones de tiempo para el comando at?

• ¿Para ejecutar un trabajo a las 4:00 p. m. en tres días a partir de ahora?

• ¿Para ejecutar un trabajo a las 10:00 a. m. el próximo 31 de julio?

• ¿Para ejecutar un trabajo a la 1:00 a. m., mañana?

Para ejecutar un trabajo a las 4 p. m. en tres días a partir de ahora, haría at 4pm+ 3 days (4 p. m. + 3 días)

Para ejecutar un trabajo a las 10:00 a. m. el 31 de julio, haría at 10am Jul 31 (alas 10:00 a. m. el 31 de julio)

Para ejecutar un trabajo a la 1:00 a. m. mañana, haría at 1am tomorrow (a la1:00 a. m. mañana)

Otras variaciones pueden funcionar; si tiene preguntas, consulte a su instructor.

4. ¿Qué función ejecuta el comando atq?

Prueba de criterios

RH135-6-es-2-20110131 353

El comando atq enumera los trabajos pendientes del usuario, a menos que elusuario sea el superusuario; en ese caso, se enumeran los trabajos de todos.

5. ¿Cuál es el formato de la salida del comando atq?

Número, fecha, hora, cola y nombre de usuario del trabajo.

6. ¿Qué función ejecuta el comando atrm?

El comando atrm elimina trabajos, identificados por el número de trabajo.

7. ¿Cuál es la sintaxis del comando atrm?

atrm [-V] job [job...]

Práctica Lista de verificación de rendimiento

Programación de tareas aplazadas

Realice los siguientes pasos en serverX, a menos que se le indique de otro modo.

Determine la hora del sistema actual.

[root@serverX ~]# dateTue Jan 31 11:33:22 EST 2012

Programe el comando who interactivamente para que se ejecute 1 minuto en el futuro.

Dado el ejemplo sobre la hora arriba, podríamos programar un comando como elsiguiente:

[root@serverX ~]# at 11:35amat> whoat> Ctrl+djob 1 at 2012-01-31 11:35

De manera alternativa, podría usar at now +1min para crear un comando que seejecute en un minuto en el futuro.

Mientras espera que el comando at se complete, cree un archivo de texto simple quecontenga el comando cal. Configúrelo para que pueda ejecutarse.

[root@serverX ~]# echo cal > /tmp/cal-command[root@serverX ~]# chmod 755 /tmp/cal-command

Programe el comando creado arriba para que se ejecute a la hora del té, hoy y mañana.

[root@serverX ~]# at teatime todayat> /tmp/cal-commandat> Ctrl+djob 2 at 2012-01-31 16:00[root@serverX ~]# at teatime tomorrowat> /tmp/cal-commandat> Ctrl+djob 3 at 2012-02-01 16:00

Apéndice A. Soluciones

354 RH135-6-es-2-20110131

Cambie de lugar con un compañero para realizar los dos pasos siguientes.

• Use atq para confirmar las tareas pendientes.

[root@serverX ~]# atq2 at 2012-01-31 16:003 at 2012-02-01 16:00

• Use atrm para quitar la tarea programada para la hora del té de mañana.

En función de la salida de atq arriba, el trabajo 3 es el trabajo que se debe eliminar.

[root@serverX ~]# atrm 3[root@serverX ~]# atq2 at 2012-01-31 16:00

Vuelva a cambiar de lugar y revise su correo para confirmar que el comando who originalse haya ejecutado.

[root@serverX ~]# mail>N 1 root Tue Jan 31 11:35 14/541 "Output from your job "& EnterFrom [email protected] Tue Jan 31 11:35:00 2012...root pts/0 2012-01-31 10:40 (desktopX.example.com)& q

Prueba

Prueba de criterios

Ejercicio

Administración de procesosAntes de comenzar...Ejecute manage_processes_start en serverX para prepararse para el ejercicio.

[root@serverX ~]# manage_processes_start

Realice los siguientes pasos en serverX, a menos que se le indique de otro modo.

1. Después de ejecutar el comando manage_processes_start, serverX debe estar muylerdo.

2. Determine qué proceso está usando una cantidad excesiva de memoria y finalícelo.

1. En una terminal, inicie el programa top.

2. En top, ingrese "O" para traer el menú de ordenamiento.

3. Ingrese n para ordenar por uso de memoria.

Prueba de criterios

RH135-6-es-2-20110131 355

4. Anote el PID del consumidor principal de memoria.

5. Ingrese k para eliminar un proceso.

6. Ingrese el PID del proceso que terminará.

7. Haga clic en Enter para elegir el número de señal predeterminado 15.

3. Determine el proceso que está usando una cantidad excesiva de memoria de CPU y cambieel valor de niceness a 15.

1. En una terminal, inicie el programa top.

2. Anote los PID del consumidor principal de memoria.

3. Ingrese r para cambiar el valor de niceness de un proceso.

4. Ingrese el PID del proceso al que se cambiará el valor de niceness.

5. Ingrese el nuevo valor de niceness de 15.

4. Cree un trabajo de cron de sistema que cada media hora reajuste todos los procesos quepertenecen al usuario elvis a un valor de niceness de 10.

Sugerencia: Use la página del manual renice(1) para determinar la opción para ajustartodos los procesos del usuario.

Con un editor de textos, cree el archivo /etc/cron.d/nice_elvis con el siguientecontenido:

# Adjust the priority of processes owned by user elvis every half hour# to a nice value of 15.*/30 * * * * /usr/bin/renice -n 15 -u elvis

5. Registre un trabajo para que se ejecute una vez a las 3:00 a. m., que ejecute el comando psaux.

[root@serverX ~]# at 3amat> ps auxat> Ctrl+d

Apéndice A. Soluciones

356 RH135-6-es-2-20110131

Ajuste y mantenimiento del kernelPráctica Ejercicio

Carga de módulos y configuración de parámetrospredeterminados

Algunas funciones del cortafuego basado en el kernel se implementan como módulos opcionalesdel kernel, como llevar a cabo un rastreo de conexiones en un servidor ftp.

Se le ha solicitado que cargue el módulo del kernel nf_conntrack_ftp y que lo configureadecuadamente para un servidor FTP en modo de escucha en el puerto TCP 21 y el puerto 8021.

Los siguientes comandos deben ejecutarse en su serverX.

1. Use el comando locate para asegurarse de que el módulo nf_conntrack_ftp sea compatiblecon su kernel.

locate track_ftp

2. Cargue el módulo de seguimiento de conexión FTP.

modprobe nf_conntrack_ftp

3. Asegúrese de que esté cargado.

lsmod | grep track_ftp

4. Descargue el módulo de seguimiento de conexión FTP.

modprobe -r nf_conntrack_ftp

5. Asegúrese de que esté descargado.

lsmod | grep track_ftp

6. Además del puerto 21 estándar, usted planea ejecutar un servidor FTP en el puerto 8021 noestándar. Examine las opciones que podrían permitirle especificar los puertos no estándares.

modinfo nf_conntrack_ftp

7. Configure un archivo /etc/modprobe.d/local.conf, que implementa esta opción unavez cargado.

options nf_conntrack_ftp ports=21,8021

Práctica Ejercicio

Modificación de la línea de comando del kernel

El dispositivo de bucle invertido se usa para montar archivos como si fueran dispositivos, lo cuales muy conveniente para acceder a las imágenes ISO, por ejemplo. De forma predeterminada, el

Prueba de criterios

RH135-6-es-2-20110131 357

kernel admite 8 dispositivos de bucle invertido. Modifique la línea de comando de kernel de suservidor remoto de modo que admita 32 en su lugar.

Use su serverX para los siguientes pasos:

1. Enumere los dispositivos de bucle invertido en el directorio /dev. (Todos los dispositivos debucle invertido se denominan loop*). ¿Cuántos hay? _______________

ls /dev/loop* (8)

2. Agregue el parámetro max_loop=32 a la línea de comando de kernel en /boot/grub/grub.conf.

3. Vuelva a arrancar su servidor.

4. Confirme que el kernel haya arrancado con la línea de comando modificada.

cat /proc/cmdline

5. Enumere los dispositivos de bucle invertido en el directorio /dev. ¿Cuántos hay?_______________

ls /dev/loop* (32)

Demostración sobre la actualización de un kernelComplete los espacios en blanco a continuación mientras su instructor analiza los siguientestemas.

1. ¿Qué comando (familiar) realiza una actualización de kernel? yum update

2. Los kernels nuevos se instalan; no se actualizan. Como cada archivo que pertenece alpaquete de kernels tiene versiones, o reside en un directorio con versiones, RPM requiereque se instalen versiones simultáneas.

3. De forma predeterminada, al "actualizar" un kernel, yum mantendrá un total de 3versiones instaladas y automáticamente quitará cualquier versión anterior.

4. Para usar el nuevo kernel, debe volver a arrancar su máquina.

5. Si bien la máquina volverá a arrancar automáticamente en el kernel actualizado, aúnpuede seleccionar un kernel anterior en el menú del gestor de arranque GRUB.

6. Si desea quitar un kernel manualmente, debe especificar no sólo el nombre del paquete(kernel), sino también el número de versión.

Apéndice A. Soluciones

358 RH135-6-es-2-20110131

Técnicas de recuperación del sistema

Investigación y aprendizaje: GRUBEscriba las respuestas a cada una de las preguntas a continuación y remítase a la documentacióndisponible cuando sea necesario.

1. ¿Dónde podemos encontrar el arranque orientado y más específicamente, el archivo deconfiguración de GRUB?

De la Unidad 17, el kernel está ubicado en /boot; página del manual grub(8), /boot/grub/grub.conf

2. ¿Dónde podemos encontrar información acerca de qué significan las opciones deconfiguración en ese archivo de configuración?

grub(8) no contiene información demasiado detallada, pero indica la informaciónsobre el GRUB; la guía de implementación de Red Hat comprende una secciónsobre "Configuración del gestor de arranque GRUB".

3. ¿Qué kernel arrancará de modo predeterminado (nombre de archivo)?

En /boot/grub/grub.conf, la directiva predeterminada apunta al título de unaentrada de arranque; la línea del kernel de la entrada de arranque apunta alejecutable del kernel.

4. ¿Dónde pasa el sistema de archivos de usuario "root" al kernel y qué es el sistema dearchivos de usuario "root"?

En la línea del kernel, el argumento de la línea de comando root= identifica eldispositivo que contiene el sistema de archivos de usuario root.

5. ¿Cuál es la diferencia en relación con la directiva en las entradas de arranque grub.confque se inicia con "root"? ¿Adónde apunta la línea "root" ?

La línea root apunta a la partición que contiene las referencias de los archivosindicadas por el kernel y las directivas initrd. Usa una sintaxis no habitual donde(hd0,1) es la segunda partición de la primera unidad de disco duro detectada porBIOS.

6. ¿Cómo podemos restringir el acceso a las opciones interactivas del GRUB?

Podemos agregar una directiva de contraseña a las opciones de configuracióngenerales en la parte superior del archivo grub.conf. Lleva una contraseña detexto no encriptado o el "hash" de la contraseña generada con grub-md5-crypt sise incluye la opción --md5 en la directiva de contraseña.

Práctica Cuestionario

Términos del proceso de arranqueIndique los nombres de los pasos para el proceso de arranque en cada definición

1. BIOS: Firmware que se ejecuta al encender el equipo, habilita las características delhardware integrado y determina que el dispositivo arranque.

Prueba de criterios

RH135-6-es-2-20110131 359

2. GRUB: Programa cargado del dispositivo de arranque que determina que el ejecutable delsistema operativo principal se cargue.

3. Kernel: Ejecutable del sistema operativo principal responsable de coordinar el acceso delsoftware a los recursos de hardware.

4. init: Primer proceso de Linux iniciado; en última instancia inicia todos los otros procesos.

Práctica Ejercicio para ordenar

Archivos del proceso de arranque

Para cada uno de los nombres de archivo o directorio indicados a continuación, escriba elnúmero de la definición correspondiente indicado en la lista debajo.

5 /boot/grub/grub.conf2 /etc/inittab6 /etc/init/9 /etc/init/rcS.conf1 /etc/rc.d/rc.sysinit4 /etc/init/rc.conf7 /etc/rc.d/rc5.d/3 /etc/init/start-ttys.conf8 /etc/init/prefdm.conf

1. Script para inicializar el sistema (incluye montaje de sistemas de archivos locales)

2. Archivo que contiene el nivel de ejecución predeterminado

3. Inicia las consolas virtuales basadas en texto 5 o 6

4. Tarea de init responsable de iniciar los servicios basados en System V.

5. Contiene las instrucciones de configuración del gestor de arranque.

6. Directorio que contiene tareas de init.

7. Contiene enlaces a los scripts de los servicios de System V para que se inicien o detengan alentrar al nivel de ejecución 5.

8. Inicia instrucciones gráficas al inicio de sesión.

9. Tarea de init para ejecutar el script de inicialización del sistema y trabajo de inicio parainiciar los servicios de System V.

Práctica Cuestionario

Solución de problemas del proceso de arranque1. Si tiene problemas de daños en el sistema de archivos, la máquina arrancará en modo de

mantenimiento.

Apéndice A. Soluciones

360 RH135-6-es-2-20110131

2. En el modo de mantenimiento, ejecute fsck para solucionar los problemas de daños en elsistema de archivos.

3. En modo de mantenimiento, ejecute mount -o remount,rw / para marcar la partición /como de escritura.

Prueba

Prueba de criterios

Ejercicio

Uso y protección del modo monousuario

En este ejercicio, primero recuperará la contraseña del usuario root de su servidor virtual y luegoimplementará el Gran Gestor de Arranque Unificado (GRUB) para proteger la contraseña, a fin deque el sistema sea más seguro.

1. Ejecute el script para encriptar su contraseña de usuario root y vuelva a arrancar.

Ejecute lab-setup-bootbreak-4 desde serverX

[root@serverX ~]# lab-setup-bootbreak-4

2. Luego de verificar que ya no puede iniciar sesión como usuario root, vuelva a arrancar elsistema para restablecer la contraseña redhat nuevamente usando el modo monousuario.

notaEn el lanzamiento de Red Hat Enterprise Linux 6, se produjo un error de SELinuxque bloqueó el comando passwd en modo de usuario único (n.º 644820). Si tiene elpaquete original selinux-policy instalado, debe ejecutar el comando setenforce 0 enel nivel de ejecución 1 para que el comando passwd funcione. Después de cambiar lacontraseña, debe ejecutar setenforce 1 nuevamente para volver SELinux a modoobligatorio.

1. Reinicie el sistema

2. En la pantalla "Booting Red Hat Enterprise Linux...", presione cualquier tecla paramostrar el menú GRUB.

3. Presione a para anexar a la lista de argumentos del kernel

4. Agregue s a la lista y presione Enter para arrancar en un único modo

Prueba de criterios

RH135-6-es-2-20110131 361

5. En el aviso del intérprete de comandos, deshabilite SELinux, restablezca la contraseñade root, continúe el proceso de arranque en el nivel de ejecución 5.

[root@localhost /]# setenforce 0[root@localhost /]# passwdNew Password: redhatBAD PASSWORD: it is based on a dictionary wordBAD PASSWORD: it is too simpleRetype new password: redhatpasswd: all authentication tokens updated successfully[root@localhost /]# setenforce 1[root@localhost /]# init 5

3. Asegure GRUB al agregar una línea password encriptada a la sección global de grub.conf

¿Qué comando usó para generar la contraseña encriptada?

grub-md5-crypt

¿Qué línea agregó a grub.conf?

password --md5 <encrypted string>

Tenga cuidado de colocar la línea password arriba de la primera línea title para que seaplique globalmente.

4. Vuelva a arrancar el sistema e intente pasar al modo monousuario.

Preguntas de revisión:

1. ¿En qué momento se le solicitó que ingrese la contraseña de GRUB?

Antes de que podamos editar/anexar algún argumento del kernel desde el menú GRUB.

2. ¿Qué ocurre si escribe la contraseña incorrecta?

Continúa solicitando la contraseña antes de permitir editar o agregar los cambios.

3. ¿Puede arrancar el sistema sin la contraseña de GRUB?

Sí, la contraseña sólo se usa para prevenir que se implementen cambios en una aplicaciónStanza, siempre que introduzcamos la contraseña en el área superior de grub.conf.

362