Professional Documents
Culture Documents
The contents of this course and all its modules and related materials, including handouts to audience members, are
Copyright © 2019 Red Hat, Inc.
No part of this publication may be stored in a retrieval system, transmitted or reproduced in any way, including, but
not limited to, photocopy, photograph, magnetic, electronic or other record, without the prior written permission of
Red Hat, Inc.
This instructional program, including all material provided herein, is supplied without any guarantees from Red Hat,
Inc. Red Hat, Inc. assumes no liability for damages or legal action arising from the use or misuse of contents or details
contained herein.
If you believe Red Hat training materials are being used, copied, or otherwise improperly distributed please e-mail
training@redhat.com or phone toll-free (USA) +1 (866) 626-2994 or +1 (919) 754-3700.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, JBoss, Hibernate, Fedora, the Infinity Logo, and RHCE are
trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
XFS® is a registered trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or
other countries.
The OpenStack® Word Mark and OpenStack Logo are either registered trademarks/service marks or trademarks/
service marks of the OpenStack Foundation, in the United States and other countries and are used with the
OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack
Foundation, or the OpenStack community.
Colaboradores: Achyut Madhusudan, Rudolf Kastl, Rob Locke, Heider Souza, Michael Phillips,
Dallas Spohn
Convenciones del documento ix
Introducción xi
RHCSA Rapid Track ................................................................................................. xi
Orientación sobre el entorno del aula ........................................................................ xii
Internacionalización ................................................................................................ xvi
1. Acceder a sistemas y obtener soporte 1
Acceso a la línea de comandos .................................................................................. 2
Cuestionario: Acceso a la línea de comandos ............................................................... 8
Configuración de autenticación basada en claves SSH ................................................. 12
Ejercicio Guiado: Configuración de autenticación basada en claves SSH ......................... 17
Obtención de ayuda en el portal de clientes de Red Hat .............................................. 23
Ejercicio Guiado: Obtención de ayuda en el portal de clientes de Red Hat ...................... 33
Detección y resolución de problemas con Red Hat Insights .......................................... 35
Cuestionario: Detección y resolución de problemas con Red Hat Insights ....................... 44
Resumen ............................................................................................................... 46
2. Navegar por sistemas de archivos 47
Descripción de conceptos de la jerarquía del sistema de archivos Linux ......................... 48
Cuestionario: Descripción de conceptos de la jerarquía del sistema de archivos Linux ....... 51
Administración de archivos con las herramientas de línea de comandos ......................... 55
Ejercicio Guiado: Administración de archivos con las herramientas de línea de
comandos .............................................................................................................. 61
Creación de enlaces entre archivos .......................................................................... 66
Ejercicio Guiado: Creación de enlaces entre archivos .................................................. 70
Resumen ............................................................................................................... 72
3. Administración de usuarios y grupos locales 73
Descripción de conceptos de usuarios y grupos ......................................................... 74
Cuestionario: Descripción de conceptos de usuarios y grupos ...................................... 78
Obtención de acceso de superusuario ...................................................................... 82
Ejercicio Guiado: Obtención de acceso de superusuario .............................................. 88
Administración de cuentas de usuarios locales ........................................................... 93
Ejercicio Guiado: Administración de cuentas de usuarios locales ................................... 97
Administración de cuentas de grupos locales ............................................................ 100
Ejercicio Guiado: Administración de cuentas de grupos locales .................................... 103
Administración de contraseñas de usuarios .............................................................. 106
Ejercicio Guiado: Administración de contraseñas de usuarios ....................................... 110
Trabajo de laboratorio: Administración de usuarios y grupos locales .............................. 114
Resumen ............................................................................................................... 119
4. Control de acceso a los archivos 121
Administración de permisos del sistema de archivos desde la línea de comandos ............ 122
Ejercicio Guiado: Administración de permisos del sistema de archivos desde la línea de
comandos ............................................................................................................. 126
Administración de permisos predeterminados y acceso a archivos ............................... 130
Ejercicio Guiado: Administración de permisos predeterminados y acceso a archivos ........ 135
Trabajo de laboratorio: Control de acceso a los archivos ............................................. 140
Resumen .............................................................................................................. 146
5. Administración de seguridad de SELinux 147
Cambio del modo de cumplimiento de SELinux ........................................................ 148
Ejercicio Guiado: Cambio del modo de cumplimiento de SELinux ................................ 152
Control de contextos de archivo de SELinux ............................................................. 155
Ejercicio Guiado: Control de contextos de archivo de SELinux ..................................... 159
Ajuste de la política de SELinux con booleanos ......................................................... 162
Ejercicio Guiado: Ajuste de la política de SELinux con booleanos ................................. 164
RH199-RHEL8.0-es-1-20190531 v
Investigación y resolución de problemas de SELinux .................................................. 167
Ejercicio Guiado: Investigación y resolución de problemas de SELinux .......................... 172
Trabajo de laboratorio: Administración de seguridad de SELinux .................................. 176
Resumen .............................................................................................................. 182
vi RH199-RHEL8.0-es-1-20190531
Configuración de redes desde la línea de comandos ................................................. 369
Ejercicio Guiado: Configuración de redes desde la línea de comandos ......................... 375
Edición de archivos de configuración de red ............................................................. 381
Ejercicio Guiado: Edición de archivos de configuración de red .................................... 385
Configuración de nombres de host y resolución de nombre ....................................... 389
Ejercicio Guiado: Configuración de nombres de host y resolución de nombre ................ 392
Trabajo de laboratorio: Administración de redes ....................................................... 396
Resumen .............................................................................................................. 401
11. Análisis y almacenamiento de registros 403
Descripción de la arquitectura de registro del sistema ............................................... 404
Cuestionario: Descripción de la arquitectura de registro del sistema ........................... 406
Revisión de archivos Syslog .................................................................................... 410
Ejercicio Guiado: Revisión de archivos Syslog ........................................................... 414
Revisión de las entradas del diario (journal) del sistema ............................................. 417
Ejercicio Guiado: Revisión de las entradas del diario (journal) del sistema ..................... 423
Resguardo del diario (journal) del sistema ............................................................... 427
Ejercicio Guiado: Resguardo del diario (journal) del sistema ....................................... 430
Mantenimiento de la hora correcta ......................................................................... 433
Ejercicio Guiado: Mantenimiento de la hora correcta ................................................. 437
Trabajo de laboratorio: Análisis y almacenamiento de registros .................................... 441
Resumen ............................................................................................................. 447
12. Implementación de funciones avanzadas de almacenamiento 449
Creación de volúmenes lógicos .............................................................................. 450
Ejercicio Guiado: Creación de volúmenes lógicos ...................................................... 458
Ampliación de volúmenes lógicos ........................................................................... 463
Ejercicio Guiado: Ampliación de volúmenes lógicos .................................................. 468
Gestión de almacenamiento en capas con Stratis ..................................................... 472
Ejercicio Guiado: Gestión de almacenamiento en capas con Stratis ............................. 478
Compresión y desduplicación de almacenamiento con VDO ...................................... 484
Ejercicio Guiado: Compresión y desduplicación de almacenamiento con VDO .............. 487
Trabajo de laboratorio: Implementación de funciones avanzadas de almacenamiento ..... 491
Resumen ............................................................................................................. 500
13. Programación de tareas futuras 501
Programación de trabajos del sistema recurrentes .................................................... 502
Ejercicio Guiado: Programación de trabajos del sistema recurrentes ............................ 506
Administración de archivos temporales .................................................................... 510
Ejercicio Guiado: Administración de archivos temporales ............................................ 514
Cuestionario: Programación de tareas futuras ........................................................... 518
Resumen .............................................................................................................. 522
14. Acceso al almacenamiento conectado a la red 523
Montaje de almacenamiento conectado a la red con NFS .......................................... 524
Ejercicio Guiado: Administración de almacenamiento conectado a la red con NFS ......... 529
Montaje automático de almacenamiento conectado a la red ...................................... 533
Ejercicio Guiado: Montaje automático de almacenamiento conectado a la red .............. 537
Trabajo de laboratorio: Acceso al almacenamiento conectado a la red ......................... 543
Resumen ............................................................................................................. 550
15. Administración de la seguridad de redes 551
Administración de firewalls del servidor ................................................................... 552
Ejercicio Guiado: Administración de firewalls del servidor ............................................ 561
Trabajo de laboratorio: Administración de la seguridad de redes ................................. 565
Resumen ............................................................................................................. 573
16. Revisión completa 575
RH199-RHEL8.0-es-1-20190531 vii
Revisión completa ................................................................................................ 576
Trabajo de laboratorio: Corrección de problemas de arranque y mantenimiento de
servidores ............................................................................................................. 581
Trabajo de laboratorio: Configuración y administración de sistemas de archivos y
almacenamiento ................................................................................................... 588
Trabajo de laboratorio: Configuración y administración de seguridad del servidor .......... 595
viii RH199-RHEL8.0-es-1-20190531
CONVENCIONES DEL DOCUMENTO
REFERENCIAS
En "Referencias", se describe el lugar donde se puede encontrar documentación
externa relevante para un tema.
NOTA
Las "notas" son consejos, atajos o enfoques alternativos para una tarea
determinada. Omitir una nota no debería tener consecuencias negativas, pero
quizás se pase por alto algún truco que puede simplificar una tarea.
IMPORTANTE
En las cajas (boxes) "Importante", se detallan cosas que se olvidan con facilidad:
cambios de configuración que solo se aplican a la sesión actual o servicios que se
deben reiniciar para poder aplicar una actualización. Ignorar una caja (box) con la
etiqueta "Importante" no provocará pérdida de datos, pero puede causar irritación y
frustración.
ADVERTENCIA
No se deben ignorar las "advertencias". Es muy probable que omitir las advertencias
provoque pérdida de datos.
RH199-RHEL8.0-es-1-20190531 ix
x RH199-RHEL8.0-es-1-20190531
INTRODUCCIÓN
RH199-RHEL8.0-es-1-20190531 xi
Introducción
En este curso, el sistema de cómputo principal usado para las actividades prácticas de aprendizaje
es workstation. Los estudiantes también usan otras tres máquinas para estas actividades:
servera y serverb. Estos tres sistemas se encuentran en el dominio DNS lab.example.com.
Todos los sistemas de cómputo de los estudiantes tienen una cuenta de usuario estándar
(student) con la contraseña student. La contraseña root de todos los sistemas de los
estudiantes es redhat.
La función principal de bastion es que actúa como enrutador entre la red que conecta las
máquinas de los estudiantes y la red del aula. Si bastion está apagada, otras máquinas de
estudiantes solo podrán acceder a sistemas en la red de estudiantes individuales.
xii RH199-RHEL8.0-es-1-20190531
Introducción
Estados de la máquina
ESTADO DE LA DESCRIPCIÓN
MÁQUINA VIRTUAL
WAITING_TO_START La máquina virtual está esperando que inicien las demás máquinas
(EN ESPERA PARA virtuales.
INICIARSE)
Según el estado de una máquina, se dispone de una selección de las siguientes acciones.
Acciones de aula/máquina
PROVISION LAB Cree el aula de ROL. Crea todas las máquinas virtuales necesarias para
(APROVISIONAR el aula y las inicia. Puede tardar algunos minutos en completarse.
TRABAJO DE
LABORATORIO)
RH199-RHEL8.0-es-1-20190531 xiii
Introducción
DELETE LAB Elimine el aula de ROL. Esta acción destruye todas las máquinas
(ELIMINAR virtuales del aula. Precaución: Se perderán los trabajos generados
TRABAJO DE en los discos.
LABORATORIO)
ACTION (ACCIÓN) Fuerce el apagado de la máquina virtual y restablezca el disco para que
→ Reset vuelva a su estado original. Precaución: Se perderán los trabajos
(Restablecer) generados en el disco.
Al inicio de un ejercicio, si se le indica que restablezca el nodo de una máquina virtual, haga clic en
ACTION (ACCIÓN) → Reset (Restablecer) solo para la máquina virtual específica.
Al inicio de un ejercicio, si se le indica que restablezca todas las máquinas virtuales, haga clic en
ACTION (ACCIÓN) → Reset (Restablecer).
Si desea que el entorno del aula vuelva a su estado original al inicio del curso, puede hacer
clic en DELETE LAB (ELIMINAR TRABAJO DE LABORATORIO) para eliminar el entorno del
aula completo. Después de eliminar el trabajo de laboratorio, puede hacer clic en PROVISION
LAB (APROVISIONAR TRABAJO DE LABORATORIO) para aprovisionar un nuevo conjunto de
sistemas del aula.
ADVERTENCIA
La operación DELETE LAB (ELIMINAR TRABAJO DE LABORATORIO) no puede
deshacerse. Se perderán todos los trabajos que haya completado en el entorno del
aula hasta el momento.
xiv RH199-RHEL8.0-es-1-20190531
Introducción
Para ajustar el temporizador, haga clic en MODIFY (MODIFICAR) para que aparezca el cuadro
de diálogo New Autostop Time (Nuevo tiempo de detención automática). Defina la cantidad de
horas hasta que el aula deba detenerse automáticamente. Haga clic en ADJUST TIME (AJUSTAR
TIEMPO) para aplicar este cambio en los ajustes del temporizador.
RH199-RHEL8.0-es-1-20190531 xv
Introducción
INTERNACIONALIZACIÓN
Configuración de idioma
En el entorno de escritorio GNOME, posiblemente el usuario deba definir el idioma de su
preferencia y el método de entrada la primera vez que inicie sesión. Si no es así, la manera más
simple para un usuario individual de definir el idioma de su preferencia y el método de entrada es
usando la aplicación Region & Language.
Puede iniciar esta aplicación de dos maneras. Puede ejecutar el comando gnome-control-
center region desde una ventana de terminal, o en la barra superior, desde el menú del
sistema en la esquina derecha, seleccionar el botón de configuración (que tiene un ícono de un
destornillador y una llave cruzados) desde la parte inferior izquierda del menú.
En la ventana que se abre, seleccione Region & Language (Región e idioma). El usuario puede
hacer clic en la caja (box) Language (Idioma) y seleccionar el idioma de su preferencia en la lista
que aparece. Esto también actualiza la configuración de Formats (Formatos) mediante la adopción
del valor predeterminado para ese idioma. La próxima vez que inicie sesión, se efectuarán los
cambios.
Estas configuraciones afectan el entorno de escritorio GNOME y todas las aplicaciones, como
gnome-terminal, que se inician dentro de este. Sin embargo, de forma predeterminada, no se
aplican a la cuenta si el acceso a ella es mediante un inicio de sesión ssh desde un sistema remoto
o un inicio de sesión basado en texto en una consola virtual (como tty5).
NOTA
Puede hacer que su entorno de shell use la misma configuración de LANG que su
entorno gráfico, incluso cuando inicia sesión mediante una consola virtual basada
en texto o mediante ssh. Una manera de hacer esto es colocar un código similar
al siguiente en su archivo ~/.bashrc. Este código de ejemplo definirá el idioma
empleado en un inicio de sesión en interfaz de texto de modo que coincida con el
idioma actualmente definido en el entorno de escritorio GNOME del usuario.
Es posible que algunos idiomas, como el japonés, coreano, chino y otros con un
conjunto de caracteres no latinos, no se vean correctamente en consolas virtuales
basadas en texto.
xvi RH199-RHEL8.0-es-1-20190531
Introducción
Se pueden crear comandos individuales para usar otro idioma mediante la configuración de la
variable LANG en la línea de comandos:
La aplicación Region & Language (Región e idioma) también se puede usar para habilitar métodos
de entrada alternativos. En la ventana de la aplicación Region & Language (Región e idioma),
la caja (box) Input Sources (Fuentes de entrada) muestra los métodos de entrada disponibles
en este momento. De forma predeterminada, es posible que English (US) (Inglés [EE. UU.]) sea
el único método disponible. Resalte English (US) (inglés de EE. UU.) y haga clic en el icono de
teclado para ver la distribución actual del teclado.
Para agregar otro método de entrada, haga clic en el botón +, en la parte inferior izquierda de la
ventana Input Sources (Fuentes de entrada). Se abrirá la ventana Add an Input Source (Agregar
una fuente de entrada). Seleccione su idioma y, luego, el método de entrada o la distribución del
teclado de su preferencia.
Cuando haya más de un método de entrada configurado, el usuario puede alternar entre ellos
rápidamente escribiendo Super+Space (en ocasiones denominado Windows+Space). También
aparecerá un indicador de estado en la barra superior de GNOME con dos funciones: por un lado,
indica el método de entrada activo; por el otro lado, funciona como un menú que puede usarse
para cambiar de un método de entrada a otro o para seleccionar funciones avanzadas de métodos
de entrada más complejos.
Algunos de los métodos están marcados con engranajes, que indican que tienen opciones de
configuración y capacidades avanzadas. Por ejemplo, el método de entrada japonés Japanese
(Kana Kanji) (japonés [Kana Kanji]) permite al usuario editar previamente texto en latín y usar las
teclas de Down Arrow (flecha hacia abajo) y Up Arrow (flecha hacia arriba) para seleccionar los
caracteres correctos que se usarán.
El indicador también puede ser de utilidad para los hablantes de inglés de Estados Unidos. Por
ejemplo, dentro de English (United States) (Inglés [Estados Unidos]) está la configuración del
teclado English (international AltGr dead keys) (Inglés [internacional, teclas inactivas AltGr]),
que trata AltGr (o la tecla Alt derecha) en un teclado de 104/105 teclas de una PC como una
tecla modificadora "Bloq Mayús secundaria" y tecla de activación de teclas inactivas para escribir
caracteres adicionales. Hay otras distribuciones alternativas disponibles, como Dvorak.
RH199-RHEL8.0-es-1-20190531 xvii
Introducción
NOTA
Cualquier carácter Unicode puede ingresarse en el entorno de escritorio GNOME
si conoce el código Unicode del carácter. Escriba Ctrl+Shift+U, seguido por
el código. Después de ingresar Ctrl+Shift+U, aparecerá una u subrayada que
indicará que el sistema espera la entrada del código Unicode.
Por ejemplo, la letra del alfabeto griego en minúscula lambda tiene el código U
+03BB y puede ingresarse escribiendo Ctrl+Shift+U, luego 03BB y, por último,
Enter.
Desde la línea de comandos, el usuario root puede cambiar los ajustes de configuración regional
de todo el sistema con el comando localectl. Si localectl se ejecuta sin argumentos,
muestra los ajustes actuales de configuración regional de todo el sistema.
En GNOME, un usuario administrativo puede cambiar esta configuración en Region & Language
(Región e idioma) haciendo clic en el botón Login Screen (Pantalla de inicio de sesión) ubicado
en la esquina superior derecha de la ventana. Al cambiar la opción de Language (Idioma) de la
pantalla de inicio de sesión gráfico, también ajustará el valor de idioma predeterminado de todo el
sistema en el archivo de configuración /etc/locale.conf.
IMPORTANTE
Las consolas virtuales basadas en texto, como tty4, pueden mostrar una cantidad
más limitada de fuentes que los terminales en una consola virtual que ejecuta un
entorno gráfico, o pseudoterminales para sesiones ssh. Por ejemplo, los caracteres
del japonés, coreano y chino posiblemente no se visualicen como se espera en una
consola virtual basada en texto. Por este motivo, debe considerar el uso de inglés u
otro idioma con un conjunto de caracteres latinos para los valores predeterminados
para todo el sistema.
De manera similar, las consolas virtuales basadas en texto soportan una cantidad
limitada de métodos de entrada; y esto se administra de manera separada
desde el entorno gráfico de escritorio. Las opciones de entrada globales
pueden ser configuradas a través localectl de la consola de texto virtual y del
entorno gráfico. Para obtener más información, consulte las páginas del manual
localectl(1) y vconsole.conf(5).
xviii RH199-RHEL8.0-es-1-20190531
Introducción
PAQUETES DE IDIOMAS
Paquetes de RPM especiales llamados langpacks instalan paquetes de idiomas que agregan
soporte para idiomas específicos. Estos paquetes de idiomas usan dependencias para instalar
automáticamente paquetes de RPM adicionales que contienen localizaciones, diccionarios y
traducciones para otros paquetes de software en su sistema.
Use yum list langpacks-* para enumerar los paquetes de idiomas que están instalados y
que pueden instalarse:
Para agregar soporte de idioma, instale el paquete langpacks correcto. Por ejemplo, el siguiente
comando agrega soporte para francés:
Use yum repoquery --whatsupplements para determinar qué paquetes de RPM pueden ser
instalados por un paquete de idiomas:
RH199-RHEL8.0-es-1-20190531 xix
Introducción
IMPORTANTE
Los paquetes langpacks usan dependencias débiles de RPM para instalar paquetes
complementarios solo cuando el paquete principal (core) que lo necesita también
está instalado.
REFERENCIAS
Páginas del manual: locale(7), localectl(1), locale.conf(5),
vconsole.conf(5), unicode(7) y utf-8(7).
Las conversiones entre los nombres de las configuraciones X11 del entorno de
escritorio gráfico y sus nombres en localectl se pueden encontrar en el archivo /
usr/share/X11/xkb/rules/base.lst.
Códigos de idioma
Asamés as as_IN.utf8
Bengalí bn bn_IN.utf8
Francés fr fr_FR.utf8
Alemán de de_DE.utf8
Guyaratí Gu gu_IN.utf8
xx RH199-RHEL8.0-es-1-20190531
Introducción
Hindi hi hi_IN.utf8
Italiano it it_IT.utf8
Japonés ja ja_JP.utf8
Canarés kn kn_IN.utf8
Coreano ko ko_KR.utf8
Malayalam ml ml_IN.utf8
Maratí mr mr_IN.utf8
Odia or or_IN.utf8
Punyabí pa pa_IN.utf8
Ruso ru ru_RU.utf8
Español es es_ES.utf8
Tamil ta ta_IN.utf8
Telugú te te_IN.utf8
RH199-RHEL8.0-es-1-20190531 xxi
xxii RH199-RHEL8.0-es-1-20190531
CAPÍTULO 1
ACCEDER A SISTEMAS Y
OBTENER SOPORTE
META Inicie sesión en el sistema Linux local y remoto e
investigue los métodos de resolución de problemas
provistos a través de Red Hat Support y Red Hat
Insights.
RH199-RHEL8.0-es-1-20190531 1
CAPÍTULO 1 | Acceder a sistemas y obtener soporte
OBJETIVOS
Tras finalizar esta sección, deberá ser capaz de iniciar sesión en un sistema Linux y ejecutar
comandos simples a través de la shell.
Si una shell se usa de manera interactiva, muestra una cadena cuando espera un comando del
usuario. Esto recibe el nombre de prompt de shell. Cuando un usuario normal inicia una shell, el
prompt predeterminado finaliza con un carácter $, como se muestra a continuación.
[user@host ~]$
[root@host ~]#
El uso de bash para ejecutar comandos puede ser eficaz. La shell bash proporciona un
lenguaje de secuencia de comandos capaz de admitir la automatización de tareas. La shell tiene
capacidades adicionales que pueden simplificar operaciones o posibilitar aquellas que son difíciles
de realizar con herramientas gráficas.
NOTA
La shell bash es similar en concepto al intérprete de la línea de comandos
disponible en versiones recientes de Microsoft Windowscmd.exe, pero bash
posee un lenguaje de secuencia de comandos más sofisticado. También es
similar a Windows PowerShell en Windows 7 y Windows Server 2008 R2. A los
administradores de Apple Mac que usan la utilidad Terminal les agradará saber que
bash es la shell predeterminada en MacOS.
2 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 1 | Acceder a sistemas y obtener soporte
El comando es el nombre del programa que se ejecuta. Puede estar seguido de una o más
opciones que ajustan el comportamiento del comando o lo que hará. Las opciones generalmente
comienzan con uno o dos guiones (-a o --all, por ejemplo) para que se distingan de los
argumentos. Los comandos pueden estar seguidos por uno o más argumentos, que generalmente
indican un destino sobre el cual el comando debe operar.
Por ejemplo, el comando usermod -L user01 tiene un comando (usermod), una opción (-L)
y un argumento (user01). El efecto de este comando es bloquear la contraseña de la cuenta del
usuario user01.
La computadora puede tener un teclado y una pantalla de hardware para la entrada y salida
directamente conectados a ella. Esta es la consola física de la máquina Linux. La consola
física admite varias consolas virtuales que pueden ejecutar terminales independientes. Cada
consola virtual admite un inicio de sesión independiente. Puede cambiar entre ellas presionando
Ctrl+Alt y una tecla de función (F1 a F6) al mismo tiempo. La mayoría de estas consolas
virtuales ejecutan un terminal con un prompt de inicio de sesión de texto y, si ingresa su nombre de
usuario y contraseña correctamente, iniciará sesión y obtendrá un prompt de shell.
La computadora puede proporcionar un prompt de inicio de sesión gráfico en una de las consolas
virtuales. Puede usar esto para iniciar sesión en un entorno gráfico. El entorno gráfico también
se ejecuta en una consola virtual. Para obtener un prompt de shell, debe iniciar un programa de
terminal en el entorno gráfico. El prompt de shell se proporciona en una ventana de aplicación de
su programa de terminal gráfico.
NOTA
Muchos administradores de sistemas eligen no ejecutar un entorno gráfico en sus
servidores. Esto permite que los servicios del servidor usen los recursos que de otra
forma usaría el entorno gráfico.
Si inicia sesión con la pantalla de inicio de sesión gráfica, su entorno gráfico se iniciará en
la primera consola virtual que no se encuentre en uso en una sesión de inicio de sesión.
Normalmente, la sesión gráfica reemplazará al prompt de inicio de sesión en la segunda consola
virtual (tty2). Sin embargo, si esa consola está en uso en una sesión de inicio de sesión de texto
activa (no solo en un prompt de inicio de sesión), en su lugar, se usa la siguiente consola virtual
libre.
La pantalla de inicio de sesión gráfico se sigue ejecutando en la primera consola virtual (tty1).
Si ya ha iniciado sesión en una sesión gráfica e inicia sesión con otro usuario en la pantalla de
inicio de sesión gráfica, o si usa el ítem de menú Switch User (Cambiar usuario) para cambiar de
RH199-RHEL8.0-es-1-20190531 3
CAPÍTULO 1 | Acceder a sistemas y obtener soporte
usuario en el entorno gráfico sin cerrar sesión, se iniciará otro entorno gráfico para ese usuario en
la siguiente consola virtual libre.
Cuando cierra sesión en un entorno gráfico, la sesión se cerrará y la consola física volverá
automáticamente a la pantalla de inicio de sesión gráfica de la primera consola virtual.
NOTA
En Red Hat Enterprise Linux 6 y 7, la pantalla de inicio de sesión gráfica se ejecuta
en la primera consola virtual; sin embargo, al iniciar sesión, el entorno gráfico inicial
reemplaza a la pantalla de inicio de sesión de la primera consola virtual en lugar de
iniciarse en una nueva consola virtual.
La consola serial normalmente se usaría para reparar el servidor si su propia tarjeta de red tuviera
una configuración incorrecta y el inicio de sesión a través de su propia conexión de red fuera
imposible. Sin embargo, la mayoría de las veces se accede a los servidores sin periféricos por otros
medios a través de la red.
En Linux, la forma más común de obtener un prompt de shell en un sistema remoto es usar Secure
Shell (SSH). La mayoría de los sistemas Linux (incluidos los que usan Red Hat Enterprise Linux) y
macOS proporcionan el programa de línea de comandos OpenSSH ssh para este propósito.
En este ejemplo, un usuario con un prompt de shell en la máquina host usa ssh para iniciar sesión
en el sistema Linux remoto remotehost como el usuario remoteuser:
El comando ssh cifra la conexión para proteger la comunicación contra el espionaje o el robo de
contraseñas y contenido.
Algunos sistemas (como las nuevas instancias en la nube) no permiten que los usuarios usen
una contraseña para iniciar sesión con ssh para mejorar la seguridad. Una forma alternativa de
4 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 1 | Acceder a sistemas y obtener soporte
autenticarse en una máquina remota sin ingresar una contraseña es a través de la autenticación de
clave pública.
Con este método de autenticación, los usuarios tienen un archivo de identidad especial que
contiene una clave privada, equivalente a una contraseña, que mantienen en secreto. Su cuenta
en el servidor está configurada con una clave pública, que no tiene que ser secreta. Al iniciar
sesión, los usuarios pueden configurar ssh para proporcionar la clave privada y, si su clave pública
coincidente está instalada en esa cuenta en ese servidor remoto, iniciarán sesión sin necesitar una
contraseña.
En el siguiente ejemplo, un usuario con un prompt de shell en la máquina host inicia sesión en
remotehost como remoteuser con ssh, mediante autenticación de clave pública. La opción -i
se usa para especificar el archivo de clave privada del usuario, que es mylab.pem. La clave pública
coincidente ya está configurada como una clave autorizada en la cuenta remoteuser.
Para que esto funcione, el archivo de clave privada debe ser legible solo para el propietario del
archivo. En el ejemplo anterior, donde la clave privada está en el archivo mylab.pem, el comando
chmod 600 mylab.pem podría usarse para garantizar esto. La forma de configurar los permisos
de archivo se describe en más detalle en un capítulo posterior.
Los usuarios también pueden tener configuradas claves privadas que se prueban
automáticamente, pero ese asunto está fuera del alcance de esta sección. En las referencias que
aparecen al final de esta sección, hay más información acerca de este tema.
RH199-RHEL8.0-es-1-20190531 5
CAPÍTULO 1 | Acceder a sistemas y obtener soporte
NOTA
La primera vez que inicie sesión en una nueva máquina, ssh le mostrará una
advertencia de que no puede establecer la autenticidad del host:
Cada vez que se conecta a un host remoto con ssh, el host remoto envía a ssh su
clave de host para autenticarse y para ayudar a configurar la comunicación cifrada.
El comando ssh compara eso con una lista de claves de host guardadas para
asegurarse de que no haya cambiado. Si la clave del host ha cambiado, esto podría
indicar que alguien está tratando de fingir ser ese host para capturar la conexión, lo
que también se conoce como ataque de intermediario. En SSH, las claves de host
protegen contra los ataques de intermediario; estas claves de host son únicas para
cada servidor, y deben cambiarse periódicamente y siempre que se sospeche una
violación a la seguridad.
Recibirá esta advertencia si su máquina local no tiene una clave de host guardada
para el host remoto. Si introduce yes, la clave de host que envió el host remoto se
aceptará y se guardará para referencia futura. El inicio de sesión continuará y no
deberá volver a ver este mensaje cuando se conecte a este host. Si introduce no, se
rechazará la clave de host y se cerrará la conexión.
Si la máquina local tiene una clave de host guardada y no coincide con la que
realmente envió el host remoto, la conexión se cerrará automáticamente con una
advertencia.
CERRAR SESIÓN
Cuando haya terminado de usar la shell y desee salir, puede elegir una de las varias formas de
finalizar la sesión. Puede introducir el comando exit para finalizar la sesión de shell actual. Como
alternativa, puede terminar una sesión presionando Ctrl+D.
6 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 1 | Acceder a sistemas y obtener soporte
REFERENCIAS
Páginas del manual intro(1), bash(1), console(4), pts(4), ssh(1) y ssh-
keygen(1)
NOTA
Al final de la siguiente sección, se incluyen instrucciones sobre cómo leer las páginas
man y otros documentos de ayuda en línea.
RH199-RHEL8.0-es-1-20190531 7
CAPÍTULO 1 | Acceder a sistemas y obtener soporte
CUESTIONARIO
1. ¿Qué término describe al intérprete que ejecuta los comandos escritos como
secuencias?
a. Comando
b. Consola
c. Shell
d. Terminal
2. ¿Qué término describe la indicación visual que muestra que una shell interactiva espera
que el usuario escriba un comando?
a. Argumento
b. Comando
c. Opción
d. Prompt
8 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 1 | Acceder a sistemas y obtener soporte
6. ¿Qué término describe el hardware de pantalla y el teclado que se usan para interactuar
con un sistema?
a. Consola física
b. Consola virtual
c. Shell
d. Terminal
7. ¿Qué término describe a una de las varias consolas lógicas, de las cuales cada una
puede respaldar una sesión de inicio de sesión independiente?
a. Consola física
b. Consola virtual
c. Shell
d. Terminal
8. ¿Qué término describe a una interfaz que proporciona una pantalla de salida y un
teclado de entrada en una sesión de shell?
a. Consola
b. Consola virtual
c. Shell
d. Terminal
RH199-RHEL8.0-es-1-20190531 9
CAPÍTULO 1 | Acceder a sistemas y obtener soporte
SOLUCIÓN
1. ¿Qué término describe al intérprete que ejecuta los comandos escritos como
secuencias?
a. Comando
b. Consola
c. Shell
d. Terminal
2. ¿Qué término describe la indicación visual que muestra que una shell interactiva espera
que el usuario escriba un comando?
a. Argumento
b. Comando
c. Opción
d. Prompt
10 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 1 | Acceder a sistemas y obtener soporte
6. ¿Qué término describe el hardware de pantalla y el teclado que se usan para interactuar
con un sistema?
a. Consola física
b. Consola virtual
c. Shell
d. Terminal
7. ¿Qué término describe a una de las varias consolas lógicas, de las cuales cada una
puede respaldar una sesión de inicio de sesión independiente?
a. Consola física
b. Consola virtual
c. Shell
d. Terminal
8. ¿Qué término describe a una interfaz que proporciona una pantalla de salida y un
teclado de entrada en una sesión de shell?
a. Consola
b. Consola virtual
c. Shell
d. Terminal
RH199-RHEL8.0-es-1-20190531 11
CAPÍTULO 1 | Acceder a sistemas y obtener soporte
CONFIGURACIÓN DE AUTENTICACIÓN
BASADA EN CLAVES SSH
OBJETIVOS
Tras finalizar esta sección, deberá poder configurar una cuenta de usuario para emplear la
autenticación basada en claves e iniciar sesión en sistemas remotos de forma segura y sin una
contraseña.
Para hacer esto, genera un par coincidente de archivos de claves criptográficas. Una es una clave
privada, la otra una clave pública coincidente. El archivo de clave privada se usa como credencial
de autenticación y, al igual que una contraseña, debe ser secreta y segura. La clave pública se
copia en los sistemas con los que el usuario desea conectarse y se usa para verificar la clave
privada. No es necesario que la clave pública sea secreta.
Coloque una copia de la clave pública en su cuenta en el servidor. Cuando intenta iniciar sesión,
el servidor SSH puede usar la clave pública para emitir un desafío que solo puede ser respondido
correctamente usando la clave privada. Como resultado, su cliente ssh puede autenticar
automáticamente su inicio de sesión en el servidor con su copia única de la clave privada. Esto le
permite acceder a los sistemas de manera segura sin que sea necesario ingresar siempre en forma
interactiva una contraseña.
12 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 1 | Acceder a sistemas y obtener soporte
|.+% O . + B . |
|=*oO . . + * |
|++. . +. |
+----[SHA256]-----+
Puede ejecutar un programa de ayuda llamado ssh-agent que puede almacenar temporalmente
en la memoria caché la contraseña de la clave privada al inicio de la sesión para obtener una
verdadera autenticación sin contraseña. Hablaremos de esto más adelante en esta sección.
La opción -f con el comando ssh-keygen determina los archivos donde se guardan las
claves. En el ejemplo anterior, las claves privada y pública se guardan en los archivos /home/
user/.ssh/key-with-pass /home/user/.ssh/key-with-pass.pub, respectivamente.
ADVERTENCIA
Durante la generación de pares de claves SSH adicionales, a menos que especifique
un nombre de archivo único, se le solicitará permiso para sobrescribir los archivos
id_rsa y id_rsa.pub existentes. Si sobrescribe los archivos id_rsa y
id_rsa.pub existentes, entonces debe reemplazar la clave pública anterior con la
nueva en todos los servidores SSH que tienen su clave pública anterior.
RH199-RHEL8.0-es-1-20190531 13
CAPÍTULO 1 | Acceder a sistemas y obtener soporte
Una vez que se hayan generado las claves SSH, se guardarán de modo predeterminado en el
directorio .ssh/ del directorio principal del usuario. Los modos de permisos deben ser 600 en la
clave privada y 644 en la clave pública.
Una vez que la clave pública se transfiere de forma satisfactoria a un sistema remoto, puede
realizar la autenticación en el sistema remoto por medio de la clave privada correspondiente
mientras inicia sesión en el sistema remoto a través de SSH. Si omite la ruta al archivo de la
clave privada mientras ejecuta el comando ssh, se usa el archivo /home/user/.ssh/id_rsa
predeterminado.
14 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 1 | Acceder a sistemas y obtener soporte
Si inicia sesión en una consola de texto, inicie sesión con ssh, o usa sudo o su, probablemente
deberá iniciar ssh-agent manualmente para esa sesión. Puedes hacer esto con el siguiente
comando:
NOTA
Cuando ejecuta ssh-agent, este imprime algunos comandos de shell. Debe
ejecutar estos comandos para configurar las variables de entorno utilizadas por
programas como ssh-add para que se comuniquen con estos. El comando eval
$(ssh-agent) inicia ssh-agent y ejecuta esos comandos para establecer
automáticamente esas variables de entorno para esa sesión de shell. También
muestra el PID del proceso ssh-agent.
Una vez que ssh-agent se está ejecutando, debe decirle la frase de contraseña para su clave
privada o sus claves. Puede hacerlo con el comando ssh-add.
Los siguientes comandos ssh-add agregan las claves privadas desde los archivos /
home/user/.ssh/id_rsa (de manera predeterminada) y /home/user/.ssh/key-with-
pass, respectivamente.
Después de agregar las claves privadas satisfactoriamente al proceso sh-agent, puede invocar
una conexión SSH por medio del comando ssh. Si está usando un archivo de clave privada que
no es el archivo /home/user/.ssh/id_rsa predeterminado, debe usar la opción -i con el
comando ssh para especificar la ruta al archivo de la clave privada.
En el siguiente ejemplo del comando ssh, se usa el archivo de clave privada predeterminado para
realizar la autenticación en un servidor SSH.
En el siguiente ejemplo del comando ssh, se usa el archivo de clave privada /home/user/.ssh/
key-with-pass (no predeterminado) para realizar la autenticación en un servidor SSH. La
clave privada en el siguiente ejemplo ya se ha descifrado y agregado a su proceso principalssh-
agent, por lo que el comando ssh no le solicita que descifre la clave privada mediante el ingreso
interactivo de su frase de contraseña.
RH199-RHEL8.0-es-1-20190531 15
CAPÍTULO 1 | Acceder a sistemas y obtener soporte
Cuando sales de la sesión que comenzó ssh-agent , el proceso se cerrará y las frases de
contraseña de sus claves privadas se borrarán de la memoria.
REFERENCIAS
Páginas de manual ssh-keygen(1), ssh-copy-id(1), ssh-agent(1),ssh-add(1)
16 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 1 | Acceder a sistemas y obtener soporte
EJERCICIO GUIADO
CONFIGURACIÓN DE AUTENTICACIÓN
BASADA EN CLAVES SSH
En este ejercicio, configurará un usuario para realizar una autenticación basada en claves
para SSH.
RESULTADOS
Usted debe poder realizar lo siguiente:
• Realizar la autenticación mediante claves SSH sin frase de contraseña y mediante claves
SSH protegidas con frase de contraseña.
ANDES DE COMENZAR
Inicie sesión en workstation como student con la contraseña student.
2. Use el comando su para cambiar al usuario operator1 en serverb. Use redhat como la
contraseña de operator1.
3. Use el comando ssh-keygen para generar claves SSH. No ingrese una frase de
contraseña.
RH199-RHEL8.0-es-1-20190531 17
CAPÍTULO 1 | Acceder a sistemas y obtener soporte
4. Use el comando ssh-copy-id para enviar la clave pública del par de claves SSH a
operator1 en servera. Use redhat como la contraseña de operator1 en servera.
5. Ejecute el comando hostname en servera de forma remota usando SSH sin acceder a la
shell interactiva remota.
Tenga en cuenta que el comando ssh anterior no le solicitó una contraseña porque usó
la clave privada sin frase de contraseña correspondiente a la clave pública exportada para
realizar la autenticación como operator1 en servera. Este enfoque no es seguro, ya
que cualquier persona que tenga acceso al archivo de clave privada puede iniciar sesión
en servera como operator1. La alternativa segura es proteger la clave privada con una
frase de contraseña, lo cual se describe en el siguiente paso.
18 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 1 | Acceder a sistemas y obtener soporte
6. Use el comando ssh-keygen para generar otro conjunto de claves SSH protegidas con
frase de contraseña. Guarde la clave como /home/operator1/.ssh/key2. Utilice
redhatpass como la frase de contraseña de la clave privada.
ADVERTENCIA
Si no especifica el archivo donde se guarda la clave, se usa el archivo
predeterminado (/home/user/.ssh/id_rsa). Ya ha usado el nombre de
archivo predeterminado al generar claves SSH en el paso anterior, por lo que es
fundamental que especifique un archivo no predeterminado. De lo contrario, las
claves SSH existentes se sobrescribirán.
7. Use el comando ssh-copy-id para enviar la clave pública del par de claves protegidas con
con frase de contraseña a operator1 en servera.
RH199-RHEL8.0-es-1-20190531 19
CAPÍTULO 1 | Acceder a sistemas y obtener soporte
8. Ejecute el comando hostname en servera de forma remota con SSH sin acceder a
la shell interactiva remota. Use /home/operator1/.ssh/key2 como el archivo de
identidad. Ingrese la frase de contraseña redhatpass que definió para la clave privada en
el paso anterior.
Tenga en cuenta que el comando ssh anterior le solicitó la frase de contraseña que
usó para proteger la clave privada del par de claves SSH. Esta frase de contraseña
protege la clave privada. Si un atacante obtiene acceso a la clave privada, no podrá usarla
para acceder a otros sistemas porque la clave privada está protegida con una frase de
contraseña. El comando ssh usa una frase de contraseña diferente a la frase de contraseña
para operator1 en servera, lo que exige que los usuarios conozcan ambas.
Puede usar ssh-agent, como en el siguiente paso, para evitar escribir de forma interactiva
la frase de contraseña al iniciar sesión con SSH. El uso de ssh-agent resulta más
conveniente y más seguro en situaciones donde los administradores inician sesión en
sistemas remotos con regularidad.
9. Ejecute ssh-agent en la shell Bash y agregue la clave privada protegida con frase de
contraseña (/home/operator1/.ssh/key2) del par de claves SSH a la sesión de shell.
El comando eval anterior inició ssh-agent y configuró esta sesión de shell para usarla.
Así, usó ssh-add para proporcionar la clave privada desbloqueada para ssh-agent.
10. Ejecute el comando hostname en servera de forma remota sin acceder a la shell
interactiva remota. Use /home/operator1/.ssh/key2 como el archivo de identidad.
Tenga en cuenta que el comando ssh anterior no le solicitó que ingrese la frase de
contraseña de forma interactiva.
11. Abra otro terminal en workstation y abra una sesión de SSH en serverb como
student.
12. En serverb, use el comando su para cambiar a operator1 e invocar una conexión SSH
en servera. Use /home/operator1/.ssh/key2 como el archivo de identidad para
realizar la autenticación por medio de claves SSH.
20 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 1 | Acceder a sistemas y obtener soporte
12.1. Use el comando su para cambiar a operator1. Use redhat como la contraseña de
operator1.
13. Salga de todas las shells que está utilizando en el segundo terminal.
13.2. Salga de las shells operator1 y student en serverb para volver a la shell del
usuario student en workstation.
14.1. Desde el primer terminal, salga de la shell del usuario operator1 en serverb.
El comando exit hizo que saliera de la shell del usuario operator1, finalizando la
sesión de la shell donde ssh-agent estaba activo, y volviera a la shell del usuario
student en serverb.
RH199-RHEL8.0-es-1-20190531 21
CAPÍTULO 1 | Acceder a sistemas y obtener soporte
14.2.Salga de la shell del usuario student en serverb para volver a la shell del usuario
student en workstation.
Finalizar
En workstation, ejecute lab ssh-configure finish para terminar este ejercicio.
22 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 1 | Acceder a sistemas y obtener soporte
OBJETIVOS
Tras finalizar esta sección, usted deberá poder describir los recursos clave disponibles en el portal
de clientes de Red Hat y usarlos para encontrar información en la documentación y la base de
conocimientos de Red Hat.
Hay algunas secciones del sitio de acceso público y otras áreas están solo disponibles para
clientes con suscripciones activas. Obtenga ayuda para acceder al portal de clientes en https://
access.redhat.com/help/.
El recorrido es una herramienta muy útil para descubrir todo lo que el portal tiene para ofrecer y
la manera de aprovechar al máximo su suscripción de Red Hat. Una vez que haya iniciado sesión
en el portal de clientes de Red Hat, haga clic en Tour the Customer Portal (Recorrido del portal de
clientes).
RH199-RHEL8.0-es-1-20190531 23
CAPÍTULO 1 | Acceder a sistemas y obtener soporte
Subscriptions (Suscripciones) abre una página nueva donde puede administrar los sistemas
registrados y el uso de suscripciones y derechos. Enumera información sobre las erratas que se
aplican y le permite crear claves de activación que puede usar al registrar sistemas para garantizar
que obtengan los derechos de las suscripciones correctas. Tenga en cuenta que si usted es parte
de una organización, el administrador de su organización puede limitar su acceso a esta página.
Downloads (Descargas) abre una página nueva que le permite acceder a las descargas de
productos y solicitar derechos de evaluación para productos para los que no tiene derechos.
Support Cases (Casos de soporte) abre una página nueva que brinda acceso para crear, rastrear y
administrar los casos de soporte a través del sistema de administración de casos, suponiendo que
su organización ha autorizado ese nivel de acceso.
Su nombre es el título de User Menu (Menú del usuario), que le permite administrar su cuenta,
las cuentas para las que es administrador de la organización, su perfil personal y las opciones de
notificaciones por correo electrónico de contenido nuevo que está disponible.
El icono de globo terráqueo abre el menú Select Your Language (Elija su idioma) para especificar
sus preferencias de idioma para el portal de clientes.
Menús de temas
Debajo de la barra de navegación superior en la página principal del portal de clientes hay menús
que puede usar para navegar a las cuatro categorías principales de recursos disponibles en el sitio.
Products & Services (Productos y servicios) proporciona acceso a Product Hubs (Centros de
productos), páginas que proporcionan acceso a evaluaciones, resúmenes, guías de inicio y otra
información de soporte específica para el producto. También puede acceder a la documentación
para productos de Red Hat, vínculos directos a la base de conocimientos de artículos de soporte, e
información sobre políticas de soporte y cómo ponerse en contacto con el soporte de Red Hat.
24 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 1 | Acceder a sistemas y obtener soporte
El menú Tools (Herramientas) proporciona vínculos a herramientas para ayudarlo a tener éxito
con los productos de Red Hat. La sección Solution Engine (Motor de soluciones) proporciona
una manera eficiente de buscar soluciones a sus problemas rápidamente, por producto, y de
abrir un ticket de soporte si no encuentra una solución satisfactoria. La sección Customer Portal
Labs (Trabajos de laboratorio del portal de clientes) proporciona una colección de aplicaciones
y herramientas web para ayudarlo a mejorar el rendimiento, diagnosticar problemas, identificar
problemas de seguridad y optimizar sus configuraciones. Por ejemplo, Product Life Cycle Checker
(Comprobador del ciclo de vida del producto) permite seleccionar un producto en particular y ver
su programa de ciclo de vida de soporte. Otra herramienta, Rescue Mode Assistant (Asistente de
modo de rescate), ayuda a restablecer la contraseña de root de un sistema, generar informes de
diagnóstico o corregir problemas de arranque con los sistemas de archivos. Pero hay muchas otras
herramientas disponibles en ese sitio.
Finalmente, la sección Community (Comunidad) permite que los expertos, clientes y partners de
Red Hat se comuniquen y colaboren. Aquí encontrará foros de debate, blogs e información sobre
los próximos eventos en su zona.
RH199-RHEL8.0-es-1-20190531 25
CAPÍTULO 1 | Acceder a sistemas y obtener soporte
NOTA
Debe completar todo el recorrido en Primeros pasos con Red Hat [https://
access.redhat.com/start], incluidas las secciones sobre cómo personalizar su
experiencia en el portal de clientes y explorar los beneficios de su suscripción de
Red Hat, para obtener toda la información sobre el portal de clientes. Necesitará al
menos una suscripción activa en su cuenta del portal de clientes para acceder a esta
página.
26 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 1 | Acceder a sistemas y obtener soporte
Type the number of the solution to view or 'e' to return to the previous menu.
1 [ 253273:VER] How to register and subscribe a system to the Red Hat Customer
Portal using Red Hat Subscription-Manager
2 [ 265523:VER] Enabling or disabling a repository using Red Hat Subscription
Management
3 [ 100423:VER] Why does subscription-manager list return: "No Installed
Products found" ?
...output omitted...
Select a Solution: 1
Seleccione el artículo número 1 como se indica arriba y se le solicitará que seleccione la sección del
documento para leer. Finalmente, use la tecla Q para salir de la sección en la que se encuentra o
úsela repetidamente para salir del comando redhat-support-tool.
Select a Solution: 1
Type the number of the section to view or 'e' to return to the previous menu.
1 Title
2 Issue
3 Environment
4 Resolution
5 Display all sections
End of options.
Section: 1
Title
===============================================================================
How to register and subscribe a system to the Red Hat Customer Portal using Red
Hat Subscription-Manager
URL: https://access.redhat.com/solutions/253273
Created On: None
Modified On: 2017-11-29T15:33:51Z
(END) q
Section:
Section: q
Select a Solution: q
RH199-RHEL8.0-es-1-20190531 27
CAPÍTULO 1 | Acceder a sistemas y obtener soporte
Title
===============================================================================
How to register and subscribe a system to the Red Hat Customer Portal using Red
Hat Subscription-Manager
URL: https://access.redhat.com/solutions/253273
Created On: None
Modified On: 2017-11-29T15:33:51Z
Issue
===============================================================================
* How to register a new `Red Hat Enterprise Linux` system to the Customer Portal
using `Red Hat Subscription-Manager`
...output omitted...
Defina el problema. Indique el problema y los síntomas con claridad. Sea lo más específico posible.
Detalle los pasos que reproducirían el problema.
Reúna información básica. ¿Qué producto y versión se ven afectados? Esté preparado para brindar
información de diagnóstico relevante. que puede incluir la salida de sosreport, que se abordará
posteriormente en esta sección. En el caso de problemas del kernel, dicha información podría
incluir un vuelco de errores de kdump del sistema o una fotografía digital del seguimiento de kernel
mostrado en el monitor de un sistema bloqueado.
Determine el nivel de gravedad. Red Hat utiliza niveles de gravedad para clasificar problemas.
Los informes de problemas de gravedad Urgent (Urgente) y High (Alta) debe seguirse
28 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 1 | Acceder a sistemas y obtener soporte
mediante una llamada telefónica al centro de asistencia local pertinente (consulte https://
access.redhat.com/site/support/contact/technicalSupport).
GRAVEDAD DESCRIPCIÓN
Los detalles del caso, como producto, versión, resumen, descripción, gravedad y grupo de
caso, pueden asignarse con opciones de comandos o si se deja la solicitud de la herramienta de
información necesaria. En el siguiente ejemplo, se abre un caso nuevo. Se especifican las opciones
--product y --version.
RH199-RHEL8.0-es-1-20190531 29
CAPÍTULO 1 | Acceder a sistemas y obtener soporte
Please attach a SoS report to support case 01034421. Create a SoS report as
the root user and execute the following command to attach the SoS report
directly to the case:
redhat-support-tool addattachment -c 01034421 path to sosreport
Si no existe un informe de SoS actual, un administrador puede generar y adjuntar uno más tarde.
Use el comando redhat-support-tool addattachment para adjuntar el informe.
30 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 1 | Acceder a sistemas y obtener soporte
Type the number of the case to view or 'e' to return to the previous menu.
1 [Waiting on Red Hat] System fails to run without power
No more cases to display
Select a Case: 1
Type the number of the section to view or 'e' to return to the previous menu.
1 Case Details
2 Modify Case
3 Description
4 Recommendations
5 Get Attachment
6 Add Attachment
7 Add Comment
End of options.
Option: q
Select a Case: q
La herramienta Red Hat Support Tool cuenta con capacidades avanzadas de análisis y diagnóstico
de aplicaciones. Mediante el uso de archivos core (principales) de volcado de memoria tras fallas
del kernel, redhat-support-tool puede crear y extraer un seguimiento de pila. El archivo
core (principal) de volcado de memoria tras fallas del kernel se crea con el comando kdump. Un
seguimiento de pila es un informe de los marcos de pila (stack) activos en el punto de un volcado
de memoria tras falla y proporciona diagnósticos en las instalaciones. Una de las opciones de
redhat-support-tool es abrir un caso de soporte.
La herramienta también proporciona análisis de archivo de registro. Mediante el uso del comando
analyze de la herramienta, los archivos de registro de muchos tipos, como de sistema operativo,
JBoss, Python, Tomcat y oVirt, pueden analizarse para reconocer síntomas de problemas.
Los archivos de registro se pueden ver y diagnosticar individualmente. Proporcionar análisis
preprocesado, en oposición a datos sin procesar, como archivos de registro o vuelcos de errores,
permite que se abran los casos de asistencia y que se pongan a disposición de ingenieros más
rápidamente.
RH199-RHEL8.0-es-1-20190531 31
CAPÍTULO 1 | Acceder a sistemas y obtener soporte
REFERENCIAS
Página del manual: sosreport(1)
32 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 1 | Acceder a sistemas y obtener soporte
EJERCICIO GUIADO
RESULTADOS
Deberá ser capaz de generar un informe de diagnóstico con la consola web que podría
enviarse al portal de clientes de Red Hat como parte de un caso de soporte.
ANDES DE COMENZAR
Inicie sesión en workstation como student con la contraseña student.
1. En workstation, use el comando ssh para iniciar sesión en servera con el usuario
student.
2. Use el comando systemctl para confirmar que el servicio cockpit se está ejecutando.
Introduzca student como contraseña cuando se le solicite.
RH199-RHEL8.0-es-1-20190531 33
CAPÍTULO 1 | Acceder a sistemas y obtener soporte
4.3. Inicie sesión como el usuario root con redhat como contraseña. Ya ha iniciado sesión
como usuario privilegiado, lo cual es necesario para crear un informe de diagnóstico.
5. Cuando el informe esté listo, haga clic en Download report (Descargar informe). Guarde el
archivo.
5.1. Haga clic en el botón Download report (Descargar informe) y, luego, en el botón Save
File (Guardar archivo).
Finalizar
En workstation, ejecute el script lab support-portal finish para terminar este ejercicio.
34 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 1 | Acceder a sistemas y obtener soporte
DETECCIÓN Y RESOLUCIÓN DE
PROBLEMAS CON RED HAT INSIGHTS
OBJETIVOS
Después de completar esta sección, deberá ser capaz de usar Red Hat Insights para analizar los
servidores en busca de problemas, corregirlos o resolverlos, y confirmar que la solución funcionó.
Para cada problema detectado, Red Hat Insights proporciona estimaciones del riesgo presentado
y recomendaciones sobre cómo mitigar o remediar el problema. Estas recomendaciones pueden
proporcionar materiales, como Ansible Playbooks o instrucciones detalladas y legibles por
humanos para ayudarle a resolver el problema.
RH199-RHEL8.0-es-1-20190531 35
CAPÍTULO 1 | Acceder a sistemas y obtener soporte
Red Hat Insights. Estos datos se envían a Red Hat Insights con cifrado TLS para protegerlos en la
transferencia. También se anonimizan antes de enviarse.
Basado en las recomendaciones proporcionadas por el motor de reglas de Red Hat Insights, los
resultados del análisis se muestran en la consola de Red Hat Insights en el portal de la nube de
Red Hat en https://cloud.redhat.com/insights.
IMPORTANTE
El paquete insights-client reemplaza el paquete anterior redhat-access-insights que
se inicia con Red Hat Enterprise Linux 7.5.
Si su sistema está registrado para obtener derechos de software a través del servicio de
administración de suscripciones del portal de clientes, puede activar Red Hat Insights con un
comando. Use el comando insights-client --register para registrar el sistema.
36 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 1 | Acceder a sistemas y obtener soporte
Un derecho válido para Red Hat Insights debe adjuntarse al sistema; puede recibirlo como
parte de una suscripción de Red Hat Enterprise Linux.
NOTA
Este paso no es necesario en sistemas Red Hat Enterprise Linux 8.
RH199-RHEL8.0-es-1-20190531 37
CAPÍTULO 1 | Acceder a sistemas y obtener soporte
La página le permite ver las reglas según la gravedad y clasificar el riesgo de infraestructura
según la categoría. Cada regla se clasifica según el impacto potencial en una de las siguientes
áreas de operaciones: Disponibilidad, Estabilidad, Actuación y Seguridad
Rules (Reglas)
La página Rules (Reglas) proporciona una lista de las reglas de Insights y los hosts afectados.
En la página Rules (Reglas), notará que algunos de estos problemas están marcados con
una marca de verificación debajo de la columna del logotipo Ansible. Esto indica que el
problema tiene una guía de corrección de Ansible disponible. Los problemas con una marca de
verificación, no tienen una guía de corrección de Ansible, pero pueden tener instrucciones de
mitigación o corrección manuales en los detalles del problema.
Puede hacer clic en el nombre de la regla para ver todos los sistemas afectados. Cada
problema proporciona una descripción de cómo se puede manifestar el problema en
el sistema, y Remediate con Ansible (Remediar con Ansible) para crear una guía para la
remediación.
Inventory (Inventario)
En la página Inventory (Inventario), se proporciona una lista de los sistemas que ha registrado
con Red Hat Insights.
38 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 1 | Acceder a sistemas y obtener soporte
Puede filtrar fácilmente el inventario para ver sistemas específicos. En la columna Last Sync
(Última sincronización), se muestra la hora de la actualización de metadatos más reciente para
cada sistema.
Remediations (Remediaciones)
La página Remediations (Remediaciones) proporciona una lista de guías de Ansible creadas y
permite descargarlos.
Para ver los problemas informados por Red Hat Insights, el proceso general es el siguiente:
3. Seleccione Rule hits by severity (Resultados para regla por gravedad) para ver las
reglas según el Total Risk (Riesgo total) que plantean a la infraestructura registrada.
Alternativamente, seleccione Rule hits by category (Resultados para regla por categoría) para
ver el tipo de riesgo en función de la categoría.
4. Desplácese por la lista de reglas para ver información de alto nivel sobre riesgos, sistemas
expuestos y disponibilidad de la guía de Ansible para automatizar la remediación.
5. Haga clic en una regla para ver una descripción más detallada de la regla, haga clic en el
enlace para leer los artículos relevantes de la base de conocimiento y vea la lista de todos los
hosts afectados.
6. Haga clic en un host para ver información específica sobre los problemas detectados y los
pasos para resolver el problema.
RH199-RHEL8.0-es-1-20190531 39
CAPÍTULO 1 | Acceder a sistemas y obtener soporte
Cuando una regla coincide con su sistema e indica que existe un problema, se proporciona
información adicional con la regla para ayudarlo a comprender el problema, priorizar las tareas
para resolverlo, determinar qué mitigación o corrección está disponible y ayudarlo a automatizar
su resolución.
Cada regla se clasifica por tipo y tiene un nombre resumido y una descripción más larga para
explicar cuál es el problema. Normalmente, las reglas están vinculadas a los artículos de la base
de conocimientos en el portal de clientes con información adicional. El artículo de la base de
conocimientos puede proporcionar información sobre diferentes formas de mitigar o remediar un
problema, y brindar Ansible Playbooks u otros materiales para ayudar a automatizar la mitigación y
la corrección.
Algunos problemas son complejos de tratar y una solución completa puede requerir un reinicio o
un tiempo de inactividad. En ese caso, puede haber opciones para mitigar los problemas al reducir
su riesgo como medida temporal. La regla proporcionará puntuaciones del riesgo presentado por
el problema, en varias categorías diferentes.
Por ejemplo, considere un problema de seguridad que requiere una actualización de los paquetes
del kernel y un reinicio para corregirse, pero que también puede volverse muy difícil de explotar
con ciertos cambios de configuración temporales. Puede elegir aplicar los cambios temporales
inmediatamente y aplazar el reinicio hasta que pueda programar una ventana de mantenimiento
de emergencia.
Red Hat Insights clasifica el riesgo que presenta un problema para su sistema en cuatro categorías.
Evalúa el nivel de riesgo con estos niveles: Low (Bajo), Moderate (Moderado), Important
(Importante) y Critical (Crítico).
Las categorías Likelihood (Probabilidad), Impact (Impacto), Total Risk (Riesgo total)
y Risk of change (Riesgo del cambio) pronostican los factores de riesgo de un problema
detectado en sus sistemas suscritos.
Impact (Impacto)
Indica el nivel previsto de impacto de este problema en el sistema.
Likelihood (Probabilidad)
Indica la probabilidad de que un problema dado afecte al sistema.
40 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 1 | Acceder a sistemas y obtener soporte
Para ver los factores de riesgo previstos por varias reglas en Red Hat Insights, vaya a Overview
(Descripción general) o a la página Rules (Reglas). Cada regla muestra el icono para Total Risk
(Riesgo total) y Risk of Change (Riesgo de cambio)
Cuando haya identificado los problemas que desea abordar, puede resolverlos de forma manual o
automática. Una vez que el problema esté resuelto y el cliente de Red Hat Insights haya cargado
nuevos metadatos, la regla ya no debe coincidir con ese sistema y el problema debe desaparecer
de la lista de acciones recomendadas.
Navegue a la página Rules (Reglas). Haga clic en el nombre de la regla que se debe resolver.
2. Desplácese hacia abajo hasta Affected systems (Sistemas afectados) para ver todos los
sistemas afectados debido a la regla.
3. Haga clic en uno de los enlaces de sistemas afectados debajo de la columna Name (Nombre).
La página muestra una descripción de cómo el problema puede afectar al sistema y los pasos
para resolver el problema en el sistema. Siga las instrucciones en Pasos para resolver para
remediar el problema en el sistema.
RH199-RHEL8.0-es-1-20190531 41
CAPÍTULO 1 | Acceder a sistemas y obtener soporte
5. Después de aplicar los pasos de corrección, ejecute el siguiente comando como root en el
sistema para informar de los cambios a Red Hat Insights:
6. En la consola Red Hat Insights, navegue a la página Rules (Reglas). Haga clic en la regla y
desplácese hacia abajo a Affected systems (Sistemas afectados) y verifique que el problema
ya no aparezca en la lista de sistemas afectados.
42 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 1 | Acceder a sistemas y obtener soporte
REFERENCIAS
Páginas del manual: insights-client(8) y insights-client.conf(5)
Hay información disponible sobre los datos recopilados por Red Hat Insights en
Información del sistema recopilada por Red Hat Insights
https://access.redhat.com/articles/1598863
Hay información disponible sobre cómo excluir datos recopilados por Red Hat
Insights en
Optar por no enviar metadatos desde el cliente de Red Hat Insights
https://access.redhat.com/articles/2025273
RH199-RHEL8.0-es-1-20190531 43
CAPÍTULO 1 | Acceder a sistemas y obtener soporte
CUESTIONARIO
DETECCIÓN Y RESOLUCIÓN DE
PROBLEMAS CON RED HAT INSIGHTS
Elija las respuestas correctas para las siguientes preguntas:
1. ¿En qué orden ocurren los siguientes eventos cuando se administra un sistema de
Red Hat Enterprise Linux con Red Hat Insights?
1. Red Hat Insights analiza los metadatos del sistema para determinar qué problemas y
recomendaciones se aplican.
2. El cliente de Insights carga los metadatos del sistema al servicio de Red Hat Insights.
3. El administrador ve las acciones recomendadas en el portal de clientes de Red Hat
Insights.
4. Red Hat Insights recopila metadatos del sistema de Red Hat Enterprise Linux.
a. 1, 2, 3, 4
b. 4, 2, 1, 3
c. 4, 2, 3, 1
d. 4, 1, 2, 3
3. ¿Qué dos páginas en la consola de Red Hat Insights le permite mostrar una lista de
reglas, usando filtros basados en la categoría de riesgo? (Elija dos opciones).
a. Overview (Descripción general)
b. Inventory (Inventario)
c. Rules (Reglas)
d. Remediation (Remediación)
44 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 1 | Acceder a sistemas y obtener soporte
SOLUCIÓN
DETECCIÓN Y RESOLUCIÓN DE
PROBLEMAS CON RED HAT INSIGHTS
Elija las respuestas correctas para las siguientes preguntas:
1. ¿En qué orden ocurren los siguientes eventos cuando se administra un sistema de
Red Hat Enterprise Linux con Red Hat Insights?
1. Red Hat Insights analiza los metadatos del sistema para determinar qué problemas y
recomendaciones se aplican.
2. El cliente de Insights carga los metadatos del sistema al servicio de Red Hat Insights.
3. El administrador ve las acciones recomendadas en el portal de clientes de Red Hat
Insights.
4. Red Hat Insights recopila metadatos del sistema de Red Hat Enterprise Linux.
a. 1, 2, 3, 4
b. 4, 2, 1, 3
c. 4, 2, 3, 1
d. 4, 1, 2, 3
3. ¿Qué dos páginas en la consola de Red Hat Insights le permite mostrar una lista de
reglas, usando filtros basados en la categoría de riesgo? (Elija dos opciones).
a. Overview (Descripción general)
b. Inventory (Inventario)
c. Rules (Reglas)
d. Remediation (Remediación)
RH199-RHEL8.0-es-1-20190531 45
CAPÍTULO 1 | Acceder a sistemas y obtener soporte
RESUMEN
En este capítulo, aprendió lo siguiente:
• La shell Bash es un intérprete de comandos que solicita a los usuarios interactivos que
especifiquen los comandos de Linux.
• Muchos comandos tienen una opción --help que muestra un mensaje o una pantalla de uso.
• El comando ssh-keygen genera un par de claves SSH para la autenticación. El comando ssh-
copy-id exporta la clave pública a sistemas remotos.
• Red Hat Insights es una herramienta de análisis predictivo de SaaS que ayuda a identificar y
corregir las amenazas a la seguridad, el rendimiento, la disponibilidad y la estabilidad de los
sistemas.
46 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 2
RH199-RHEL8.0-es-1-20190531 47
CAPÍTULO 2 | Navegar por sistemas de archivos
DESCRIPCIÓN DE CONCEPTOS DE
LA JERARQUÍA DEL SISTEMA DE
ARCHIVOS LINUX
OBJETIVOS
Tras finalizar esta sección, deberá ser capaz de describir la manera en que Linux organiza los
archivos y los propósitos de diversos directorios en la jerarquía del sistema de archivos.
El directorio / es el directorio raíz (root) que está en la parte superior de la jerarquía del sistema
de archivos. El carácter / también se usa también como un separador de directorio en los nombres
de archivo. Por ejemplo, si etc es un subdirectorio del directorio /, podemos llamar a ese
directorio /etc. De la misma manera, si el directorio /etc contiene un archivo con el nombre
issue, podemos referirnos a ese archivo como /etc/issue.
Los subdirectorios de / se usan con fines estandarizados para organizar archivos por tipo y
objetivo. Esto facilita la posibilidad de encontrar archivos. Por ejemplo, en el directorio raíz, el
subdirectorio /boot se usa para guardar archivos que se necesitan para arrancar el sistema.
48 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 2 | Navegar por sistemas de archivos
NOTA
Los siguientes términos ayudan a describir el contenido del directorio del sistema de
archivos:
La siguiente tabla enumera algunos de los directorios más importantes del sistema por nombre y
objetivo.
UBICACIÓN PROPÓSITO
/var Datos variables específicos de este sistema que deberían conservarse entre
los arranques. Los archivos que cambian en forma dinámica (por ejemplo,
bases de datos, directorios caché, archivos de registro, documentos en cola
de impresión y contenido de sitio web) pueden encontrarse en /var.
/run Datos de tiempo de ejecución para procesos que se iniciaron desde el último
arranque. Esto incluye archivos de ID de proceso y archivos de bloqueo,
entre otros elementos. El contenido de este directorio se vuelve a crear en
el arranque nuevo. Este directorio consolida /var/run y /var/lock de
versiones anteriores de Red Hat Enterprise Linux.
/home Los directorios de inicio son aquellos donde los usuarios habituales guardan
sus datos personales y los archivos de configuración.
RH199-RHEL8.0-es-1-20190531 49
CAPÍTULO 2 | Navegar por sistemas de archivos
UBICACIÓN PROPÓSITO
/tmp Es un espacio con capacidad de escritura por parte de cualquier usuario del
sistema para archivos temporales. Los archivos a los que no se haya accedido,
y que no se hayan cambiado ni modificado durante 10 días se eliminan de este
directorio automáticamente. Existe otro directorio temporal, /var/tmp, en el
que los archivos que no tuvieron acceso, cambios ni modificaciones durante
más de 30 días se eliminan automáticamente.
/dev Contiene archivos de dispositivo especiales que el sistema usa para acceder al
hardware.
IMPORTANTE
En Red Hat Enterprise Linux 7 y versiones posteriores, cuatro directorios antiguos
en / tienen contenido idéntico al de sus equivalentes que están en /usr:
• /bin y /usr/bin
• /sbin y /usr/sbin
• /lib y /usr/lib
• /lib64 y /usr/lib64
REFERENCIAS
Página del manual: hier(7)
50 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 2 | Navegar por sistemas de archivos
CUESTIONARIO
DESCRIPCIÓN DE CONCEPTOS DE
LA JERARQUÍA DEL SISTEMA DE
ARCHIVOS LINUX
Elija las respuestas correctas para las siguientes preguntas:
2. ¿Qué directorio está en la parte superior de la jerarquía del sistema de archivos del
sistema?
a. /etc
b. /
c. /home/root
d. /root
5. ¿Qué directorio contiene datos dinámicos, como para bases de datos y sitios web?
a. /etc
b. /run
c. /usr
d. /var
RH199-RHEL8.0-es-1-20190531 51
CAPÍTULO 2 | Navegar por sistemas de archivos
52 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 2 | Navegar por sistemas de archivos
SOLUCIÓN
DESCRIPCIÓN DE CONCEPTOS DE
LA JERARQUÍA DEL SISTEMA DE
ARCHIVOS LINUX
Elija las respuestas correctas para las siguientes preguntas:
2. ¿Qué directorio está en la parte superior de la jerarquía del sistema de archivos del
sistema?
a. /etc
b. /
c. /home/root
d. /root
5. ¿Qué directorio contiene datos dinámicos, como para bases de datos y sitios web?
a. /etc
b. /run
c. /usr
d. /var
RH199-RHEL8.0-es-1-20190531 53
CAPÍTULO 2 | Navegar por sistemas de archivos
54 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 2 | Navegar por sistemas de archivos
OBJETIVOS
Tras finalizar esta sección, debería ser capaz de crear, copiar, mover y eliminar archivos y
directorios.
La siguiente tabla resume algunos de los comandos de administración de archivos más comunes.
El resto de esta sección analizará con más detalle las formas de usar estos comandos.
Creación de directorios
El comando mkdir crea uno o más directorios o subdirectorios. Toma como argumentos una lista
de rutas a los directorios que desea crear.
En el siguiente ejemplo, simule que está intentando crear un directorio en el directorio Videos
llamado Watched, pero que accidentalmente omite la letra "s" en Videos en su comando mkdir.
RH199-RHEL8.0-es-1-20190531 55
CAPÍTULO 2 | Navegar por sistemas de archivos
El comando mkdir generó un error porque Videos se escribió mal y el directorio Video no existe.
Si hubiera usado el comando mkdir con la opción -p, el directorio Video se crearía, lo cual no era
su intención original, y el subdirectorio Watched se crearía en ese directorio incorrecto.
Después de escribir correctamente el nombre del directorio principal Videos, la creación del
subdirectorio Watched se ejecutará de forma correcta.
Videos/Watched:
Use el comando mkdir -p y rutas relativas delimitadas por espacios para cada nombre de
subdirectorio a fin de crear varios directorios principales con subdirectorios.
Documents/ProjectX:
Documents/ProjectY:
Documents/Thesis:
Chapter1 Chapter2 Chapter3
Documents/Thesis/Chapter1:
Documents/Thesis/Chapter2:
Documents/Thesis/Chapter3:
Videos:
blockbuster1.ogg blockbuster2.ogg Watched
Videos/Watched:
56 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 2 | Navegar por sistemas de archivos
El último comando mkdir creó tres subdirectorios de ChapterN con un comando. La opción -p
creó el directorio principal faltante Thesis.
Copia de archivos
El comando cp copia un archivo y crea un archivo nuevo en el directorio actual o en el directorio
especificado. También puede copiar varios archivos en un directorio.
ADVERTENCIA
Si el archivo de destino ya existe, el comando cp sobrescribe el archivo.
Cuando se copian varios archivos con un comando, el último argumento debe ser un directorio.
Los archivos copiados conservan su nombre original en el directorio nuevo. Si existe un archivo
con el mismo nombre en el directorio de destino, el archivo existente se sobrescribe. De manera
predeterminada, cp no copia directorios; los omite.
Thesis:
Chapter1 Chapter2 Chapter3
En el primer comando cp, el directorio Thesis no se pudo copiar, pero sí lo hicieron los archivos
thesis_chapter1.odf y thesis_chapter2.odf.
Si desea copiar un archivo en el directorio de trabajo actual, puede usar el directorio especial .:
Use el comando de copiar con la opción -r —recursive— (recurrente) para copiar el directorio
Thesis y su contenido al directorio ProjectX.
RH199-RHEL8.0-es-1-20190531 57
CAPÍTULO 2 | Navegar por sistemas de archivos
ProjectX/Thesis:
Chapter1 Chapter2 Chapter3
ProjectX/Thesis/Chapter1:
ProjectX/Thesis/Chapter2:
thesis_chapter2.odf
ProjectX/Thesis/Chapter3:
IMPORTANTE
No existe una función de deshacer la eliminación de línea de comandos ni tampoco
una papelera de reciclaje desde donde se puedan restaurar los archivos que se
borraron.
58 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 2 | Navegar por sistemas de archivos
Si intenta utilizar el comando rm para eliminar un directorio sin utilizar la opción -r, el comando
fallará.
Thesis/Chapter1:
thesis_chapter1.odf
Thesis/Chapter2:
thesis_chapter2.odf
Thesis/Chapter3:
[user@host Documents]$ rm -r Thesis/Chapter1
[user@host Documents]$ ls -l Thesis
total 8
drwxrwxr-x. 2 user user 4096 Feb 11 12:47 Chapter2
drwxrwxr-x. 2 user user 4096 Feb 11 12:48 Chapter3
RH199-RHEL8.0-es-1-20190531 59
CAPÍTULO 2 | Navegar por sistemas de archivos
ADVERTENCIA
Si especifica tanto la opción -i como la -f, la opción -f tiene prioridad, y no se le
pedirá confirmación antes de que rm borre los archivos.
En el siguiente ejemplo, el comando rmdir solo elimina el directorio que está vacío. Al igual
que en el ejemplo anterior, debe usar el comando rm -r para eliminar un directorio que tiene
contenido.
NOTA
El comando rm sin opciones no puede eliminar un directorio vacío. Debes usar el
comando rmdir, rm -d (que equivale a rmdir), o rm -r.
REFERENCIAS
Páginas del manual cp(1), mkdir(1), mv(1), rm(1) y rmdir(1)
60 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 2 | Navegar por sistemas de archivos
EJERCICIO GUIADO
RESULTADOS
Deberá ser capaz de crear, organizar, copiar, y eliminar archivos y directorios.
ANDES DE COMENZAR
Inicie sesión en workstation como student con la contraseña student.
1. Use el comando ssh para iniciar sesión en servera como el usuario student. Los
sistemas se configuran para que usen claves SSH para la autenticación, por lo que no se
necesita una contraseña.
2. En el directorio de inicio del usuario student, use el comando mkdir para crear tres
subdirectorios: Music, Pictures y Videos.
3. Aún en el directorio de inicio del usuario student, use el comando touch para crear
conjuntos de archivos de práctica vacíos para usar durante este trabajo de laboratorio.
RH199-RHEL8.0-es-1-20190531 61
CAPÍTULO 2 | Navegar por sistemas de archivos
4. Aún en el directorio de inicio del usuario student, mueva los archivos de canciones al
subdirectorio Music, los archivos de instantáneas al subdirectorio Pictures y los archivos
de películas al subdirectorio Videos.
Cuando distribuya archivos desde una ubicación hacia muchas ubicaciones, primero
cambie el directorio que contiene los archivos de origen. Use la sintaxis de ruta más simple,
absoluta o relativa, para llegar al destino de cada tarea de administración de archivos.
Pictures:
total 0
-rw-rw-r--. 1 student student 0 Feb 4 18:23 snap1.jpg
-rw-rw-r--. 1 student student 0 Feb 4 18:23 snap2.jpg
-rw-rw-r--. 1 student student 0 Feb 4 18:23 snap3.jpg
62 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 2 | Navegar por sistemas de archivos
Videos:
total 0
-rw-rw-r--. 1 student student 0 Feb 4 18:23 film1.avi
-rw-rw-r--. 1 student student 0 Feb 4 18:23 film2.avi
-rw-rw-r--. 1 student student 0 Feb 4 18:23 film3.avi
-rw-rw-r--. 1 student student 0 Feb 4 18:23 film4.avi
-rw-rw-r--. 1 student student 0 Feb 4 18:23 film5.avi
-rw-rw-r--. 1 student student 0 Feb 4 18:23 film6.avi
5. Aún en el directorio de inicio del usuario student, cree tres subdirectorios para organizar
los archivos en proyectos. Nombre a los subdirectorios friends, family y work. Use un
solo comando para crear los tres subdirectorios al mismo tiempo.
Usará estos directorios para reorganizar los archivos en proyectos.
6. Copie una selección de los nuevos archivos a los directorios del proyecto family y
friends. Use todos los comandos que necesite. No tiene que usar un solo comando como
en el ejemplo. Para cada proyecto, primero pase al directorio del proyecto y, a continuación,
copie los archivos de origen en este directorio. Tenga en cuenta que está haciendo copias;
por lo tanto, los archivos originales permanecerán en sus ubicaciones originales una vez que
los archivos se hayan copiado a los directorios del proyecto.
• Copie los archivos (de todo tipo) que tengan los números 1 y 2 al subdirectorio friends.
• Copie los archivos (de todo tipo) que tengan los números 3 y 4 al subdirectorio family.
Cuando copie archivos de varias ubicaciones a una sola ubicación, Red Hat recomienda que
pase al directorio de destino antes de copiar los archivos. Use la sintaxis de ruta más simple,
absoluta o relativa, para llegar al origen de cada tarea de administración de archivos.
RH199-RHEL8.0-es-1-20190531 63
CAPÍTULO 2 | Navegar por sistemas de archivos
8. Las tareas del proyecto ya están terminadas, por lo que es hora de limpiar los proyectos.
Pase al directorio de inicio del usuario student. Intente eliminar los directorios del
proyecto family y friends con un solo comando rmdir.
[student@servera work]$ cd
[student@servera ~]$ rmdir family friends
rmdir: failed to remove 'family': Directory not empty
rmdir: failed to remove 'friends': Directory not empty
El uso del comando rmdir debería fallar porque ambos subdirectorios contienen archivos.
64 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 2 | Navegar por sistemas de archivos
10. Elimine todos los archivos del proyecto de trabajo, pero no elimine el directorio de trabajo.
11. Por último, desde el directorio de inicio del usuario student, use el comando rmdir para
eliminar el directorio work. El comando deberá ser capaz de completar la acción sin errores
ahora que está vacío.
[student@servera work]$ cd
[student@servera ~]$ rmdir work
[student@servera ~]$ ls -l
total 0
drwxrwxr-x. 2 student student 108 Feb 4 18:36 Music
drwxrwxr-x. 2 student student 108 Feb 4 18:36 Pictures
drwxrwxr-x. 2 student student 108 Feb 4 18:36 Videos
Finalizar
En workstation, ejecute el script lab files-manage finish para terminar este ejercicio.
Este script elimina todos los archivos y directorios creados durante el ejercicio.
RH199-RHEL8.0-es-1-20190531 65
CAPÍTULO 2 | Navegar por sistemas de archivos
OBJETIVOS
Tras finalizar esta sección, deberá ser capaz de hacer que varios nombres de archivo hagan
referencia al mismo archivo con enlaces duros y simbólicos (o "blandos").
Puede comprobar si un archivo tiene varios enlaces duros con el comando ls -l. Uno de los
datos que aparecen es el recuento de enlaces de cada archivo, es decir, la cantidad de enlaces
duros que tiene el archivo.
Puede usar el comando ln para crear un nuevo enlace duro (otro nombre) que apunte a un archivo
existente. El comando necesita al menos dos argumentos, una ruta al archivo existente y la ruta al
enlace duro que desea crear.
Si desea verificar si dos archivos tienen los mismos enlaces duros, una posibilidad es usar la opción
-i con el comando ls para enumerar el número de inodo de los archivos. Si los archivos están
66 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 2 | Navegar por sistemas de archivos
en el mismo sistema de archivos (que se explicará más adelante) y sus números de inodo son los
mismos, los archivos son enlaces duros que apuntan a los mismos datos.
IMPORTANTE
Todos los enlaces duros que hacen referencia al mismo archivo tendrán el mismo
recuento de enlaces, permiso de acceso, pertenencia a usuarios y grupos, marcas
de tiempo y contenido de archivo. Si se modifica algún dato en un enlace duro,
todos los demás enlaces duros que apuntan al mismo archivo también mostrarán el
dato nuevo. Esto se debe a que cada enlace duro apunta a los mismos datos en el
dispositivo de almacenamiento.
Incluso si se elimina el archivo original, el contenido del archivo continúa estando disponible
siempre y cuando exista un enlace duro como mínimo. Los datos solo se eliminan del
almacenamiento cuando se elimina el último enlace duro.
En segundo lugar, los enlaces duros solo se pueden usar si ambos archivos están en el mismo
sistema de archivos. La jerarquía del sistema de archivos puede estar formada por varios
dispositivos de almacenamiento. Dependiendo de la configuración de su sistema, cuando pase a
un nuevo directorio, ese directorio y su contenido pueden almacenarse en un sistema de archivos
diferente.
Puede usar el comando df para enumerar los directorios que están en diferentes sistemas de
archivos. Por ejemplo, es posible que visualice un resultado como el siguiente:
[user@host ~]$ df
Filesystem 1K-blocks Used Available Use% Mounted on
devtmpfs 886788 0 886788 0% /dev
tmpfs 902108 0 902108 0% /dev/shm
tmpfs 902108 8696 893412 1% /run
tmpfs 902108 0 902108 0% /sys/fs/cgroup
/dev/mapper/rhel_rhel8--root 10258432 1630460 8627972 16% /
/dev/sda1 1038336 167128 871208 17% /boot
tmpfs 180420 0 180420 0% /run/user/1000
[user@host ~]$
RH199-RHEL8.0-es-1-20190531 67
CAPÍTULO 2 | Navegar por sistemas de archivos
Los archivos que están en dos directorios diferentes con el indicador "Montado en" y sus
subdirectorios están en sistemas de archivos distintos. (La coincidencia más específica es la
correcta). Por lo tanto, el sistema en este ejemplo. Puede crear un enlace duro entre /var/tmp/
link1 y /home/user/file porque ambos son subdirectorios de /, pero no de ningún otro
directorio de la lista. Pero no puede crear un enlace duro entre /boot/test/badlink y /home/
user/file porque el primer archivo está en un subdirectorio de /boot (en la lista "Montado en")
y el segundo archivo no está allí.
Los enlaces blandos tienen algunas ventajas en comparación con los enlaces duros:
En el siguiente ejemplo, el comando ln -s se utiliza para crear un nuevo enlace blando para
el archivo existente /home/user/newfile-link2.txt que se llamará /tmp/newfile-
symlink.txt.
Cuando se elimina el archivo regular original, el enlace blando seguirá apuntando al archivo, pero
el destino desaparece. Un enlace blando que apunta a un archivo que falta recibe el nombre de
"enlace blando colgante".
68 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 2 | Navegar por sistemas de archivos
IMPORTANTE
Un efecto secundario del enlace blando colgante en el ejemplo anterior es que
si usted crea más adelante un nuevo archivo con el mismo nombre que el archivo
eliminado (/home/user/newfile-link2.txt), el enlace blando ya no estará
"colgando" y apuntará al archivo nuevo.
Los enlaces duros no funcionan de esta forma. Si borra un enlace duro y luego usa
herramientas normales (en lugar de ln) para crear un nuevo archivo con el mismo
nombre, el nuevo archivo no se vinculará al archivo anterior.
Aquí presentamos una forma de comparar enlaces duros y enlaces blandos que
puede ayudarlo a comprender cómo funcionan:
Un enlace blando puede apuntar a un directorio. El enlace blando funciona como un directorio.
Si cambia al enlace blando con cd, hará que el directorio de trabajo actual se convierta en el
directorio vinculado. Algunas herramientas pueden hacer un seguimiento del hecho de que usted
siguió un enlace blando para llegar allí. Por ejemplo, de manera predeterminada, cd actualizará
su directorio de trabajo actual por medio del nombre del enlace blando, y no del nombre del
directorio real. (Existe la opción, -P, que permite actualizarlo con el nombre del directorio real).
REFERENCIAS
Página del manual: ln(1)
RH199-RHEL8.0-es-1-20190531 69
CAPÍTULO 2 | Navegar por sistemas de archivos
EJERCICIO GUIADO
RESULTADOS
Deberá ser capaz de crear enlaces duros y enlaces blandos entre archivos.
ANDES DE COMENZAR
Inicie sesión en workstation como student con la contraseña student.
1. Use el comando ssh para iniciar sesión en servera como el usuario student. Los
sistemas se configuran para que usen claves SSH para la autenticación, por lo que no se
necesita una contraseña.
70 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 2 | Navegar por sistemas de archivos
4. Salga de servera.
Finalizar
En workstation, ejecute el script lab files-make finish para terminar este ejercicio. Este
script elimina todos los archivos y directorios creados en servera durante el ejercicio.
RH199-RHEL8.0-es-1-20190531 71
CAPÍTULO 2 | Navegar por sistemas de archivos
RESUMEN
En este capítulo, aprendió lo siguiente:
• Las rutas absolutas comienzan con / y especifican la ubicación de un archivo en la jerarquía del
sistema de archivos.
• Las rutas relativas no comienzan con / y especifican la ubicación de un archivo en relación con el
directorio de trabajo actual.
• Se utilizan cinco comandos clave para administrar archivos: mkdir, rmdir, cp, mv y rm.
• Los enlaces duros y los enlaces blandos son formas diferentes de hacer que varios nombres de
archivo apunten a los mismos datos.
72 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 3
ADMINISTRACIÓN DE
USUARIOS Y GRUPOS
LOCALES
META Crear, administrar y eliminar usuarios y grupos
locales y administrar políticas de contraseña
locales.
RH199-RHEL8.0-es-1-20190531 73
CAPÍTULO 3 | Administración de usuarios y grupos locales
DESCRIPCIÓN DE CONCEPTOS DE
USUARIOS Y GRUPOS
OBJETIVOS
Después de completar esta sección, debe poder describir el propósito de los usuarios y grupos en
un sistema Linux.
¿QUÉ ES UN USUARIO?
Una cuenta de usuario se utiliza para proporcionar límites de seguridad entre diferentes personas y
programas que pueden ejecutar comandos.
Los usuarios tienen nombres de usuario para identificarlos como usuarios humanos y facilitar
el trabajo con ellos. Internamente, el sistema distingue las cuentas de usuario por el número de
identificación único que se les asigna, el ID de usuario o UID. Si las personas utilizan una cuenta
de usuario, generalmente se le asignará una contraseña secreta que el usuario utilizará para
demostrar que es el usuario autorizado real al iniciar sesión.
Las cuentas de usuario son fundamentales para la seguridad del sistema. Cada proceso (programa
en ejecución) en el sistema se ejecuta como un usuario particular. Cada archivo tiene un usuario
particular como su propietario. La propiedad del archivo ayuda al sistema a aplicar el control
de acceso para los usuarios de los archivos. El usuario asociado con un proceso de ejecución
determina los archivos y directorios accesibles para ese proceso.
Hay tres tipos principales de cuenta de usuario: el superusuario, el usuario del sistema y el usuario
normal.
• El sistema tiene cuentas de usuario del sistema que utilizan los procesos que proporcionan
servicios de soporte. Estos procesos, o daemons por lo general no necesitan ejecutarse como
superusuario. Son cuentas asignadas sin privilegios que les permiten proteger sus archivos y
otros recursos entre sí y de los usuarios habituales del sistema. Los usuarios no inician sesión de
forma interactiva mediante una cuenta de usuario del sistema.
• La mayoría de los usuarios tienen cuentas de usuario normal que utilizan para su trabajo diario.
Al igual que los usuarios del sistema, los usuarios normales tienen acceso limitado al sistema.
Puede utilizar el comando id para mostrar información acerca del usuario con sesión iniciada
actualmente.
[user01@host ~]$ id
uid=1000(user01) gid=1000(user01) groups=1000(user01)
context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
Para ver información básica sobre otro usuario, envíe el nombre de usuario al comando id como
argumento.
74 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 3 | Administración de usuarios y grupos locales
[user01@host]$ id user02
uid=1002(user02) gid=1001(user02) groups=1001(user02)
context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
Para ver el propietario de un archivo, use el comando ls -l. Para ver el propietario de un
directorio, use el comando ls -ld. En la siguiente salida, la tercera columna muestra el nombre
de usuario.
Para ver la información del proceso, use el comando ps. La opción predeterminada es mostrar
solo los procesos que están en la shell actual. Agregue la opción a para ver todos los procesos con
un terminal. Para ver el usuario relacionado con un proceso, incluya la opción u. En la siguiente
salida, la primera columna muestra el nombre de usuario.
[user01@host]$ ps -au
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 777 0.0 0.0 225752 1496 tty1 Ss+ 11:03 0:00 /sbin/agetty -o -
p -- \u --noclear tty1 linux
root 780 0.0 0.1 225392 2064 ttyS0 Ss+ 11:03 0:00 /sbin/agetty -o -
p -- \u --keep-baud 115200,38400,9600
user01 1207 0.0 0.2 234044 5104 pts/0 Ss 11:09 0:00 -bash
user01 1319 0.0 0.2 266904 3876 pts/0 R+ 11:33 0:00 ps au
En la salida de los comandos anteriores, se muestran los usuarios por nombre, pero, internamente,
el sistema operativo usa los UID para realizar un seguimiento de los usuarios. La asignación de
nombres de usuario a UID se define en las bases de datos de la información de la cuenta. De forma
predeterminada, los sistemas usan el archivo /etc/passwd para almacenar información sobre los
usuarios locales.
Cada linea del archivo /etc/passwd contiene información sobre un usuario. Se divide en siete
campos separados por dos puntos. Este es un ejemplo de una línea de /etc/passwd:
RH199-RHEL8.0-es-1-20190531 75
CAPÍTULO 3 | Administración de usuarios y grupos locales
¿QUÉ ES UN GRUPO?
Un grupo es una colección de usuarios que necesitan compartir el acceso a archivos y otros
recursos del sistema. Los grupos se pueden utilizar para otorgar acceso a los archivos a un
conjunto de usuarios en lugar de a un solo usuario.
Como los usuarios, los grupos tienen nombres de grupo para facilitar el trabajo con ellos.
Internamente, el sistema distingue los grupos por el número de identificación único que se les
asigna, el ID de grupo o GID.
Cada linea del archivo /etc/group contiene información sobre un grupo. Cada entrada de grupo
se divide en cuatro campos separados con dos puntos. Este es un ejemplo de una línea de /etc/
group:
Normalmente, cuando crea un nuevo usuario normal, se crea un nuevo grupo con el mismo nombre
que ese usuario. Ese grupo se usa como el grupo principal del nuevo usuario, y ese usuario es
el único miembro de este grupo privado de usuarios. Se deduce que esto ayuda a simplificar la
administración de los permisos de archivos, que se analizará más adelante en este curso.
Los usuarios también pueden tener grupos adicionales. La pertenencia a grupos adicionales se
determina a través del archivo /etc/group. A los usuarios se les otorga acceso a los archivos en
función de si alguno de sus grupos tiene acceso. No importa si el grupo o los grupos que tienen
acceso son principales o adicionales para el usuario.
Por ejemplo, si el usuario user01 tiene un grupo principal usero01 y grupos adicionales wheel y
webadmin, entonces ese usuario puede leer archivos legibles para cualquiera de esos tres grupos.
[user03@host ~]$ id
uid=1003(user03) gid=1003(user03) groups=1003(user03),10(wheel),10000(group01)
context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
76 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 3 | Administración de usuarios y grupos locales
En el ejemplo anterior, user03 tiene el grupo user03 como su grupo principal (gid). El elemento
groups enumera todos los grupos de este usuario, y además del grupo principal user03, el
usuario tiene los grupos wheel y group01 como grupos adicionales.
REFERENCIAS
Páginas del manual: id(1), passwd(5) y group(5)
(Tenga en cuenta que el paquete glibc-devel se debe haber instalado para que este
nodo de información esté disponible).
RH199-RHEL8.0-es-1-20190531 77
CAPÍTULO 3 | Administración de usuarios y grupos locales
CUESTIONARIO
DESCRIPCIÓN DE CONCEPTOS DE
USUARIOS Y GRUPOS
Elija las respuestas correctas para las siguientes preguntas:
1. ¿Qué ítem representa un número que identifica al usuario en el nivel más fundamental?
a. usuario principal
b. UID
c. GID
d. nombredeusuario
2. ¿Qué ítem representa el programa que proporciona el prompt de línea de comandos del
usuario?
a. shell principal
b. directorio de inicio
c. shell de inicio de sesión
d. nombre de comando
4. ¿Qué ítem o archivo representa la ubicación de los archivos personales del usuario?
a. directorio de inicio
b. shell de inicio de sesión
c. /etc/passwd
d. /etc/group
5. ¿Qué ítem representa un número que identifica al grupo en el nivel más fundamental?
a. grupo principal
b. UID
c. GID
d. groupid
78 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 3 | Administración de usuarios y grupos locales
RH199-RHEL8.0-es-1-20190531 79
CAPÍTULO 3 | Administración de usuarios y grupos locales
SOLUCIÓN
DESCRIPCIÓN DE CONCEPTOS DE
USUARIOS Y GRUPOS
Elija las respuestas correctas para las siguientes preguntas:
1. ¿Qué ítem representa un número que identifica al usuario en el nivel más fundamental?
a. usuario principal
b. UID
c. GID
d. nombredeusuario
2. ¿Qué ítem representa el programa que proporciona el prompt de línea de comandos del
usuario?
a. shell principal
b. directorio de inicio
c. shell de inicio de sesión
d. nombre de comando
4. ¿Qué ítem o archivo representa la ubicación de los archivos personales del usuario?
a. directorio de inicio
b. shell de inicio de sesión
c. /etc/passwd
d. /etc/group
5. ¿Qué ítem representa un número que identifica al grupo en el nivel más fundamental?
a. grupo principal
b. UID
c. GID
d. groupid
80 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 3 | Administración de usuarios y grupos locales
RH199-RHEL8.0-es-1-20190531 81
CAPÍTULO 3 | Administración de usuarios y grupos locales
OBTENCIÓN DE ACCESO DE
SUPERUSUARIO
OBJETIVOS
Después de completar esta sección, podrá cambiar a la cuenta de superusuario para administrar
un sistema Linux y otorgar a otros usuarios acceso de superusuario a través del comando sudo.
EL SUPERUSUARIO
La mayoría de los sistemas operativos tienen una especie de superusuario; un usuario que tiene
todo el poder sobre el sistema. En Red Hat Enterprise Linux, este es el usuario root. Este usuario
tiene el poder de anular los privilegios normales del sistema de archivos, y se usa para manejar y
administrar el sistema. Para realizar tareas, como la instalación o eliminación de software, y para
administrar los directorios y los archivos del sistema, los usuarios deben aumentar sus privilegios al
usuario root.
El usuario root solo entre los usuarios normales puede controlar la mayoría de los dispositivos,
pero hay algunas excepciones. Por ejemplo, los usuarios normales pueden controlar dispositivos
desmontables, como dispositivos USB. Por lo tanto, los usuarios normales pueden agregar y
eliminar archivos y administrar de otro modo un dispositivo desmontable, pero solo el usuario
root puede administrar los discos duros "fijos" de manera predeterminada.
Sin embargo, este privilegio ilimitado viene acompañado de una responsabilidad. El usuario
root tiene poder ilimitado para dañar el sistema: eliminar archivos y directorios, eliminar cuentas
de usuarios, agregar puertas traseras, etc. Si la cuenta del usuario root está comprometida,
alguien más tendrá control administrativo del sistema. A lo largo de este curso, se les indicará a los
administradores que inicien sesión como usuario normal y que escalen los privilegios a root solo
cuando sea necesario.
ADVERTENCIA
Una práctica habitual en Microsoft Windows en el pasado era que el usuario
administrador local inicie sesión en forma directa para que realice las tareas de
administrador del sistema. Aunque esto es posible en Linux, Red Hat recomienda
que los administradores del sistema no inicien sesión directamente como root. En
su lugar, los administradores de sistema deben iniciar sesión como usuario normal y
usar otros mecanismos (su, sudo o PolicyKit, por ejemplo) para obtener privilegios
de superusuario temporalmente.
82 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 3 | Administración de usuarios y grupos locales
INTERCAMBIO DE USUARIOS
El comando su le permite a los usuarios cambiar a una cuenta de usuario diferente. Si ejecuta
su desde una cuenta de usuario normal, se le solicitará la contraseña de la cuenta a la que desea
cambiar. Cuando root ejecuta su, no es necesario introducir la contraseña del usuario.
[user01@host ~]$ su -
Password:
[root@host ~]#
El comando su inicia una shell sin inicio de sesión, mientras que el comando su - (con la opción
de guion) inicia una shell de inicio de sesión. La diferencia principal entre los dos comandos es que
su - establece el entorno de la shell como si iniciara una sesión nueva como ese usuario, mientras
que su simplemente inicia una shell como ese usuario, pero usa la configuración de entorno del
usuario original.
En la mayoría de los casos, los administradores deben ejecutar su - para obtener una shell con
la configuración de entorno normal del usuario de destino. Si desea obtener más información,
consulte la página del manual bash(1).
NOTA
El comando su se usa frecuentemente para obtener una interfaz de línea de
comandos (prompt de shell) que se ejecuta como otro usuario, generalmente root.
Sin embargo, con la opción -c, se puede usar como la utilidad de Windows runas
para ejecutar un programa arbitrario como otro usuario. Ejecute info su para ver
más detalles.
A diferencia de su, sudo por lo general requiere que un usuario ingrese su propia contraseña para
la autenticación y no la contraseña de la cuenta a la que intenta acceder. Es decir, los usuarios que
utilizan sudo para ejecutar comandos como root no necesitan saber la contraseña root. En su
lugar, utilizan sus propias contraseñas para autenticar el acceso.
Además, sudo se puede configurar para permitir que usuarios específicos ejecuten cualquier
comando como otro usuario, o solo algunos comandos como ese usuario.
Por ejemplo, cuando sudo se configura para permitir al usuario user01 ejecutar el comando
usermod como root, el usuario user01 puede ejecutar el siguiente comando a fin de bloquear o
desbloquear una cuenta de usuario:
RH199-RHEL8.0-es-1-20190531 83
CAPÍTULO 3 | Administración de usuarios y grupos locales
Un beneficio adicional de usar sudo es que todos los comandos ejecutados se registran de
manera predeterminada en /var/log/secure.
ADVERTENCIA
RHEL 6 no otorgó ningún privilegio especial al grupo wheel de manera
predeterminada. Es probable que los sitios que estuvieron usando este grupo para
un propósito no estándar se sorprendan cuando RHEL 7 y RHEL 8 otorguen en
forma automática y a todos los miembros de wheel privilegios totales de sudo.
Esto podría provocar que usuarios no autorizados obtengan acceso administrativo a
los sistemas RHEL 7 y RHEL 8.
Otra forma de acceder a la cuenta root con sudo es usar el comando sudo -i. Esto cambiará
a la cuenta root y ejecutará la shell predeterminada de ese usuario (generalmente bash) y los
84 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 3 | Administración de usuarios y grupos locales
scripts de inicio de sesión de shell asociados. Si solo desea ejecutar la shell, puede utilizar el
comando sudo -s.
Por ejemplo, un administrador puede obtener una shell interactiva como root en una instancia
de AWS EC2 al usar una autenticación de clave pública de SSH para iniciar sesión como el usuario
normal ec2-user y, luego, ejecutar sudo -i para obtener la shell del usuario root.
Configuración de sudo
El archivo de configuración principal para sudo es /etc/sudoers. Para evitar problemas si varios
administradores intentan editarlo al mismo tiempo, solo debe editarse con el comando especial
visudo.
Por ejemplo, la siguiente línea del archivo /etc/sudoers habilita el acceso sudo para miembros
del grupo wheel.
En esta línea, %wheel es el usuario o grupo al que se aplica la regla. Un % especifica que este es
un grupo, el grupo wheel. El ALL=(ALL) especifica que en cualquier host que pueda tener
este archivo, wheel puede ejecutar cualquier comando. El ALL final especifica que wheel puede
ejecutar esos comandos como cualquier usuario en el sistema.
NOTA
La utilización de archivos adicionales en el directorio /etc/sudoers.d es
conveniente y simple. Puede habilitar o deshabilitar el acceso sudo simplemente al
copiar un archivo en el directorio o eliminándolo de él.
Para habilitar acceso sudo completo para el usuario user01, puede crear /etc/sudoers.d/
user01 con el siguiente contenido.
Para habilitar acceso sudo completo para el grupo group01, puede crear /etc/sudoers.d/
group01 con el siguiente contenido:
RH199-RHEL8.0-es-1-20190531 85
CAPÍTULO 3 | Administración de usuarios y grupos locales
También es posible configurar sudo para permitir que un usuario ejecute comandos como otro
usuario sin ingresar su contraseña.
Si bien otorgar este nivel de acceso a un usuario o grupo implica riesgos de seguridad
evidentes, se usa con frecuencia en instancias de la nube, máquinas virtuales y sistemas de
aprovisionamiento para facilitar la configuración de servidores. La cuenta con este acceso se debe
proteger cuidadosamente y puede requerir autenticación de clave pública de SSH para que un
usuario que se encuentra en un sistema remoto pueda acceder a ella.
Por ejemplo, la AMI oficial de Red Hat Enterprise Linux en Amazon Web Services Marketplace se
envía con las contraseñas de los usuarios root y ec2-user bloqueadas. La cuenta de usuario
ec2-user está configurada para permitir el acceso interactivo remoto a través de la autenticación
de clave pública de SSH. El usuario ec2-user también puede ejecutar cualquier comando
como root sin contraseña debido a que la última línea del archivo /etc/sudoers de AMI está
configurada de la siguiente manera:
El requisito de ingresar una contraseña para sudo puede volverse a habilitar o pueden hacerse
otros cambios para reforzar la seguridad como parte del proceso de configuración del sistema.
86 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 3 | Administración de usuarios y grupos locales
NOTA
En este curso, verá frecuentemente el uso de sudo su - en lugar de sudo -i .
Ambos comandos funcionan, pero hay algunas diferencias sutiles entre ellos.
Para la mayoría de los propósitos, esta no es una gran diferencia. Sin embargo, por
razones de consistencia de la configuración de PATH en los sistemas con el archivo
/etc/sudoers predeterminado, los autores de este curso en su mayoría utilizan
sudo su - en los ejemplos
REFERENCIAS
Páginas del manual: su(1), sudo(8), visudo(8) y sudoers(5)
(Tenga en cuenta que el paquete glibc-devel se debe haber instalado para que este
nodo de información esté disponible).
RH199-RHEL8.0-es-1-20190531 87
CAPÍTULO 3 | Administración de usuarios y grupos locales
EJERCICIO GUIADO
OBTENCIÓN DE ACCESO DE
SUPERUSUARIO
En este ejercicio, practicará cambiar a la cuenta root y ejecutar comandos como root.
RESULTADOS
Usted deberá ser capaz de realizar lo siguiente:
• Usar sudo para cambiar a root y acceder a la shell interactiva como root sin tener que
saber la contraseña del superusuario.
ANDES DE COMENZAR
Inicie sesión en workstation como student con la contraseña student.
1. Desde workstation, abra una sesión de SSH para servera como student.
2. Explore el entorno de la shell de student. Visualice la información del usuario y del grupo
actual, y muestre el directorio de trabajo actual. También vea las variables de entorno que
especifican el directorio de inicio del usuario y las ubicaciones de los archivos ejecutables
del usuario.
[student@servera ~]$ id
uid=1000(student) gid=1000(student) groups=1000(student),10(wheel)
context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
88 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 3 | Administración de usuarios y grupos locales
2.3. Imprima los valores de las variables HOME y PATH para determinar el directorio de inicio
y la ruta de los archivos ejecutables del usuario, respectivamente.
3. Cambie a root en una shell sin inicio de sesión y explore el nuevo entorno de la shell.
[root@servera student]# id
uid=0(root) gid=0(root) groups=0(root)
context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
3.4. Imprima los valores de las variables HOME y PATH para determinar el directorio de inicio
y la ruta de los archivos ejecutables del usuario, respectivamente.
Si ya tiene experiencia con Linux y el comando su, es posible que haya esperado que
el uso de su sin la opción del guion (-) para convertirse en root le haría mantener
el PATH actual de student. Eso no sucedió. Como verá en el siguiente paso, este
tampoco es el PATH habitual para root.
¿Qué sucedió? La diferencia es que no ejecutó su directamente. En cambio, ejecutó
su como root mediante sudo porque no cuenta con la contraseña del superusuario.
El comando sudo inicialmente anula la variable PATH del entorno inicial por razones de
seguridad. Cualquier comando que se ejecute después de la anulación inicial todavía
puede actualizar la variable PATH, como verá en los siguientes pasos.
3.5. Salga de la shell del usuario root para volver a la shell del usuario student.
RH199-RHEL8.0-es-1-20190531 89
CAPÍTULO 3 | Administración de usuarios y grupos locales
4. Cambie a root en una shell de inicio de sesión y explore el nuevo entorno de la shell.
[root@servera ~]# id
uid=0(root) gid=0(root) groups=0(root)
context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
4.4. Imprima los valores de las variables HOME y PATH para determinar el directorio de inicio
y la ruta de los archivos ejecutables del usuario, respectivamente.
4.5. Salga de la shell del usuario root para volver a la shell del usuario student.
90 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 3 | Administración de usuarios y grupos locales
5. Verifique que el usuario operator1 esté configurado para ejecutar cualquier comando
como cualquier usuario que use sudo.
6.2. Intente ver las últimas cinco líneas de /var/log/messages sin usar sudo. Debería
fallar.
6.3. Intente ver las últimas cinco líneas de /var/log/messages con sudo. Debería
funcionar.
NOTA
La salida anterior puede diferir en su sistema.
6.4. Intente hacer una copia de /etc/motd como /etc/motdOLD sin usar sudo. Debería
fallar.
6.5. Intente hacer una copia de /etc/motd como /etc/motdOLD con sudo. Debería
funcionar.
RH199-RHEL8.0-es-1-20190531 91
CAPÍTULO 3 | Administración de usuarios y grupos locales
6.8. Salga de la shell del usuario operator1 para volver a la shell del usuario student.
Finalizar
En workstation, ejecute lab users-sudo finish para terminar este ejercicio. Este script
elimina las cuentas de usuario y los archivos creados al inicio del ejercicio para garantizar que el
entorno esté limpio.
92 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 3 | Administración de usuarios y grupos locales
ADMINISTRACIÓN DE CUENTAS DE
USUARIOS LOCALES
OBJETIVOS
Tras finalizar esta sección, deberá poder crear, modificar y eliminar cuentas de usuarios locales.
• El comando useradd --help muestra las opciones básicas que pueden usarse para anular los
valores predeterminados. En la mayoría de los casos, las mismas opciones pueden usarse con el
comando usermod para modificar un usuario existente.
• Algunos valores predeterminados, como el rango de números UID válidos y las reglas de
vigencia de contraseñas predeterminadas, se leen desde el archivo /etc/login.defs. Los
valores incluidos en este archivo solo se usan durante la creación de usuarios nuevos. Un cambio
en este archivo no afectará a los usuarios existentes.
• El comando usermod --help muestra las opciones básicas que pueden usarse para modificar
una cuenta. Algunas opciones comunes incluyen las siguientes:
-G, --groups GROUPS Especificar una lista de grupos adicionales separados por
comas para la cuenta de usuario.
RH199-RHEL8.0-es-1-20190531 93
CAPÍTULO 3 | Administración de usuarios y grupos locales
-s, --shell SHELL Especificar una shell de inicio de sesión particular para la
cuenta de usuario.
• El comando userdel username elimina los detalles de user01 de /etc/passwd, pero deja
el directorio de inicio del usuario intacto.
94 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 3 | Administración de usuarios y grupos locales
ADVERTENCIA
Cuando se elimina un usuario con userdel sin la opción -r especificada, el sistema
tendrá archivos que pertenecen a un UID no asignado. Esto también puede suceder
cuando un archivo, que tiene un usuario eliminado como su propietario, existe fuera
del directorio de inicio de ese usuario. Esta situación puede hacer que se filtre
información y causar otros problemas de seguridad.
Así es como puede ocurrir que se filtre información. Si el primer UID libre ha sido
asignado previamente a una cuenta de usuario que ha sido eliminada del sistema, el
UID del usuario anterior se reasignará al nuevo usuario y le dará al nuevo usuario la
propiedad de los archivos restantes del usuario anterior.
Observe que user02 ahora es propietario de todos los archivos que pertenecieron
a user01.
Según la situación, una solución a este problema es eliminar todos los archivos
que no pertenecen a nadie del sistema cuando se elimina el usuario que los creó.
Otra solución es asignar manualmente los archivos que no pertenecen a nadie a
otro usuario. El usuario root puede utilizar el comando find / -nouser -o -
nogroup para encontrar todos los archivos y directorios que no pertenecen a nadie.
• El usuario root puede definir una contraseña en cualquier valor. Aparecerá un mensaje si la
contraseña no cumple con los criterios mínimos recomendados, seguido de un prompt para que
vuelva a ingresar la contraseña nueva y todos los símbolos se actualizarán correctamente.
RH199-RHEL8.0-es-1-20190531 95
CAPÍTULO 3 | Administración de usuarios y grupos locales
• Un usuario normal debe elegir una contraseña de al menos ocho caracteres y que no se base en
una palabra del diccionario, el nombre de usuario o la contraseña anterior.
Rangos de UID
Red Hat Enterprise Linux usa números y rangos de números de UID específicos con fines
específicos.
• UID 1-200 es un rango de "usuarios del sistema" que Red Hat asignó estadísticamente a
procesos del sistema.
• UID 201-999 es un rango de "usuarios del sistema" usado por procesos del sistema que no
tienen archivos en el sistema de archivos. Por lo general, se asignan dinámicamente del pool
(conjunto) disponible cuando el software que los necesita está instalado. Los programas se
ejecutan como estos usuarios del sistema "sin privilegios" para limitar el acceso únicamente a los
recursos que necesitan para funcionar.
NOTA
Antes de RHEL 7, la convención consistía en que UID 1-499 se usaba para usuarios
del sistema y UID 500+ para usuarios regulares. Los rangos predeterminados
usados por useradd y groupadd pueden modificarse en el archivo /etc/
login.defs.
REFERENCIAS
Páginas del manual: useradd(8), usermod(8), userdel(8)
96 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 3 | Administración de usuarios y grupos locales
EJERCICIO GUIADO
ADMINISTRACIÓN DE CUENTAS DE
USUARIOS LOCALES
En este ejercicio, creará varios usuarios en su sistema y establecerá contraseñas para esos
usuarios.
RESULTADOS
Deberá poder configurar un sistema Linux con cuentas de usuario adicionales.
ANDES DE COMENZAR
Inicie sesión en workstation como student con la contraseña student.
1. Desde workstation, abra una sesión de SSH para servera como student.
2. En servera, cambie a root con sudo, lo que convierte el entorno de shell al del usuario
root.
RH199-RHEL8.0-es-1-20190531 97
CAPÍTULO 3 | Administración de usuarios y grupos locales
6. Actualice las cuentas de usuario operator1 y operator2 para incluir los comentarios
Operator One y Operator Two, respectivamente. Verifique que los comentarios se
hayan agregado correctamente.
6.3. Confirme que los comentarios para cada uno de los usuarios operator1 y
operator2 se reflejen en los registros de usuario.
98 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 3 | Administración de usuarios y grupos locales
7. Elimine el usuario operator3 junto con cualquier dato personal del usuario. Confirme que
el usuario se ha eliminado con éxito.
7.3. Salga de la shell del usuario root para volver a la shell del usuario student.
Finalizar
En workstation, ejecute lab users-manage finish para terminar este ejercicio. Este script
asegura que el entorno esté limpio.
RH199-RHEL8.0-es-1-20190531 99
CAPÍTULO 3 | Administración de usuarios y grupos locales
ADMINISTRACIÓN DE CUENTAS DE
GRUPOS LOCALES
OBJETIVOS
Tras finalizar esta sección, los estudiantes deberán ser capaces de crear, modificar y eliminar
cuentas de grupos locales.
• El comando groupadd crea grupos. Sin opciones, el comando groupadd emplea el siguiente
GID disponible de un rango especificado en el archivo /etc/login.defs mientras crea los
grupos.
NOTA
Dada la creación automática de grupos privados de usuarios (GID 1000+),
generalmente se recomienda establecer aparte un rango de GID para su uso con los
grupos adicionales. Un rango más alto evitará una colisión con un grupo del sistema
(GID 0-999).
• La opción -r crea un grupo del sistema usando un GID del rango de GID de sistema válidos
incluidos en el archivo /etc/login.defs. Los ítems de configuración SYS_GID_MIN y
SYS_GID_MAX en /etc/login.defs definen el rango de GID del sistema.
100 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 3 | Administración de usuarios y grupos locales
NOTA
No puede eliminar un grupo si es el grupo principal de cualquier usuario existente.
Como en el caso de userdel, controle todos los sistemas de archivos para
asegurarse de que en el sistema no quede ningún archivo que sea propiedad del
grupo.
RH199-RHEL8.0-es-1-20190531 101
CAPÍTULO 3 | Administración de usuarios y grupos locales
IMPORTANTE
El uso de la opción -a hace que usermod funcione en modo adición. Sin -a, el
usuario se eliminará de cualquiera de sus grupos adicionales actuales que no estén
incluidos en la lista de la opción -G.
REFERENCIAS
Páginas del manual: group(5), groupadd(8), groupdel(8) y usermod(8)
102 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 3 | Administración de usuarios y grupos locales
EJERCICIO GUIADO
ADMINISTRACIÓN DE CUENTAS DE
GRUPOS LOCALES
En este ejercicio, creará grupos, los usará como grupos adicionales para algunos usuarios sin
cambiar los grupos principales de esos usuarios y configurará uno de los grupos con acceso
sudo para ejecutar comandos como root.
RESULTADOS
Usted deberá ser capaz de realizar lo siguiente:
ANDES DE COMENZAR
Inicie sesión en workstation como student con la contraseña student.
1. Desde workstation, abra una sesión de SSH para servera como student.
2. En servera, cambie a root con sudo, heredando todo el entorno del usuario root.
RH199-RHEL8.0-es-1-20190531 103
CAPÍTULO 3 | Administración de usuarios y grupos locales
104 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 3 | Administración de usuarios y grupos locales
7.4. Cree el archivo /etc/sudoers.d/admin para que los miembros de admin tengan
privilegios administrativos completos.
7.6. Salga de la shell del usuario sysadmin1 para volver a la shell del usuario root.
7.7. Salga de la shell del usuario root para volver a la shell del usuario student.
Finalizar
En workstation, ejecute lab users-group-manage finish para terminar este ejercicio.
Este script elimina las cuentas de usuario creadas al inicio del ejercicio.
RH199-RHEL8.0-es-1-20190531 105
CAPÍTULO 3 | Administración de usuarios y grupos locales
ADMINISTRACIÓN DE CONTRASEÑAS
DE USUARIOS
OBJETIVOS
Después de completar esta sección, deberá ser capaz de establecer una política de administración
de contraseñas para los usuarios, así como de bloquear y desbloquear manualmente las cuentas
de los usuarios.
Como en el caso de /etc/passwd, cada usuario tiene una línea en el archivo /etc/shadow. A
continuación se muestra una línea de muestra de /etc/shadow con sus nueve campos separados
por dos puntos.
106 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 3 | Administración de usuarios y grupos locales
El algoritmo de hash utilizado para esta contraseña. El número 6 indica que es un hash
SHA-512, el predeterminado en Red Hat Enterprise Linux 8. Un 1 indicaría MD5, un SHA-256
5.
El valor aleatorio utilizado para cifrar la contraseña. Originalmente, se elige al azar.
El hash cifrado de la contraseña del usuario. El valor aleatorio y la contraseña no cifrada se
combinan y se cifran para generar este hash cifrado de la contraseña.
El uso del valor aleatorio evita que dos usuarios con la misma contraseña tengan entradas
idénticas en el archivo /etc/shadow. Por ejemplo, incluso si user01 y user02 usan redhat
como contraseña, sus contraseñas cifradas en /etc/shadow serán diferentes si los valores
aleatorios son diferentes.
Verificación de contraseña
Cuando un usuario intenta iniciar sesión, el sistema busca la entrada correspondiente al usuario en
/etc/shadow, combina el valor aleatorio del usuario con la contraseña sin cifrar que se ingresó y
los cifra usando el algoritmo de hash especificado. Si el resultado coincide con el hash cifrado, el
usuario ingresó la contraseña correcta. Si el resultado no coincide con el hash cifrado, el usuario
ingresó una contraseña incorrecta y el intento de inicio de sesión falla. Este método permite que el
sistema determine si el usuario ingresó la contraseña correcta sin almacenarla en una forma que se
puede usar en el inicio de sesión.
El comando chage anterior usa las opciones -m, -M, -W y -I para establecer la vigencia mínima,
la vigencia máxima, el período de advertencia y el período de inactividad de la contraseña del
usuario, respectivamente.
El comando chage -E 2019-08-05 user03 hace que la cuenta del usuario user03 caduque
el 2019-08-05 (en formato AAAA-MM-DD).
RH199-RHEL8.0-es-1-20190531 107
CAPÍTULO 3 | Administración de usuarios y grupos locales
NOTA
El comando date puede usarse para calcular una fecha en el futuro. La opción -u
informa la hora en UTC.
RESTRICCIÓN DE ACCESO
Puede usar el comando chage para establecer las fechas de vencimiento de la cuenta. Cuando
se alcanza la fecha, el usuario no puede iniciar sesión en el sistema de manera interactiva. El
comando usermod puede bloquear una cuenta con la opción -L.
El bloqueo de la cuenta evita que el usuario logre la autenticación con una contraseña en el
sistema. Esta es la forma recomendada de evitar que un empleado que se fue de la empresa
acceda a su cuenta. Si el empleado regresa, la cuenta puede desbloquearse con usermod -U. Si
la cuenta también caducó, asegúrese de modificar, además, la fecha de caducidad.
La shell nologin
La shell nologin actúa como una shell de reemplazo para las cuentas de usuario que no están
destinadas a iniciar sesión de forma interactiva en el sistema. Desde el punto de vista de la
seguridad, es aconsejable deshabilitar el inicio de sesión de la cuenta de usuario en el sistema
cuando la cuenta del usuario tiene una responsabilidad que no requiere que el usuario inicie sesión
en el sistema. Por ejemplo, un servidor de correo puede necesitar una cuenta para almacenar
correos y una contraseña para que el usuario realice la autenticación con un cliente de correo
usado para recuperar correo. Dicho usuario no debe iniciar sesión directamente en el sistema.
108 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 3 | Administración de usuarios y grupos locales
Ante una situación como la anterior, una solución común es definir la shell de inicio de sesión del
usuario en /sbin/nologin. Si el usuario intenta iniciar sesión en el sistema directamente, la shell
nologin cierra la conexión.
IMPORTANTE
La shell nologin evita el uso interactivo del sistema, pero no evita todo el acceso.
Los usuarios pueden, de todas maneras, realizar la autenticación y cargar o
recuperar archivos a través de aplicaciones, como aplicaciones web, programas de
transferencia de archivos o lectores de correo si utilizan la contraseña del usuario
para autenticarse.
REFERENCIAS
Páginas del manual: chage(1), usermod(8), shadow(5), crypt(3)
RH199-RHEL8.0-es-1-20190531 109
CAPÍTULO 3 | Administración de usuarios y grupos locales
EJERCICIO GUIADO
ADMINISTRACIÓN DE CONTRASEÑAS
DE USUARIOS
En este ejercicio de laboratorio, configurará políticas de contraseña para varios usuarios.
RESULTADOS
Usted deberá ser capaz de realizar lo siguiente:
• Forzar un cambio de contraseña cuando el usuario inicia sesión en el sistema por primera
vez.
• Configurar la cuenta para que caduque 180 días a partir del día actual.
ANDES DE COMENZAR
Inicie sesión en workstation como student con la contraseña student.
1. Desde workstation, abra una sesión de SSH para servera como student.
110 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 3 | Administración de usuarios y grupos locales
2.5. Salga de la shell del usuario operator1 para volver a la shell del usuario student.
3.2. Verifique que la contraseña del usuario operator1 caduque 90 días después de que
se modifica.
RH199-RHEL8.0-es-1-20190531 111
CAPÍTULO 3 | Administración de usuarios y grupos locales
5.2. Salga de la shell del usuario operator1 para volver a la shell del usuario student.
6. Configure la cuenta de operator1 para que caduque 180 días a partir del día actual.
Consejo: date -d "+180 days" le da la fecha y la hora 180 días a partir de la fecha y la
hora actuales.
Puede obtener un valor diferente para usar en el siguiente paso según la fecha y la
hora actuales en su sistema.
6.2. Configure la cuenta para que caduque en la fecha que se muestra en el paso anterior.
7. Establezca las contraseñas para que caduquen 180 días a partir de la fecha actual para
todos los usuarios. Use los derechos administrativos para editar el archivo de configuración.
112 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 3 | Administración de usuarios y grupos locales
...output omitted...
# Password aging controls:
#
# PASS_MAX_DAYS Maximum number of days a password may be
# used.
# PASS_MIN_DAYS Minimum number of days allowed between
# password changes.
# PASS_MIN_LEN Minimum acceptable password length.
# PASS_WARN_AGE Number of days warning given before a
# password expires.
#
PASS_MAX_DAYS 180
PASS_MIN_DAYS 0
PASS_MIN_LEN 5
PASS_WARN_AGE 7
...output omitted...
IMPORTANTE
La contraseña predeterminada y la configuración de caducidad de la cuenta serán
efectivas para los nuevos usuarios, pero no para los usuarios existentes.
Finalizar
En workstation, ejecute lab users-pw-manage finish para terminar este ejercicio. Este
script elimina las cuentas de usuario y los archivos creados al inicio del ejercicio para garantizar
que el entorno esté limpio.
RH199-RHEL8.0-es-1-20190531 113
CAPÍTULO 3 | Administración de usuarios y grupos locales
TRABAJO DE LABORATORIO
ADMINISTRACIÓN DE USUARIOS Y
GRUPOS LOCALES
LISTA DE VERIFICACIÓN DE RENDIMIENTO
En este trabajo de laboratorio, definirá una política de contraseña local predeterminada,
creará un grupo adicional de tres usuarios, permitirá que el grupo use sudo para ejecutar
comandos como root y modificará la política de contraseña de un usuario.
RESULTADOS
Usted deberá ser capaz de realizar lo siguiente:
• Crear un grupo y usar el grupo como grupo adicional para los nuevos usuarios.
• Crear tres nuevos usuarios con el nuevo grupo como su grupo adicional.
• Configurar los miembros del grupo adicional para ejecutar cualquier comando como
cualquier usuario que use sudo.
ANDES DE COMENZAR
Inicie sesión en workstation como student con la contraseña student.
114 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 3 | Administración de usuarios y grupos locales
Evaluación
En workstation, ejecute el comando lab users-review grade para confirmar que ha
realizado correctamente este ejercicio.
Finalizar
En workstation, ejecute lab users-review finish para terminar este trabajo de
laboratorio. Este script elimina las cuentas de usuario y los archivos creados durante el trabajo de
laboratorio para garantizar que el entorno esté limpio.
RH199-RHEL8.0-es-1-20190531 115
CAPÍTULO 3 | Administración de usuarios y grupos locales
SOLUCIÓN
ADMINISTRACIÓN DE USUARIOS Y
GRUPOS LOCALES
LISTA DE VERIFICACIÓN DE RENDIMIENTO
En este trabajo de laboratorio, definirá una política de contraseña local predeterminada,
creará un grupo adicional de tres usuarios, permitirá que el grupo use sudo para ejecutar
comandos como root y modificará la política de contraseña de un usuario.
RESULTADOS
Usted deberá ser capaz de realizar lo siguiente:
• Crear un grupo y usar el grupo como grupo adicional para los nuevos usuarios.
• Crear tres nuevos usuarios con el nuevo grupo como su grupo adicional.
• Configurar los miembros del grupo adicional para ejecutar cualquier comando como
cualquier usuario que use sudo.
ANDES DE COMENZAR
Inicie sesión en workstation como student con la contraseña student.
2. En serverb, asegúrese de que los usuarios creados recientemente tengan contraseñas que
se deben cambiar cada 30 días.
116 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 3 | Administración de usuarios y grupos locales
...output omitted...
# Password aging controls:
#
# PASS_MAX_DAYS Maximum number of days a password may be
# used.
# PASS_MIN_DAYS Minimum number of days allowed between
# password changes.
# PASS_MIN_LEN Minimum acceptable password length.
# PASS_WARN_AGE Number of days warning given before a
# password expires.
#
PASS_MAX_DAYS 30
PASS_MIN_DAYS 0
PASS_MIN_LEN 5
PASS_WARN_AGE 7
...output omitted...
4. Configure los derechos administrativos para que todos los miembros de consultants
puedan ejecutar cualquier comando como cualquier usuario.
RH199-RHEL8.0-es-1-20190531 117
CAPÍTULO 3 | Administración de usuarios y grupos locales
8.1. Establezca el último día del cambio de contraseña en 0 para que los usuarios se vean
obligados a cambiar la contraseña cuando inicien sesión en el sistema por primera vez.
Evaluación
En workstation, ejecute el comando lab users-review grade para confirmar que ha
realizado correctamente este ejercicio.
Finalizar
En workstation, ejecute lab users-review finish para terminar este trabajo de
laboratorio. Este script elimina las cuentas de usuario y los archivos creados durante el trabajo de
laboratorio para garantizar que el entorno esté limpio.
118 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 3 | Administración de usuarios y grupos locales
RESUMEN
En este capítulo, aprendió lo siguiente:
• Hay tres tipos principales de cuenta de usuario: el superusuario, el usuario del sistema y el
usuario normal.
• Un usuario debe tener un grupo principal y puede ser miembro de uno o más grupos adicionales.
• Los tres archivos críticos que contienen información de usuarios y grupos son /etc/passwd , /
etc/group y /etc/shadow.
• Los comandos su y sudose pueden utilizar para ejecutar comandos como superusuario.
• Los comandos useradd , usermod y userdel se pueden utilizar para administrar usuarios.
• Los comandos groupadd , groupmod y groupdel se pueden utilizar para administrar grupos.
RH199-RHEL8.0-es-1-20190531 119
120 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 4
RH199-RHEL8.0-es-1-20190531 121
CAPÍTULO 4 | Control de acceso a los archivos
OBJETIVOS
Tras finalizar esta sección, deberá poder cambiar los permisos y la propiedad de los archivos
usando herramientas de la línea de comandos.
El método simbólico de cambiar los permisos del archivo usa letras para representar los distintos
grupos de permisos: u para usuario, g para grupo, o para otros y a para todos.
Los permisos en sí están representados por una única letra: r para leer, w para escribir y x para
ejecutar. Cuando use chmod para cambiar los permisos con el método simbólico, el uso de una X
mayúscula como indicador de permiso agregará permiso de ejecución únicamente si el archivo es
un directorio o si ya tiene el permiso de ejecución establecido para usuario, grupo u otros.
122 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 4 | Control de acceso a los archivos
NOTA
El comando chmod admite la opción -R para establecer permisos de manera
recursiva en los archivos, en todo el árbol de directorios. Cuando usa la opción -
R, puede ser útil para establecer permisos de manera simbólica mediante el uso
de la opción X. Esto permite ejecutar (buscar) permisos para establecer en los
directorios de modo que se pueda acceder a su contenido, sin cambiar los permisos
en la mayoría de los archivos. Sin embargo, tenga cuidado con la opción X, porque si
un archivo tiene un permiso de ejecución establecido, X establecerá el permiso de
ejecución especificado en ese archivo también. Por ejemplo, el siguiente comando
establece de manera recursiva el acceso de lectura y de escritura en demodir
y todos sus procesos secundarios para el propietario del grupo, pero solo aplica
permisos de ejecución de grupo a directorios y archivos que ya tienen permisos de
ejecución establecidos para usuario, grupo u otros.
Ejemplos
• Cada dígito representa permisos para un nivel de acceso: usuario, grupo, otros.
• El dígito se calcula sumando los números para cada permiso que desea agregar, 4 para lectura, 2
para escritura y 1 para ejecución.
Al usar el método numérico, los permisos son representados por un número octal de tres dígitos
(o cuatro, al establecer permisos avanzados). Un octal de un único dígito puede representar
cualquier valor de 0 a 7.
En la representación de permisos octal (numérica) de tres dígitos, cada dígito representa un nivel
de acceso, de izquierda a derecha: usuario, grupo y otros. Para determinar cada dígito:
1. Comience con 0.
2. Si el permiso de lectura debe estar presente para este nivel de acceso, agregue 4.
3. Si el permiso de escritura debe estar presente, agregue 2.
4. Si el permiso de ejecución debe estar presente, agregue 1.
Examine los permisos -rwxr-x---. Para el usuario, rwx se calcula como 4+2+1=7. Para el grupo,
r-x se calcula como 4+0+1=5, y para otros usuarios, --- se representa con 0. Si reunimos estos
tres, la representación numérica de esos permisos es 750.
RH199-RHEL8.0-es-1-20190531 123
CAPÍTULO 4 | Control de acceso a los archivos
Este cálculo también se puede realizar en dirección opuesta. Veamos los permisos 640. Para
los permisos de usuario, 6 representa leer (4) y escribir (2), que se ve como rw-. Para la parte
de grupo, 4 solo incluye leer (4) y se ve como r--. El 0 para otros no nos proporciona permisos
(---), por lo que el conjunto final de permisos simbólicos para este archivo es -rw-r-----.
Los administradores experimentados a menudo usan permisos numéricos, ya que son más breves
para escribir y pronunciar, al tiempo que le proporcionan el control total de todos los permisos.
Ejemplos
• Establezca permisos de lectura y escritura para usuario, permiso de lectura para grupo y otros
respecto de samplefile:
Solo el usuario root puede cambiar el usuario que es propietario de un archivo. No obstante, la
propiedad del grupo puede establecerla el usuario root o el propietario del archivo. root puede
otorgar propiedad de archivo a cualquier grupo, mientras que los usuarios normales pueden hacer
que un grupo sea propietario de un archivo solo si son miembros de ese grupo.
La propiedad del archivo se puede cambiar con el comando chown (cambiar propietario). Por
ejemplo, para otorgarle propiedad del archivo test_file al usuario student, use el siguiente
comando:
Se puede usar chown con la opción -R para cambiar recursivamente la propiedad de un árbol
de directorios completo. El siguiente comando otorga propiedad de test_dir y de todos los
archivos y subdirectorios incluidos dentro a student:
El comando chown también se puede usar para cambiar el propietario del grupo de un archivo,
anteponiendo el nombre del grupo con dos puntos (:). Por ejemplo, el siguiente comando cambia
el grupo de test_dir a admins:
124 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 4 | Control de acceso a los archivos
El comando chown también se puede usar para cambiar el propietario y el grupo al mismo tiempo.
Para ello, puede usar la sintaxis owner:group. Por ejemplo, para cambiar la propiedad de test_dir
a visitor y el grupo a guests, use el siguiente comando:
En lugar de usar chown, algunos usuarios cambian la propiedad del grupo usando el comando
chgrp. Este comando funciona igual que chown, excepto que solo se usa para cambiar la
propiedad del grupo, y no es necesario colocar los dos puntos (:) antes del nombre del grupo.
IMPORTANTE
Puede encontrar ejemplos de los comandos chown con una sintaxis alternativa que
separa al propietario y al grupo con un punto en lugar de dos puntos:
REFERENCIAS
Páginas del manual: ls(1), chmod(1), chown(1) y chgrp(1)
RH199-RHEL8.0-es-1-20190531 125
CAPÍTULO 4 | Control de acceso a los archivos
EJERCICIO GUIADO
RESULTADOS
Deberá poder crear un directorio de colaboración al que puedan acceder todos los
miembros de un grupo en particular.
ANDES DE COMENZAR
Inicie sesión en workstation como student con la contraseña student.
1. En workstation, use el comando ssh para iniciar sesión en servera con el usuario
student.
[student@servera ~]$ su -
Password: redhat
[root@servera ~]#
4. Use el comando chown para cambiar la propiedad del grupo del directorio consultants a
consultants.
126 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 4 | Control de acceso a los archivos
5. Asegúrese de que los permisos del grupo consultants permitan a los miembros del
grupo crear archivos en el directorio /home/consultants y eliminarlos de este. Los
permisos deben impedir que otros accedan a los archivos.
5.1. Use el comando ls para confirmar que los permisos del grupo consultants
permitan a los miembros del grupo crear archivos en el directorio /home/
consultants y eliminarlos de este.
5.2. Use el comando chmod para agregar permiso de escritura al grupo consultants.
5.3. Use el comando chmod para impedir que otros accedan a los archivos del directorio /
home/consultants.
7.2. Use el comando touch para crear un archivo vacío con el nombre consultant1.txt.
RH199-RHEL8.0-es-1-20190531 127
CAPÍTULO 4 | Control de acceso a los archivos
9. Asegúrese de que todos los miembros del grupo consultants puedan editar el archivo
consultant1.txt. Cambie la propiedad del grupo del archivo consultant1.txt a
consultants.
9.1. Use el comando chown para cambiar la propiedad del grupo del archivo
consultant1.txt a consultants.
9.2. Use el comando ls con la opción -l para registrar la nueva propiedad del archivo
consultant1.txt.
11.2. Use el comando cat para verificar que el texto se haya agregado al archivo
consultant1.txt.
128 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 4 | Control de acceso a los archivos
Finalizar
En workstation, ejecute el script lab perms-cli finish para terminar este ejercicio.
RH199-RHEL8.0-es-1-20190531 129
CAPÍTULO 4 | Control de acceso a los archivos
ADMINISTRACIÓN DE PERMISOS
PREDETERMINADOS Y ACCESO A
ARCHIVOS
OBJETIVOS
Tras finalizar esta sección, los estudiantes deberán ser capaces de realizar lo siguiente:
• Controlar los permisos predeterminados de los nuevos archivos creados por los usuarios.
• Usar permisos especiales y permisos predeterminados para establecer el propietario del grupo
de archivos creados en un directorio en particular.
PERMISOS ESPECIALES
Los permisos especiales constituyen un cuarto tipo de permiso, además del usuario básico, grupo
y otros tipos. Como su nombre lo indica, estos permisos proporcionan funciones adicionales
relacionadas con el acceso más allá de lo que permiten los tipos de permisos básicos. En esta
sección, se detalla el impacto de los permisos especiales, que se resumen en la siguiente tabla.
g+s (sgid) El archivo se ejecuta como el grupo Los archivos creados recientemente
propietario. en el directorio han establecido
al propietario del grupo para que
coincida con el propietario del grupo
del directorio.
El permiso setuid en un archivo ejecutable significa que los comandos se ejecutan como el usuario
que es propietario del archivo, no como el usuario que ejecutó el comando. Un ejemplo de este
caso es el comando passwd:
130 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 4 | Control de acceso a los archivos
En una larga lista, puede identificar los permisos setuid con una s minúscula, donde normalmente
esperaría ver la x (el propietario ejecuta los permisos). Si el propietario no posee permisos de
ejecución, será reemplazada por una S mayúscula.
El permiso especial setgid en un directorio significa que los archivos creados en el directorio
heredarán la propiedad de grupos del directorio, en lugar de heredarla del usuario que la creó. Esto
generalmente se usa en directorios colaborativos grupales para poder cambiar automáticamente
un archivo del grupo privado predeterminado al grupo compartido, o si los archivos de un
directorio deben pertenecer siempre a un grupo específico. Un ejemplo de esto es el directorio /
run/log/journal:
Si se configura setgid en un archivo ejecutable, los comandos se ejecutan como el grupo que
posee ese archivo, no como el usuario que ejecutó el comando, de manera similar a como funciona
setuid. Un ejemplo de este caso es el comando locate:
En una larga lista, puede identificar los permisos setgid con una s minúscula, donde normalmente
esperaría ver la x (el grupo ejecuta los permisos). Si el grupo no posee permisos de ejecución, será
reemplazada por una S mayúscula.
Por último, el sticky bit para un directorio establece una restricción especial en la eliminación de
archivos. Solo el propietario del archivo (y root) puede borrar archivos dentro del directorio. Un
ejemplo es /tmp:
En una larga lista, puede identificar los permisos sticky con una s minúscula, donde normalmente
esperaría ver la x (otro ejecuta los permisos). Si otra persona no posee permisos de ejecución, se
reemplazará por una S mayúscula.
Ejemplos
RH199-RHEL8.0-es-1-20190531 131
CAPÍTULO 4 | Control de acceso a los archivos
Si crea un nuevo directorio, el sistema operativo comienza asignándole permisos octales 0777
(drwxrwxrwx). Si crea un nuevo archivo regular, el sistema operativo le asigna permisos octales
(-rw-rw-rw-). Siempre debe agregar explícitamente el permiso de ejecución a un archivo
regular. Esto hace que sea más difícil para un atacante comprometer un servicio de red para que
cree un nuevo archivo y lo ejecute inmediatamente como un programa.
Sin embargo, la sesión de shell también establecerá un umask para restringir aún más los permisos
que se establecen inicialmente. Es una máscara de bits octal usada para borrar los permisos de
archivos y directorios nuevos creados por el proceso. Si se establece un bit en el umask, el permiso
correspondiente se elimina en los archivos nuevos. Por ejemplo, el umask 0002 borra el bit de
escritura para otros usuarios. Los ceros iniciales indican que los permisos especiales, de usuario y
de grupo no están borrados. Un umask de 0077 borra los permisos de todo el grupo y de otros de
los archivos creados recientemente.
El comando umask sin argumentos mostrará el valor actual del umask de shell:
Use el comando umask con un argumento numérico único para cambiar el umask de la shell actual.
El argumento numérico debe ser un valor octal que se corresponda con el valor del umask nuevo.
Puede omitir los ceros iniciales en el umask.
Los valores de umask predeterminados del sistema para usuarios de shell Bash se definen
en los archivos /etc/profile y /etc/bashrc. Los usuarios pueden anular los valores
predeterminados del sistema en sus archivos .bash_profile y .bashrc en sus directorios de
inicio.
Ejemplo de umask
El siguiente ejemplo explica cómo el umask afecta los permisos de los archivos y directorios.
Observe los permisos predeterminados de umask para archivos y directorios en la shell actual.
Tanto el propietario como el grupo tienen permiso de lectura y escritura en los archivos, y otros
tienen permiso de lectura. Tanto el propietario como el grupo tienen permisos de lectura, escritura
y ejecución en los directorios. El único permiso para otros es el de lectura.
Al establecer el valor de umask en 0, los permisos del archivo para otros cambian de lectura a
lectura y escritura. Los permisos del directorio para otros cambios de lectura y ejecución para
lectura, escritura y ejecución.
132 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 4 | Control de acceso a los archivos
Para enmascarar todos los permisos de archivos y directorios para otros, establezca el valor de
umask en 007.
Un umask de 027 garantiza que los nuevos archivos tengan permisos de lectura y escritura para
el usuario y permisos de lectura para el grupo. Los nuevos directorios tienen acceso de lectura y
escritura para el grupo y no tienen permisos para otros.
El umask predeterminado para usuarios se establece mediante los scripts de inicio de shell. De
manera predeterminada, si la UID de su cuenta es 200 o más y su nombre de usuario y nombre
de grupo primario son los mismos, se le asignará un umask de 002. De lo contrario, su umask será
022.
Como usuario root, puede cambiarlo al agregar un script de inicio de shell llamado /etc/
profile.d/local-umask.sh, que se parece al resultado en este ejemplo:
El ejemplo anterior establecerá el umask en 007 para los usuarios con una UID mayor que 199
y con un nombre de usuario y un nombre de grupo primario iguales, y en 022 para todos los
demás. Si solo deseara establecer el umask para todos en 022, puede crear ese archivo solo con el
siguiente contenido:
RH199-RHEL8.0-es-1-20190531 133
CAPÍTULO 4 | Control de acceso a los archivos
Para asegurarse de que los cambios globales de umask surtan efecto, debe cerrar sesión en la
shell y volver a iniciar sesión. Hasta ese momento, el umask configurado en la shell actual sigue
vigente.
REFERENCIAS
Páginas del manual: bash(1), ls(1), chmod(1) y umask(1)
134 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 4 | Control de acceso a los archivos
EJERCICIO GUIADO
ADMINISTRACIÓN DE PERMISOS
PREDETERMINADOS Y ACCESO A
ARCHIVOS
En este ejercicio, controlará los permisos de los nuevos archivos creados en un directorio
mediante el uso de la configuración de umask y el permiso setgid.
RESULTADOS
Usted deberá ser capaz de realizar lo siguiente:
ANDES DE COMENZAR
Inicie sesión en workstation como student con la contraseña student.
1. Use el comando ssh para iniciar sesión en servera como el usuario student.
2. Use el comando su para cambiar al usuario operator1 usando redhat como contraseña.
3. Use el comando umask para registrar el valor de umask predeterminado del usuario
operator1.
RH199-RHEL8.0-es-1-20190531 135
CAPÍTULO 4 | Control de acceso a los archivos
4.1. Use el comando mkdir para crear el directorio /tmp/shared. Use el comando ls -
ld para enumerar los permisos del nuevo directorio.
4.2. Use el comando touch para crear un archivo denominado defaults en el directorio /
tmp/shared.
4.3. Use el comando ls -l para enumerar los permisos del nuevo archivo.
5.1. Use el comando chown para cambiar la propiedad del grupo del directorio /tmp/
shared a operators.
5.2. Use el comando ls -ld para enumerar los permisos del directorio /tmp/shared.
5.3. Use el comando touch para crear un archivo denominado group en el directorio /
tmp/shared. Use el comando ls -l para enumerar los permisos del archivo.
NOTA
El propietario del grupo del archivo /tmp/shared/group no es operators, sino
operator1.
136 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 4 | Control de acceso a los archivos
6. Asegúrese de que los archivos creados en el directorio /tmp/shared son propiedad del
grupo operators.
6.1. Use el comando chmod para establecer el ID de grupo al grupo operators para el
directorio /tmp/shared.
6.3. Use el comando ls -l para verificar que el grupo operators es el propietario del
grupo para el nuevo archivo.
7.3. Use el comando umask para cambiar el umask para el usuario operator1 a 027. Use
el comando umask para confirmar el cambio.
RH199-RHEL8.0-es-1-20190531 137
CAPÍTULO 4 | Control de acceso a los archivos
8. Abra una nueva ventana de terminal e inicie sesión en servera como operator1.
10. Cambie el valor predeterminado de umask para el usuario operator1. El nuevo valor
de umask prohíbe el acceso a los usuarios que no pertenezcan al grupo. Confirme que el
umask haya cambiado.
10.1. Use el comando echo para cambiar valor de umask predeterminado para el usuario
operator1 a 007.
# Uncomment the following line if you don't like systemctl's auto-paging feature:
# export SYSTEMD_PAGER=
10.2.Cierre la sesión y vuelva a iniciar sesión como el usuario operator1. Use el comando
umask para confirmar que el cambio es permanente.
11. En servera, salga de todas las shells del usuario operator1 y de student.
138 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 4 | Control de acceso a los archivos
ADVERTENCIA
Salga de todas las shells que fueron abiertas por operator1. Si no sale de todas las
shells, el script de finalización fallará.
Finalizar
En workstation, ejecute el script lab perms-default finish para terminar este ejercicio.
RH199-RHEL8.0-es-1-20190531 139
CAPÍTULO 4 | Control de acceso a los archivos
TRABAJO DE LABORATORIO
RESULTADOS
Usted deberá ser capaz de realizar lo siguiente:
• Crear un directorio donde los usuarios puedan trabajar de forma conjunta en los archivos.
ANDES DE COMENZAR
Inicie sesión en workstation como student con la contraseña student.
1. Use el comando ssh para iniciar sesión en serverb como el usuario student. Cambie al
usuario root en serverb con la contraseña redhat.
2. Cree un directorio denominado /home/techdocs.
3. Cambie la propiedad del directorio /home/techdocs al grupo techdocs.
4. Verifique que los usuarios en el grupo techdocs pueden crear y editar archivos en el
directorio /home/techdocs.
5. Establezca permisos en el directorio /home/techdocs. En el directorio /home/techdocs,
configure setgid (2), permisos de lectura/escritura/ejecución (7) para el propietario/usuario
y grupo, y ningún permiso (0) para otros usuarios.
6. Verifique que los permisos hayan sido establecidos correctamente.
7. Confirme que los usuarios en el grupo techdocs ahora pueden crear y editar archivos en
el directorio /home/techdocs. Los usuarios que no forman parte del grupo techdocs no
pueden editar ni crear archivos en el directorio /home/techdocs. Los usuarios tech1 y
tech2 están en el grupo techdocs. El usuario database1 no está en ese grupo.
8. Modifique los scripts de inicio de sesión globales. Los usuarios normales deberían tener una
configuración de umask que evite que otros visualicen o modifiquen los archivos y directorios
nuevos.
9. Cierre sesión en serverb.
140 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 4 | Control de acceso a los archivos
Evaluación
En workstation, ejecute el script lab perms-review grade para confirmar que ha realizado
correctamente este ejercicio.
Finalizar
En workstation, ejecute el script lab perms-review finish para terminar el trabajo de
laboratorio.
RH199-RHEL8.0-es-1-20190531 141
CAPÍTULO 4 | Control de acceso a los archivos
SOLUCIÓN
RESULTADOS
Usted deberá ser capaz de realizar lo siguiente:
• Crear un directorio donde los usuarios puedan trabajar de forma conjunta en los archivos.
ANDES DE COMENZAR
Inicie sesión en workstation como student con la contraseña student.
1. Use el comando ssh para iniciar sesión en serverb como el usuario student. Cambie al
usuario root en serverb con la contraseña redhat.
3.1. Use el comando chown para cambiar la propiedad del grupo para el directorio /home/
techdocs al grupo techdocs.
142 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 4 | Control de acceso a los archivos
4. Verifique que los usuarios en el grupo techdocs pueden crear y editar archivos en el
directorio /home/techdocs.
4.2. Use touch para crear un archivo denominado techdoc1.txt en el directorio /home/
techdocs.
NOTA
Tenga en cuenta que a pesar de que el directorio /home/techdocs es propiedad
de techdocs y tech1 es parte del grupo techdocs, no es posible crear un nuevo
archivo en ese directorio. Esto es porque el grupo techdocs no tiene permiso de
escritura. Use el comando ls -ld para mostrar los permisos.
5.2. Use el comando chmod para establecer el permiso del grupo para el directorio /home/
techdocs. En el directorio /home/techdocs, configure setgid (2), permisos de
lectura/escritura/ejecución (7) para el propietario/usuario y grupo, y ningún permiso (0)
para otros usuarios.
RH199-RHEL8.0-es-1-20190531 143
CAPÍTULO 4 | Control de acceso a los archivos
7.1. Cambie al usuario tech1. Use touch para crear un archivo denominado
techdoc1.txt en el directorio /home/techdocs. Salga de la shell del usuario tech1.
7.2. Cambie al usuario tech2. Use el comando echo para agregar contenido al archivo /
home/techdocs/techdoc1.txt. Salga de la shell del usuario tech2.
7.3. Cambie al usuario database1. Use el comando echo para anexar contenido al archivo
/home/techdocs/techdoc1.txt. Tenga en cuenta que obtendrá un mensaje de
Permiso denegado. Use el comando ls -l para confirmar que database1 no tiene
acceso al archivo. Salga de la shell del usuario database1.
8. Modifique los scripts de inicio de sesión globales. Los usuarios normales deberían tener una
configuración de umask que evite que otros visualicen o modifiquen los archivos y directorios
nuevos.
8.1. Determine el umask del usuario student. Utilice el comando su - student para
cambiar a la shell de inicio de student. Salga de la shell cuando termine.
144 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 4 | Control de acceso a los archivos
un nombre de usuario y un nombre de grupo primario iguales, y en 022 para todos los
demás:
8.3. Cierre sesión en la shell y vuelva a iniciar sesión como student para verificar que el
umask global haya cambiado a 007.
Evaluación
En workstation, ejecute el script lab perms-review grade para confirmar que ha realizado
correctamente este ejercicio.
Finalizar
En workstation, ejecute el script lab perms-review finish para terminar el trabajo de
laboratorio.
RH199-RHEL8.0-es-1-20190531 145
CAPÍTULO 4 | Control de acceso a los archivos
RESUMEN
En este capítulo, aprendió lo siguiente:
• Los archivos tienen tres categorías a las que se le aplican permisos. Un archivo es propiedad
de un usuario, un único grupo y otros usuarios. Se aplicarán los permisos más específicos. Los
permisos de usuario anulan los permisos de grupo, y los permisos de grupo anulan los permisos
de otros.
• El comando ls con la opción -l expande la lista del archivo para incluir tanto los permisos de un
archivo como su propiedad.
• El comando chmod cambia los permisos de archivo desde la línea de comandos. Hay dos
métodos para representar permisos: el método simbólico (letras) y el método numérico
(dígitos).
• El comando umask sin argumentos muestra el valor actual de umask de la shell. Todos los
procesos del sistema tienen un umask. Los valores de umask predeterminados para Bash se
definen en los archivos /etc/profile y /etc/bashrc.
146 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 5
ADMINISTRACIÓN DE
SEGURIDAD DE SELINUX
META Proteger y administrar la seguridad de un servidor
con SELinux.
RH199-RHEL8.0-es-1-20190531 147
CAPÍTULO 5 | Administración de seguridad de SELinux
OBJETIVOS
Tras finalizar esta sección, usted deberá ser capaz de realizar lo siguiente:
Los permisos de archivo controlan qué usuarios o grupos de usuarios pueden acceder a qué
archivos específicos. Sin embargo, un usuario con acceso de lectura o escritura a cualquier archivo
específico puede usar ese archivo de cualquier manera que el usuario elija, incluso si ese uso no es
la forma en que se debe usar el archivo.
Por ejemplo, con acceso de escritura a un archivo, ¿un archivo de datos estructurados, diseñado
para escribirse y usar un único programa, debería poder ser abierto y modificado por otros
editores que podrían resultar en daños?
Los permisos de archivo no pueden detener este acceso no deseado. No fueron diseñados para
controlar cómo se usa un archivo, sino solo quién tiene permiso para leer, escribir o ejecutar un
archivo.
SELinux consiste en conjuntos de políticas, definidas por los desarrolladores de la aplicación, que
declaran exactamente qué acciones y accesos son adecuados y permitidos para cada ejecutable
binario, archivo de configuración y archivo de datos usados por una aplicación. Esto se conoce
como política dirigida porque se escribe una política para cubrir las actividades de una sola
aplicación. Las políticas declaran etiquetas predefinidas que se colocan en programas, archivos y
puertos de red individuales.
• Enforcing (Cumplimiento): SELinux hace cumplir las reglas de control de acceso. Las
computadoras generalmente se ejecutan en este modo.
148 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 5 | Administración de seguridad de SELinux
• Permissive (Permisivo): SELinux está activo, pero en lugar de aplicar las reglas de control de
acceso, registra advertencias de reglas que se han infringido. Este modo se usa principalmente
para pruebas y solución de problemas.
• Disabled (Deshabilitado): SELinux está desactivado por completo; no se niegan las infracciones
de SELinux, ni siquiera se registran. No se recomienda usarlo.
Para permitir el acceso anónimo remoto a un servidor web, se deben abrir los puertos de firewall.
Sin embargo, esta acción otorga a las personas malintencionadas la oportunidad de aprovecharse
del sistema al explotar una vulnerabilidad de seguridad. Si logran comprometer el proceso del
servidor web, obtienen sus permisos. En concreto, los permisos del usuario apache y del grupo
apache. Ese usuario y grupo tiene acceso de lectura a la raíz del documento, /var/www/html.
También tiene acceso a /tmp y /var/tmp, y cualquier otro archivo y directorio que se pueda
escribir en todo el mundo.
SELinux es un conjunto de reglas de seguridad que determina qué proceso puede acceder a qué
archivos, directorios y puertos. Los archivos, procesos, directorios y puertos tienen etiquetas de
seguridad especiales denominadas contextos de SELinux. Un contexto es un nombre que usa la
política de SELinux para determinar si un proceso puede o no acceder a un archivo, directorio o
puerto. De forma predeterminada, la política no permite ninguna interacción, a menos que una
regla explícita otorgue acceso. Si no hay ninguna regla de permiso, no se permite ningún tipo de
acceso.
Las etiquetas de SELinux tienen varios contextos: user (usuario), role (rol), type (tipo) y
sensitivity (sensibilidad). La política de destino, que es la política predeterminada habilitada
en Red Hat Enterprise Linux, basa sus reglas en el tercer contexto: el contexto de tipo. Por lo
general, los nombres de contexto de tipo finalizan en _t.
El contexto de tipo para un servidor web es httpd_t. El contexto de tipo para los archivos y los
directorios que generalmente se encuentran en /var/www/html es httpd_sys_content_t. El
contexto para los archivos y directorios que normalmente se encuentran en /tmp y /var/tmp es
tmp_t. El contexto de tipo para los puertos del servidor web es http_port_t.
Apache tiene un contexto de tipo de httpd_t. Hay una regla de política que permite que Apache
acceda a archivos y directorios con el contexto de tipo httpd_sys_content_t. De manera
predeterminada, los archivos encontrados en /var/www/html y otros directorios del servidor
web tienen el contexto de tipo httpd_sys_content_t. No hay una regla allow (permitir) en la
política para los archivos que normalmente se encuentran en /tmp y /var/tmp, de modo que no
RH199-RHEL8.0-es-1-20190531 149
CAPÍTULO 5 | Administración de seguridad de SELinux
se permite el acceso. Con SELinux habilitado, un usuario malintencionado que haya comprometido
el proceso del servidor web no podría acceder al directorio /tmp.
Muchos comandos que tienen que ver con archivos usan la opción -Z para mostrar o configurar
contextos de SELinux. Por ejemplo, ps, ls, cp y mkdir usan la opción -Z para mostrar o
configurar contextos de SELinux.
150 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 5 | Administración de seguridad de SELinux
El sistema lee este archivo en el momento del arranque y configura SELinux como se muestra. Lo
argumentos del kernel (selinux=0|1 y enforcing=0|1) anulan esta configuración.
REFERENCIAS
Páginas del manual: getenforce(8), setenforce(8) y selinux_config(5)
RH199-RHEL8.0-es-1-20190531 151
CAPÍTULO 5 | Administración de seguridad de SELinux
EJERCICIO GUIADO
RESULTADOS
Debería ser capaz de ver y configurar el modo de SELinux actual.
ANDES DE COMENZAR
Inicie sesión en workstation como student con la contraseña student.
1. Use el comando ssh para iniciar sesión en servera como el usuario student. Los
sistemas se configuran para que usen claves SSH para la autenticación, por lo que no se
necesita una contraseña.
2. Use el comando sudo -i para cambiar al usuario root. La contraseña del usuario
student es student.
3.1. Use el comando getenforce para verificar que servera está en modo enforcing.
152 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 5 | Administración de seguridad de SELinux
3.3. Use el comando grep para confirmar que el parámetro SELINUX se establece en
permissive.
4. servera tarda unos minutos en reiniciarse. Después de unos minutos, inicie sesión en
servera como el usuario student. Use el comando sudo -i para convertirse en root.
Visualice el modo de SELinux actual con el comando getenforce.
4.1. En workstation, use el comando ssh para iniciar sesión en servera con el usuario
student.
5.2. Use el comando grep para confirmar que el parámetro SELINUX se establece en
enforcing.
RH199-RHEL8.0-es-1-20190531 153
CAPÍTULO 5 | Administración de seguridad de SELinux
7. Salga de servera.
Finalizar
En workstation, ejecute el script lab selinux-opsmode finish para terminar este
ejercicio.
154 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 5 | Administración de seguridad de SELinux
OBJETIVOS
Tras finalizar esta sección, usted deberá ser capaz de realizar lo siguiente:
• Administrar las reglas de políticas de SELinux que determinan el contexto predeterminado para
archivos y directorios con el comando semanage fcontext.
• Aplicar el contexto definido por la política de SELinux a archivos y directorios con el comando
restorecon.
En general, los nuevos archivos heredan su contexto de SELinux del directorio principal,
garantizando así que tengan el contexto adecuado.
Sin embargo, este procedimiento de herencia puede verse comprometido de dos maneras
diferentes. Primero, si crea un archivo en una ubicación diferente de la ubicación final y, luego,
mueve el archivo, este aún tiene el contexto de SELinux del directorio donde se creó, no del
directorio de destino. Segundo, si copia un archivo conservando el contexto de SELinux, como con
el comando cp -a, el contexto de SELinux refleja la ubicación del archivo original.
En el siguiente ejemplo, se demuestran la herencia y sus escollos. Considere estos dos archivos
creados en /tmp, uno se movió a /var/www/html y el segundo se copió al mismo directorio.
Tenga en cuenta los contextos de SELinux de los archivos. El archivo que se movió al directorio /
var/www/html conserva el contexto de archivo para el directorio /tmp. El archivo que se copió al
directorio /var/www/html heredó el contexto de SELinux del directorio /var/www/html.
RH199-RHEL8.0-es-1-20190531 155
CAPÍTULO 5 | Administración de seguridad de SELinux
Mueva uno de estos archivos al directorio /var/www/html, copie otro, y observe la etiqueta de
cada uno:
El archivo movido mantiene su etiqueta original, mientras que el archivo copiado hereda la
etiqueta del directorio /var/www/html. unconfined_u: es el usuario, object_r: denota el rol
y s0 es el nivel. Un nivel de sensibilidad de 0 es el nivel de sensibilidad más bajo posible.
El comando chcon cambia los contextos de SELinux. chcon establece el contexto de seguridad
en el archivo, almacenado en el sistema de archivos. Es útil para pruebas y experimentos. Sin
embargo, no guarda los cambios de contexto en la base de datos de contexto de SELinux. Cuando
se ejecuta un comando restorecon, los cambios realizados por el comando chcon tampoco se
guardan. Además, si se vuelve a etiquetar todo el sistema de archivos, se revierte el contexto de
SELinux para los archivos modificados con chcon.
En la siguiente pantalla, se muestra un directorio que se está creando. El directorio tiene un valor
de tipo de default_t.
El comando chcon cambia el contexto de archivo del directorio /virtual: el valor de tipo cambia
a httpd_sys_content_t.
156 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 5 | Administración de seguridad de SELinux
OPCIÓN DESCRIPCIÓN
Para asegurarse de tener las herramientas para administrar los contextos de SELinux, instale
el paquete policycoreutil y el paquete policycoreutil-python si es necesario. Estos
contienen el comando restorecon y el comando semanage, respectivamente.
Para asegurarse de que todos los archivos de un directorio tengan el contexto de archivo correcto,
ejecute el comando semanage fcontext -l seguido por el comando restorecon. En el
siguiente ejemplo, observe el contexto de archivo de cada archivo antes y después de que se
ejecuten los comandos semanage y restorecon.
RH199-RHEL8.0-es-1-20190531 157
CAPÍTULO 5 | Administración de seguridad de SELinux
En el siguiente ejemplo, se muestra cómo usar semanage para agregar un contexto para un
directorio nuevo.
REFERENCIAS
Páginas del manual: chcon(1), restorecon(8), semanage(8) y semanage-
fcontext(8)
158 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 5 | Administración de seguridad de SELinux
EJERCICIO GUIADO
RESULTADOS
Debe poder configurar el servidor HTTP Apache para publicar contenido web desde una raíz
de documento no estándar.
ANDES DE COMENZAR
Inicie sesión en workstation como student con la contraseña student.
1. Use el comando ssh para iniciar sesión en servera como el usuario student. Los
sistemas se configuran para que usen claves SSH para la autenticación, por lo que no se
necesita una contraseña.
2. Use el comando sudo -i para cambiar al usuario root. La contraseña del usuario
student es student.
3. Configure Apache para usar una root de documento en una ubicación no estándar.
3.1. Cree la nueva root del documento, /custom, con el comando mkdir.
3.2. Cree el archivo index.html en la raíz del documento /custom con el comando echo.
RH199-RHEL8.0-es-1-20190531 159
CAPÍTULO 5 | Administración de seguridad de SELinux
3.3. Configure Apache para que use la nueva ubicación de la raíz del documento. Debe
reemplazar las dos apariciones de /var/www/html con /custom en el archivo de
configuración de Apache, /etc/httpd/conf/httpd.conf.
4. Inicie y habilite el servicio web Apache y confirme que el servicio se está ejecutando.
4.2. Use el comando systemctl para confirmar que el servicio se está ejecutando.
160 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 5 | Administración de seguridad de SELinux
9. Salga de servera.
Finalizar
En workstation, ejecute el script lab selinux-filecontexts finish para terminar este
ejercicio.
RH199-RHEL8.0-es-1-20190531 161
CAPÍTULO 5 | Administración de seguridad de SELinux
OBJETIVOS
Tras finalizar esta sección, usted deberá ser capaz de realizar lo siguiente:
• Administrar el valor persistente de los booleanos SELinux con el comando semanage boolean
-l.
• Consultar las páginas del manual que finalizan con _selinux para encontrar información útil
sobre los booleanos de SELinux.
BOOLEANOS DE SELINUX
Los booleanos de SELinux son opciones que modifican el comportamiento de la política de
SELinux. Los booleanos de SELinux son reglas que pueden habilitarse o deshabilitarse. Los
administradores de seguridad pueden usarlos para realizar ajustes selectivos en la política.
Las páginas del manual de SELinux, provistas con el paquete selinux-policy-doc, describen el
propósito de los booleanos disponibles. El comando man -k '_selinux' enumera estas
páginas del manual.
Los comandos útiles para la gestión de booleanos de SELinux incluyen getsebool, que enumera
los booleanos y su estado, y setsebool, que modifica los booleanos. setsebool -P modifica la
política de SELinux para hacer la modificación persistente. semanage boolean -l informa si un
booleano es persistente o no, junto con una breve descripción del booleano.
Los usuarios no privilegiados pueden ejecutar el comando getsebool, pero solo los
superusuarios pueden ejecutar semanage boolean -l y setsebool -P.
162 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 5 | Administración de seguridad de SELinux
La opción -P escribe todos los valores pendientes en la política, haciéndolos persistentes en los
reinicios. En el ejemplo que sigue, tenga en cuenta los valores entre paréntesis: ambos ahora están
configurados en on (activado).
Para enumerar los valores booleanos en los que el estado actual difiere del estado
predeterminado, ejecute semanage boolean -l -C.
REFERENCIAS
Páginas del manual: booleans(8), getsebool(8), setsebool(8), semanage(8),
semanage-boolean(8)
RH199-RHEL8.0-es-1-20190531 163
CAPÍTULO 5 | Administración de seguridad de SELinux
EJERCICIO GUIADO
RESULTADOS
Debe poder configurar Apache para publicar contenido web desde los directorios de inicio
de los usuarios.
ANDES DE COMENZAR
Inicie sesión en workstation como student con la contraseña student.
1. Use el comando ssh para iniciar sesión en servera como el usuario student. Los
sistemas se configuran para que usen claves SSH para la autenticación, por lo que no se
necesita una contraseña.
2. Use el comando sudo -i para cambiar al usuario root. La contraseña del usuario
student es student.
3. Para habilitar la función Apache que permite que los usuarios publiquen contenido web
desde sus directorios de inicio, debe editar el archivo de configuración /etc/httpd/
conf.d/userdir.conf. Comente la línea que establece UserDir en disabled
(desactivado) y quite el comentario de la línea que establece UserDir en public_html.
164 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 5 | Administración de seguridad de SELinux
5. Inicie y habilite el servicio web Apache para que tengan efecto los cambios realizados.
6. En otra ventana de terminal inicie sesión como student. SSH en servera. Cree algo de
contenido web que sea publicado desde un directorio de inicio de los usuarios.
6.1. En otra ventana de terminal inicie sesión como student. Use el comando ssh para
iniciar sesión en servera como el usuario student.
6.4. Use el comando chmod para cambiar los permisos en el directorio de inicio de
student de modo que Apache pueda acceder al subdirectorio public_html.
8. En la ventana de terminal con acceso root, use el comando getsebool para ver si hay
booleanos que restrinjan el acceso a los directorios de inicio.
RH199-RHEL8.0-es-1-20190531 165
CAPÍTULO 5 | Administración de seguridad de SELinux
9. En la ventana de terminal con acceso root, use el comando setsebool para habilitar el
acceso al directorio de inicio de forma persistente.
Finalizar
En workstation, ejecute el script lab selinux-booleans finish para terminar este
ejercicio.
166 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 5 | Administración de seguridad de SELinux
INVESTIGACIÓN Y RESOLUCIÓN DE
PROBLEMAS DE SELINUX
OBJETIVOS
Tras finalizar esta sección, usted deberá ser capaz de realizar lo siguiente:
1. Antes de pensar en hacer ajustes, considere que SELinux puede estar haciendo este trabajo
correctamente al prohibir el intento de acceso. Si un servidor web intenta acceder a archivos
en /home, esto podría indicar un riesgo para el servicio si el contenido web no es publicado
por usuarios. Si el acceso debería haberse otorgado, es necesario realizar pasos adicionales
para solucionar el problema.
3. Otra solución para un acceso demasiado restrictivo podría ser el ajuste de un booleano. Por
ejemplo, el booleano ftpd_anon_write controla si usuarios del FTP anónimos pueden
cargar archivos. Debe activar este booleano para permitir que los usuarios anónimos de FTP
carguen archivos en un servidor. El ajuste de booleanos requiere más cuidado porque estos
pueden tener un amplio impacto en la seguridad del sistema.
4. Es posible que la política de SELinux tenga un error que impida un acceso legítimo. Debido a
que SELinux se ha consolidado, es poco común que esto ocurra. Cuando está claro que se ha
identificado un error en la política, comuníquese con el soporte de Red Hat para informar el
error de modo que se pueda resolver.
RH199-RHEL8.0-es-1-20190531 167
CAPÍTULO 5 | Administración de seguridad de SELinux
Se espera que el servidor web envíe el contenido de file3, pero en cambio, devuelve un error de
permission denied (Permiso denegado). Si se inspeccionan /var/log/audit/audit.log y
/var/log/messages, se puede obtener más información sobre este error.
Ambos archivos de registro indican que el motivo del error es una denegación de SELinux.
El comando sealert que es parte de la salida de /var/log/messages proporciona más
información, que incluye una posible corrección.
Additional Information:
Source Context system_u:system_r:httpd_t:s0
Target Context unconfined_u:object_r:admin_home_t:s0
Target Objects [ file ]
168 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 5 | Administración de seguridad de SELinux
Source httpd
Source Path /usr/sbin/httpd
Port <Unknown>
Host servera
Source RPM Packages httpd-2.4.6-14.el7.x86_64
Target RPM Packages
Policy RPM selinux-policy-3.12.1-124.el7.noarch
Selinux Enabled True
Policy Type targeted
Enforcing Mode Enforcing
Host Name servera
Platform Linux servera 3.10.0-84.el7.x86_64 #1
SMP Tue Feb 4 16:28:19 EST 2014 x86_64 x86_64
Alert Count 2
First Seen 2014-02-20 19:55:35 EST
Last Seen 2014-02-20 19:55:35 EST
Local ID 613ca624-248d-48a2-a7d9-d28f5bbe2763
Hash: httpd,httpd_t,admin_home_t,file,getattr
NOTA
La sección Raw Audit Messages (Mensajes de auditoría sin formato) revela el
archivo de destino que presenta el problema, /var/www/html/file3. Además,
el contexto objetivo, tcontext, no parece pertenecer a un servidor web. Use el
comando restorecon /var/www/html/file3 para corregir el contexto de
archivos. Si deben ajustarse otros archivos, restorecon puede restablecer de
forma recursiva el contexto: restorecon -R /var/www/.
La sección Raw Audit Messages (Mensajes de auditoría en bruto) del comando sealert
contiene información de /var/log/audit.log. Para buscar el archivo /var/log/audit.log,
use el comando ausearch. La opción -m busca en el tipo de mensaje. La opción -ts busca en
función del tiempo.
RH199-RHEL8.0-es-1-20190531 169
CAPÍTULO 5 | Administración de seguridad de SELinux
CONSOLA WEB
Si la Consola web está instalada, también se puede usar para solucionar problemas de SELinux.
Inicie sesión en la Consola Web y seleccione SELinux en el menú de la izquierda. La ventana
SELinux Policy (Política de SELinux) le informa de la política de cumplimiento actual. Cualquier
problema se detalla en la sección SELinux Access Control Errors (Errores de control de acceso de
SELinux).
Haga clic en el carácter > para mostrar los detalles del error. Haga clic en solution details (detalles
de la solución) para mostrar todos los detalles y la posible solución.
Una vez resuelto el problema, la sección SELinux Access Control Errors ya no debería mostrar el
error. Si aparece el mensaje No SELinux alerts (No hay alertas de SELinux), se han corregido
todos los problemas.
170 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 5 | Administración de seguridad de SELinux
REFERENCIAS
Página del manual: sealert(8)
RH199-RHEL8.0-es-1-20190531 171
CAPÍTULO 5 | Administración de seguridad de SELinux
EJERCICIO GUIADO
INVESTIGACIÓN Y RESOLUCIÓN DE
PROBLEMAS DE SELINUX
En este trabajo de laboratorio, aprenderá cómo solucionar problemas de denegaciones por
seguridad de SELinux.
RESULTADOS
Obtendrá algo de experiencia en el uso de herramientas de solución de problemas de
SELinux.
ANDES DE COMENZAR
Inicie sesión en workstation como student con la contraseña student.
1. Use el comando ssh para iniciar sesión en servera como el usuario student. Los
sistemas se configuran para que usen claves SSH para la autenticación, por lo que no se
necesita una contraseña.
2. Use el comando sudo -i para cambiar al usuario root. La contraseña del usuario
student es student.
172 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 5 | Administración de seguridad de SELinux
5. Ejecute el comando sugerido sealert. Tenga en cuenta el contexto de origen, los objetos
de destino, la política y el modo de cumplimiento.
If you believe that httpd should be allowed getattr access on the index.html file
by default.
Then you should report this as a bug.
You can generate a local policy module to allow this access.
Do
allow this access for now by executing:
# ausearch -c 'httpd' --raw | audit2allow -M my-httpd
# semodule -X 300 -i my-httpd.pp
Additional Information:
Source Context system_u:system_r:httpd_t:s0
Target Context unconfined_u:object_r:default_t:s0
Target Objects /custom/index.html [ file ]
Source httpd
Source Path /usr/sbin/httpd
Port <Unknown>
Host servera.lab.example.com
Source RPM Packages
Target RPM Packages
Policy RPM selinux-policy-3.14.1-59.el8.noarch
Selinux Enabled True
Policy Type targeted
Enforcing Mode Enforcing
Host Name servera.lab.example.com
Platform Linux servera.lab.example.com 4.18.0-67.el8.x86_64
#1 SMP Sat Feb 9 12:44:00 UTC 2019 x86_64 x86_64
RH199-RHEL8.0-es-1-20190531 173
CAPÍTULO 5 | Administración de seguridad de SELinux
Alert Count 18
First Seen 2019-03-25 19:25:28
CET
Last Seen 2019-03-28 11:07:00
CET
Local ID b1c9cc8f-a953-4625-
b79b-82c4f4f1fee3
Hash: httpd,httpd_t,default_t,file,getattr
7. Para resolver el problema, use los comandos semanage y restorecon. El contexto que se
debe administrar es httpd_sys_content_t .
174 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 5 | Administración de seguridad de SELinux
9. Salga de servera.
Finalizar
En workstation, ejecute el script lab selinux-issues finish para terminar este ejercicio.
RH199-RHEL8.0-es-1-20190531 175
CAPÍTULO 5 | Administración de seguridad de SELinux
TRABAJO DE LABORATORIO
ADMINISTRACIÓN DE SEGURIDAD DE
SELINUX
LISTA DE VERIFICACIÓN DE RENDIMIENTO
En este trabajo de laboratorio, solucionará un problema de denegación de acceso de
SELinux. Los administradores de sistemas tienen problemas para obtener un nuevo servidor
web para proporcionar contenido a clientes cuando SELinux está en modo de cumplimiento.
RESULTADOS
Usted deberá ser capaz de realizar lo siguiente:
ANDES DE COMENZAR
Inicie sesión en workstation como student con la contraseña student.
Evaluación
En workstation, ejecute el script lab selinux-review grade para confirmar que ha
realizado correctamente este ejercicio.
176 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 5 | Administración de seguridad de SELinux
Finalizar
En workstation, ejecute el script lab selinux-review finish para terminar el trabajo de
laboratorio.
RH199-RHEL8.0-es-1-20190531 177
CAPÍTULO 5 | Administración de seguridad de SELinux
SOLUCIÓN
ADMINISTRACIÓN DE SEGURIDAD DE
SELINUX
LISTA DE VERIFICACIÓN DE RENDIMIENTO
En este trabajo de laboratorio, solucionará un problema de denegación de acceso de
SELinux. Los administradores de sistemas tienen problemas para obtener un nuevo servidor
web para proporcionar contenido a clientes cuando SELinux está en modo de cumplimiento.
RESULTADOS
Usted deberá ser capaz de realizar lo siguiente:
ANDES DE COMENZAR
Inicie sesión en workstation como student con la contraseña student.
1.1. Use el comando ssh para iniciar sesión en serverb como el usuario student. Los
sistemas se configuran para que usen claves SSH para la autenticación, por lo que no se
necesita una contraseña.
1.2. Use el comando sudo -i para cambiar al usuario root. La contraseña del usuario
student es student.
178 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 5 | Administración de seguridad de SELinux
3.1. Con el comando less, vea el contenido de /var/log/messages. Use la tecla / para
buscar sealert. Use la tecla q para salir del comando less.
3.2. Ejecute el comando sugerido sealert. Tenga en cuenta el contexto de origen, los
objetos de destino, la política y el modo de cumplimiento.
If you believe that httpd should be allowed getattr access on the lab.html file by
default.
Then you should report this as a bug.
You can generate a local policy module to allow this access.
Do
allow this access for now by executing:
# ausearch -c 'httpd' --raw | audit2allow -M my-httpd
# semodule -X 300 -i my-httpd.pp
Additional Information:
Source Context system_u:system_r:httpd_t:s0
Target Context unconfined_u:object_r:default_t:s0
Target Objects /lab-content/lab.html [ file ]
Source httpd
Source Path /usr/sbin/httpd
Port <Unknown>
Host serverb.lab.example.com
Source RPM Packages
Target RPM Packages
Policy RPM selinux-policy-3.14.1-59.el8.noarch
Selinux Enabled True
Policy Type targeted
Enforcing Mode Enforcing
Host Name serverb.lab.example.com
Platform Linux serverb.lab.example.com 4.18.0-67.el8.x86_64
RH199-RHEL8.0-es-1-20190531 179
CAPÍTULO 5 | Administración de seguridad de SELinux
Hash: httpd,httpd_t,default_t,file,getattr
3.3. La sección Raw Audit Messages (Mensajes de auditoría en bruto) del comando
sealert contiene información de /var/log/audit/audit.log. Use el comando
ausearch para buscar el archivo /var/log/audit/audit.log. La opción -m
busca en el tipo de mensaje. La opción ts busca en función del tiempo. Esta entrada
identifica el proceso relevante y el archivo que causa la alerta. El proceso es el servidor
web Apache httpd, el archivo es /lab-content/lab.html y el contexto es
system_r:httpd_t.
4.1. Use ls -dZ para comparar la raíz del documento de /lab-content y /var/www/
html.
4.2. Cree una regla de contextos de archivos que establezca el tipo predeterminado en
httpd_sys_content_ para /lab-content y todos los archivos debajo de este.
180 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 5 | Administración de seguridad de SELinux
4.3. Use el comando restorecon para establecer el contexto de SELinux para los archivos
de /lab-content.
5. Verifique que el problema de SELinux se haya resuelto y que Apache pueda proporcionar
contenido web.
Use su navegador web para actualizar el enlace http://serverb/lab.html. Ahora
debería ver algo de contenido web.
This is the html file for the SELinux final lab on SERVERB.
6. Salga de serverb.
Evaluación
En workstation, ejecute el script lab selinux-review grade para confirmar que ha
realizado correctamente este ejercicio.
Finalizar
En workstation, ejecute el script lab selinux-review finish para terminar el trabajo de
laboratorio.
RH199-RHEL8.0-es-1-20190531 181
CAPÍTULO 5 | Administración de seguridad de SELinux
RESUMEN
En este capítulo, aprendió lo siguiente:
• El comando semanage se usa para administrar las reglas de políticas de SELinux. El comando
restorecon aplica el contexto definido por la política.
• El comando sealert muestra información útil que ayuda con la solución de problemas de
SELinux.
182 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 6
RH199-RHEL8.0-es-1-20190531 183
CAPÍTULO 6 | Ajuste del rendimiento del sistema
FINALIZACIÓN DE PROCESOS
OBJETIVOS
Tras finalizar esta sección, usted deberá ser capaz de realizar lo siguiente:
La siguiente tabla enumera las señales fundamentales usadas por los administradores del sistema
para la administración de procesos de rutina. Puede referirse a las señales ya sea por su nombre
abreviado (HUP) o nombre propio (SIGHUP).
NÚMERO NOMBRE
DEFINICIÓN PROPÓSITO
DE SEÑAL ABREVIADO
184 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 6 | Ajuste del rendimiento del sistema
NÚMERO NOMBRE
DEFINICIÓN PROPÓSITO
DE SEÑAL ABREVIADO
NOTA
Los números de señal varían en las distintas plataformas de hardware de Linux,
pero los nombres y los significados de las señales están estandarizados. Para el uso
del comando, se aconseja usar los nombres de señal en lugar de los números. Los
números analizados en esta sección son para los sistemas x86_64.
Cada señal tiene una acción predeterminada que, por lo general, es una de las siguientes:
• Core: provoca que un programa guarde una imagen de la memoria (volcado central) y que, a
continuación, finalice.
• Stop: provoca que un programa deje de ejecutarse (se suspenda) y espere para continuar (se
reinicie).
Los programas pueden estar preparados para reaccionar ante señales de eventos esperadas
mediante la implementación de rutinas de controlador que ignoren, reemplacen o amplíen la
acción predeterminada de una señal.
Las señales se pueden especificar como opciones por nombre (por ejemplo, -HUP o -SIGHUP)
o por número (el -1 relacionado). Los usuarios pueden finalizar sus propios procesos, pero se
necesitan privilegios de root para finalizar procesos que son propiedad de otros usuarios.
RH199-RHEL8.0-es-1-20190531 185
CAPÍTULO 6 | Ajuste del rendimiento del sistema
El comando kill envía una señal a un proceso mediante un número de PID. A pesar de su
nombre, el comando kill puede usarse para enviar cualquier señal y no solo aquellas para finalizar
programas. Puede usar el comando kill -l para enumerar los nombres y números de todas las
señales disponibles.
186 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 6 | Ajuste del rendimiento del sistema
Use pkill para enviar una señal a uno o más procesos que coincidan con los criterios de
selección. Los criterios de selección pueden ser un nombre de comando, un proceso que es
propiedad de un usuario específico o todos los procesos del sistema. El comando pkill incluye
criterios de selección avanzados:
RH199-RHEL8.0-es-1-20190531 187
CAPÍTULO 6 | Ajuste del rendimiento del sistema
Para cerrar la sesión de un usuario, primero identifique la sesión de inicio de sesión que se
finalizará. Use el comando w para enumerar los inicios de sesión de usuario y los procesos actuales
en ejecución. Observe que las columnas TTY y FROM para determinar las sesiones a cerrar.
Todas las sesiones de inicio de sesión de usuario están asociadas a un dispositivo terminal (TTY).
Si el nombre del dispositivo tiene el formato pts/N, se trata de una pseudoterminal asociada con
una ventana de terminal gráfica o sesión de inicio de sesión remota. Si tiene el formato ttyN, el
usuario se encuentra en una consola del sistema, consola alternativa u otro dispositivo terminal
conectado directamente.
[user@host ~]$ w
12:43:06 up 27 min, 5 users, load average: 0.03, 0.17, 0.66
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root tty2 12:26 14:58 0.04s 0.04s -bash
bob tty3 12:28 14:42 0.02s 0.02s -bash
user pts/1 desk.example.com 12:41 2.00s 0.03s 0.03s w
[user@host ~]$
Averigüe cuánto tiempo un usuario estuvo en el sistema con la hora de inicio de sesión. Para cada
sesión, los recursos de CPU consumidos por los trabajos actuales, incluidas las tareas en segundo
plano y los procesos secundarios, se encuentran en la columna JCPU. El consumo de CPU del
proceso de primer plano actual está en la columna PCPU.
Los procesos y las sesiones pueden señalizarse en forma individual o colectiva. Para finalizar todos
los procesos de un usuario, use el comando pkill. Debido a que el proceso inicial en una sesión
de inicio de sesión (líder de sesión) está diseñado para manipular las solicitudes de finalización
de sesión e ignorar las señales de teclado involuntarias, la finalización de los procesos y shells de
inicio de sesión de un usuario requiere del uso de la señal SIGKILL.
IMPORTANTE
Los administradores suelen utilizar SIGKILL con demasiada rapidez.
Primero identifique los números de PID que se finalizarán mediante pgrep, que funciona como
pkill, incluido el uso de las mismas opciones, excepto que pgrep enumera procesos, en lugar de
finalizarlos.
Cuando los procesos que requieren atención están en la misma sesión de inicio de sesión, es
probable que no sea necesario finalizar todos los procesos de un usuario. Determine el terminal
188 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 6 | Ajuste del rendimiento del sistema
de control para la sesión con el comando w y, a continuación, finalice solo los procesos que hagan
referencia a la misma ID de terminal. A menos que se especifique SIGKILL, el líder de sesión (en
este caso, la shell de inicio de sesión Bash) manipula y supera en forma correcta la solicitud de
finalización, pero finalizan todos los demás procesos de sesión.
Puede aplicarse el mismo proceso selectivo de finalización con las relaciones de proceso principal
y secundario. Use el comando pstree para visualizar un árbol de proceso para el sistema o un
solo usuario. Use la PID del proceso principal para finalizar todos los procesos secundarios que
haya creado. Esta vez, la shell de inicio de sesión Bash principal sobrevive porque la señal se dirige
solo a sus procesos secundarios.
REFERENCIAS
info libc signal (Manual de referencia de la biblioteca GNU C)
RH199-RHEL8.0-es-1-20190531 189
CAPÍTULO 6 | Ajuste del rendimiento del sistema
EJERCICIO GUIADO
FINALIZACIÓN DE PROCESOS
En este ejercicio, usará señales para gestionar y detener procesos.
RESULTADOS
Deberá poder iniciar y detener varios procesos de shell.
ANDES DE COMENZAR
Inicie sesión en workstation como student con la contraseña student.
1. En workstation, abra dos ventanas de terminal una al lado de la otra. En esta sección,
estas terminales se denominan izquierda y derecha. En cada terminal, use el comando ssh
para iniciar sesión en servera como el usuario student.
2.1. Use el comando mkdir para crear un nuevo directorio denominado /home/student/
bin.
2.2. Use el comando vim para crear un script denominado killing en el directorio /
home/student/bin. Presione la tecla i para ingresar al modo interactivo Vim. Use el
comando :wq para guardar el archivo.
190 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 6 | Ajuste del rendimiento del sistema
NOTA
El script killing se ejecuta hasta que termine. Adjunta argumentos de línea de
comandos a ~/killing_outfile una vez cada 5 segundos.
2.3. Use el comando chmod para hacer que el archivo killing sea ejecutable.
4. En la shell de terminal derecha, use el comando tail con la opción -f para confirmar que
los tres procesos se estén adjuntando al archivo /home/student/killing_outfile.
5. En la shell de terminal izquierda, use el comando jobs para enumerar los trabajos.
6. Use señales para suspender el proceso network. Confirme que el proceso network está
detenido. En la shell de terminal derecha, confirme que el proceso network ya no está
anexando la salida a ~/killing_output.
6.1. Use kill con la opción -SIGSTOP para detener el proceso network. Ejecute jobs
para confirmar que se ha detenido.
RH199-RHEL8.0-es-1-20190531 191
CAPÍTULO 6 | Ajuste del rendimiento del sistema
6.2. En la shell de terminal derecha, observe la salida del comando tail. Confirme que la
palabra network ya no se está anexando al archivo ~/killing_outfile.
...output omitted...
interface connection interface connection interface connection interface
7.1. Use el comando kill con la opción -SIGSTERM para finalizar el proceso de
interface. Ejecute el comando jobs para confirmar que ha sido finalizado.
7.2. En la shell de terminal derecha, observe la salida del comando tail. Confirme que la
palabra interface ya no se está anexando al archivo ~/killing_outfile.
...output omitted...
connection connection connection connection connection connection connection
connection
8.1. Use el comando kill con -SIGCONT para reanudar el proceso network. Ejecute el
comando jobs para confirmar que el proceso se está ejecutando.
8.2. En la shell de terminal derecha, observe la salida del comando tail. Confirme que la
palabra network se está anexando al archivo ~/killing_outfile.
192 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 6 | Ajuste del rendimiento del sistema
...output omitted...
network connection network connection network connection network connection
network connection
9. En la shell de terminal izquierda, finalice los dos trabajos restantes. Confirme que no
queden trabajos y que se haya detenido la salida.
9.1. Use el comando kill con la opción -SIGTERM para finalizar el proceso interface.
Use el mismo comando para finalizar el proceso connection.
10. En la shell de terminal izquierda, enumere los procesos tail que se están ejecutando en
todas las shells de terminales abiertas. Finalizar la ejecución de comandos tail. Confirme
que el proceso ya no se está ejecutando.
10.1. Use el comando ps con la opción -ef para enumerar todos los procesos tail en
ejecución. Refine la búsqueda con el comando grep.
10.2.Use el comando pkill con la opción -SIGTERM para finalizar todos los procesos
tail. Use ps para confirmar que ya no está presente.
...output omitted...
network connection network connection network connection Terminated
[student@servera ~]$
11. Salga de ambas ventanas de terminal. Si no sale de todas las sesiones, el script de
finalización fallará.
RH199-RHEL8.0-es-1-20190531 193
CAPÍTULO 6 | Ajuste del rendimiento del sistema
Finalizar
En workstation, ejecute el script lab processes-kill finish para terminar este ejercicio.
194 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 6 | Ajuste del rendimiento del sistema
MONITOREO DE LA ACTIVIDAD DE
PROCESOS
OBJETIVOS
Tras finalizar esta sección, usted deberá ser capaz de describir qué es el promedio de carga y
determinar los procesos responsables del alto uso de recursos en un servidor.
Cada cinco segundos, el kernel recoge la cantidad de carga actual en función de la cantidad de
procesos en estados ejecutables e ininterrumpidos. Este número se acumula y se informa como un
promedio móvil exponencial en los últimos 1, 5 y 15 minutos.
• La cantidad de carga se basa esencialmente en la cantidad de procesos que están listos para
ejecutarse (estado en proceso R) y la cantidad de procesos que están esperando a que finalice
la E/S (estado en proceso D).
• Algunos sistemas UNIX solo tienen en cuenta la utilización de la CPU o la longitud de la cola de
ejecución para indicar la carga del sistema. Linux también incluye la utilización del disco o de la
red porque eso puede tener un impacto tan significativo en el rendimiento del sistema como la
carga de la CPU. Cuando haya promedios altos de carga con actividad mínima de CPU, se debe
examinar la actividad del disco y de la red.
RH199-RHEL8.0-es-1-20190531 195
CAPÍTULO 6 | Ajuste del rendimiento del sistema
Los tres valores del promedio de carga representan la carga durante los últimos 1, 5 y 15 minutos.
Una rápida mirada indica si la carga del sistema parece estar subiendo o bajando.
En el siguiente ejemplo, el sistema es un sistema de un solo socket de doble núcleo con dos
hyperthreads por núcleo. En términos generales, Linux tratará esto como un sistema de cuatro
CPU para fines de programación.
Imagine por un momento que la única contribución a la cantidad de carga proviene de procesos
que necesitan tiempo de CPU. Puede entonces dividir los valores promedios de carga que se
muestran por el número de CPU lógicas en el sistema. Un valor por debajo de 1 indica utilización
de recursos satisfactoria y tiempos de espera mínimos. Un valor por encima de 1 indica saturación
de recursos y cierta cantidad de retraso en el procesamiento.
Una cola de CPU inactiva tiene una cantidad de carga de 0. Cada proceso que espera a una CPU
agrega un recuento de 1 a la cantidad de carga. Si un proceso se está ejecutando en una CPU, la
cantidad de carga es 1, es decir, el recurso (la CPU) está en uso, pero no hay solicitudes en espera.
Si ese proceso se está ejecutando durante un minuto entero, su contribución al promedio de carga
de un minuto será 1.
Sin embargo, los procesos en suspensión ininterrumpida para E/S críticas debido a un disco o
recurso de red ocupados se incluyen también en el recuento y aumentan el promedio de carga.
Si bien no es una indicación de la utilización de la CPU, estos procesos se agregan al recuento de
la cola porque están esperando recursos y no pueden ejecutarse en una CPU hasta que obtienen
esos recursos. Esto sigue siendo una carga del sistema debido a las limitaciones de recursos que
están haciendo que los procesos no se ejecuten.
196 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 6 | Ajuste del rendimiento del sistema
Hasta que no se produce una saturación del recurso, un promedio de carga se mantiene por
debajo de 1, dado que las tareas rara vez son encontradas en las colas de espera. El promedio de
carga solo aumenta cuando la saturación del recurso provoca que las solicitudes se mantengan en
fila y sean contadas por la rutina del cálculo de carga. Cuando la utilización del recurso se aproxima
al 100 %, cada solicitud adicional comienza a experimentar un tiempo de espera del servicio.
Existen algunas otras herramientas que informan el promedio de carga, incluyendo w y top.
• La memoria virtual (VIRT) es toda la memoria que está usando el proceso, incluido el conjunto
residente, las bibliotecas compartidas y cualquier página de memoria asignada o intercambiada.
(Con la etiqueta VSZ en el comando ps).
• La memoria residente (RES) es la memoria física que usa el proceso, incluido cualquier objeto
residente compartido. (Con la etiqueta RSS en el comando ps).
• D = Suspensión ininterrumpida
• R = En ejecución o ejecutable
• S = En espera
• T = Detenido o en seguimiento
• Z = Zombi
• El tiempo de CPU (TIME) es el tiempo total de procesamiento desde que comenzó el proceso.
Se puede alternar para incluir el tiempo acumulativo de todos los procesos secundarios.
TECLA PROPÓSITO
RH199-RHEL8.0-es-1-20190531 197
CAPÍTULO 6 | Ajuste del rendimiento del sistema
TECLA PROPÓSITO
r (1) Ejecute el comando renice para un proceso. Cuando se le solicite, ingrese PID;
luego, nice_value.
q Salir.
REFERENCIAS
Páginas de manual: ps(1), top(1), uptime(1) y w(1)
198 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 6 | Ajuste del rendimiento del sistema
EJERCICIO GUIADO
MONITOREO DE LA ACTIVIDAD DE
PROCESOS
En este ejercicio, usará el comando top para examinar dinámicamente los procesos en
ejecución y controlarlos.
RESULTADOS
Deberá poder gestionar los procesos en tiempo real.
ANDES DE COMENZAR
Inicie sesión en workstation como student con la contraseña student.
1. En workstation, abra dos ventanas de terminal una al lado de la otra. Estas terminales se
denominan izquierda y derecha. En cada terminal, use el comando ssh para iniciar sesión en
servera como el usuario student.
2.1. Use el comando mkdir para crear un nuevo directorio denominado /home/student/
bin.
2.2. Use el comando vim para crear un script denominado monitor en el directorio /
home/student/bin. Presione la tecla i para ingresar al modo interactivo Vim. Use el
comando :wq para guardar el archivo.
RH199-RHEL8.0-es-1-20190531 199
CAPÍTULO 6 | Ajuste del rendimiento del sistema
done
sleep 1
done
NOTA
El script monitor se ejecuta hasta que termine. Genera carga artificial de CPU al
realizar cincuenta mil problemas de suma. Luego se inactiva durante un segundo,
restablece la variable y se repite.
2.3. Use el comando chmod para hacer que el archivo monitor sea ejecutable.
5. En la shell de terminal izquierda, ejecute una sola instancia del archivo ejecutable monitor.
Use el signo (&) para iniciar el proceso en segundo plano.
200 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 6 | Ajuste del rendimiento del sistema
top - 12:23:45 up 11 days, 1:09, 3 users, load average: 0.21, 0.14, 0.05
8. En la shell de terminal izquierda, ejecute una segunda instancia de monitor. Use el signo
(&) para iniciar el proceso en segundo plano.
top - 12:27:39 up 11 days, 1:13, 3 users, load average: 0.36, 0.25, 0.11
10. En la shell de terminal izquierda, ejecute una tercera instancia de monitor. Use el signo (&)
para iniciar el proceso en segundo plano.
RH199-RHEL8.0-es-1-20190531 201
CAPÍTULO 6 | Ajuste del rendimiento del sistema
11. En la shell de terminal derecha, anote el ID de proceso (PID) para el tercer proceso de
monitor. Observe el porcentaje de CPU para el proceso, que también se espera que sea
entre el 15 % y el 20 %.
Para que el promedio de carga sea superior a 1, debe iniciar más procesos de monitor.
La configuración del aula tiene 2 CPU, por lo que solo 3 procesos no son suficientes para
alterarla. Inicie tres procesos de monitor más. Observe de nuevo el promedio de carga
de un minuto, que ahora se espera que sea superior a 1. Es importante esperar al menos un
minuto para permitir que el cálculo se adapte a la carga de trabajo nueva.
top - 12:42:32 up 11 days, 1:28, 3 users, load average: 1.23, 2.50, 1.54
12. Una vez que haya finalizado de observar los valores promedio de carga, finalice cada uno
de los procesos monitor desde top.
12.1. En la shell de terminal derecha, presione k. Observe el prompt que está debajo de los
encabezados y arriba de las columnas.
...output omitted...
PID to signal/kill [default pid = 11338]
...output omitted...
Send pid 11338 signal [15/sigterm]
202 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 6 | Ajuste del rendimiento del sistema
13. Repita el paso anterior para cada instancia de monitor restante. Confirme que no quede
ningún proceso monitor en top.
14. En la shell de terminal derecha, presione q para salir de top. Salga de servera en ambas
ventanas de terminal.
Finalizar
En workstation, ejecute el script lab processes-monitor finish para terminar este
ejercicio.
RH199-RHEL8.0-es-1-20190531 203
CAPÍTULO 6 | Ajuste del rendimiento del sistema
OBJETIVOS
Después de completar esta sección, debe ser capaz de optimizar el rendimiento del sistema
seleccionando un perfil de ajuste administrado por el daemon tuned.
SISTEMAS DE AJUSTE
Los administradores del sistema pueden optimizar el rendimiento de un sistema ajustando
diversas configuraciones de dispositivos basadas en una variedad de cargas de trabajo de casos
de uso. El daemon tuned aplica la configuración de ajuste de forma estática y dinámica, con
perfiles de optimización que reflejan los requisitos particulares de la carga de trabajo.
Por ejemplo, los dispositivos de almacenamiento experimentan un alto uso durante el arranque y
el inicio de sesión, pero tienen una actividad mínima cuando las cargas de trabajo de los usuarios
consisten en el uso de navegadores web y clientes de correo electrónico. De manera similar, la
actividad de la CPU y los dispositivos de red aumentan durante el uso máximo en un día laboral.
El daemon tuned monitorea la actividad de estos componentes y ajusta la configuración de
parámetros para maximizar el rendimiento durante momentos de mucha actividad y reducir
los ajustes durante momentos de poca actividad. El daemon tuned usa los parámetros de
rendimiento proporcionados en los perfiles de ajuste predefinidos.
204 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 6 | Ajuste del rendimiento del sistema
Los perfiles de aumento de rendimiento incluyen perfiles que se centran en los siguientes
aspectos:
balanced (balanceado) Ideal para los sistemas que requieren un balance entre
ahorro de energía y rendimiento.
RH199-RHEL8.0-es-1-20190531 205
CAPÍTULO 6 | Ajuste del rendimiento del sistema
recomendar un perfil de ajuste para el sistema, modificar los perfiles directamente o desactivar los
ajustes.
Un administrador del sistema identifica el perfil de ajuste activo actualmente con tuned-adm
active.
El comando tuned-adm list enumera todos los perfiles de optimización disponibles, incluidos
ambos perfiles incorporados y los perfiles de optimización personalizados creados por un
administrador del sistema.
Use tuned-adm profile profilename para cambiar el perfil activo a uno diferente que se
adapte mejor a los requisitos de ajuste actuales del sistema.
El comando tuned-adm puede recomendar un perfil de ajuste para el sistema. Este mecanismo se
usa para determinar el perfil predeterminado de un sistema después de la instalación.
NOTA
La salida tuned-adm recommend se basa en diversas características del sistema,
entre ellas, si el sistema es una máquina virtual y otras categorías predefinidas
seleccionadas durante la instalación del sistema.
Para revertir los cambios de configuración realizados por el perfil actual, cambie a otro perfil o
desactive el daemon ajustado. Desactive la actividad de ajuste de tuned con tuned-adm off.
206 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 6 | Ajuste del rendimiento del sistema
Como usuario privilegiado, haga clic en la opción del menú Systems (Sistemas) en la barra de
navegación izquierda. El perfil activo actual se muestra en el campo Performance Profile (Perfil de
rendimiento). Para seleccionar un perfil diferente, haga clic en el enlace del perfil activo.
RH199-RHEL8.0-es-1-20190531 207
CAPÍTULO 6 | Ajuste del rendimiento del sistema
Para verificar los cambios, vuelva a la página principal de System y confirme que se muestra el
perfil activo en el campo Performance Profile.
REFERENCIAS
Páginas del manual: tuned(8), tuned.conf(5), tuned-main.conf(5) y tuned-
adm(1)
208 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 6 | Ajuste del rendimiento del sistema
EJERCICIO GUIADO
RESULTADOS
Debe ser capaz de configurar un sistema para usar un perfil de ajuste.
ANDES DE COMENZAR
Inicie sesión en workstation como student con la contraseña student.
1. En workstation, use SSH para iniciar sesión en servera con el usuario student. Los
sistemas se configuran a fin de que usen claves SSH para la autenticación, por lo que no se
necesita una contraseña.
2.1. Use yum para confirmar que el paquete tuned está instalado.
3. Enumere los perfiles de ajuste disponibles e identifique el perfil activo. Si sudo solicita una
contraseña, ingrese student después del aviso.
RH199-RHEL8.0-es-1-20190531 209
CAPÍTULO 6 | Ajuste del rendimiento del sistema
5. Salga de servera.
Finalizar
En workstation, ejecute el script lab tuning-profiles finish para terminar este
ejercicio.
210 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 6 | Ajuste del rendimiento del sistema
INFLUENCIA EN LA PROGRAMACIÓN DE
PROCESOS
OBJETIVOS
Después de completar esta sección, debe ser capaz de priorizar o quitar la prioridad de procesos
específicos, con los comandos nice y renice.
Linux y otros sistemas operativos ejecutan más procesos que la cantidad de unidades de
procesamiento que tienen, con una técnica llamada particionamiento de tiempo o multitarea. El
programador de procesos del sistema operativo cambia rápidamente entre procesos en un único
núcleo, lo que da la impresión de que hay varios procesos ejecutándose al mismo tiempo.
PRIORIDADES RELATIVAS
Los diferentes procesos tienen diferentes niveles de importancia. El programador de procesos
se puede configurar para usar diferentes políticas de programación para diferentes procesos. La
política de programación usada para la mayoría de los procesos que se ejecutan en un sistema
normal se denomina SCHED_OTHER (también denominada SCHED_NORMAL), pero hay otras
políticas disponibles para las diversas necesidades de cargas de trabajo.
Debido a que no todos los procesos son igual de importantes, a los procesos que se ejecutan con
la política SCHED_NORMAL se les puede dar una prioridad relativa. Esta prioridad se denomina
el valor bueno de un proceso, y se organizan en 40 niveles buenos diferentes para todos los
procesos.
Los valores de nivel bueno van desde -20 (prioridad más alta) a 19 (prioridad más baja). De
forma predeterminada, los procesos heredan su nivel bueno de sus procesos principales, que es
generalmente 0. Los niveles buenos más altos indican menos prioridad (el proceso abandona
fácilmente el uso de la CPU), mientras que los niveles buenos más bajos indican una mayor
prioridad (el proceso tiene menos tendencia a abandonar el uso de la CPU). Si no hay disputa por
recursos (por ejemplo, cuando hay menos procesos activos que núcleos de la CPU disponibles),
incluso los procesos con un nivel bueno alto usarán todos los recursos de la CPU disponibles
que puedan. Sin embargo, cuando hay más procesos que solicitan tiempo de CPU que núcleos
disponibles, los procesos con un nivel bueno más alto recibirán menos tiempo de la CPU que
aquellos con un nivel bueno más bajo.
RH199-RHEL8.0-es-1-20190531 211
CAPÍTULO 6 | Ajuste del rendimiento del sistema
Los usuarios no privilegiados solo están autorizados a incrementar los niveles buenos de sus
propios procesos. No pueden reducir los niveles buenos de sus procesos ni pueden modificar el
nivel bueno de los procesos de otros usuarios.
El siguiente comando ps muestra una lista de todos los procesos, con su PID, nombre, nivel
bueno y clase de programación, ordenados de forma descendente por nivel bueno. Los procesos
que muestran TS en la columna de clase de programación CLS se ejecutan con la política de
programación SCHED_NORMAL. Los procesos con un guión (-) como nivel bueno se ejecutan
con otras políticas de programación y son interpretados como una prioridad más alta por el
programador. Los detalles de las políticas de programación adicionales están más allá del alcance
de este curso.
212 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 6 | Ajuste del rendimiento del sistema
10 rcu_sched 0 TS
11 migration/0 - FF
12 watchdog/0 - FF
...output omitted...
El siguiente ejemplo inicia un proceso desde la shell y muestra el valor bueno del proceso. Tenga
en cuenta el uso de la opción PID en ps para especificar la salida solicitada.
Todos los usuarios pueden usar el comando nice para iniciar comandos con un nivel bueno
predeterminado o superior. Sin opciones, el comando nice inicia un proceso con el valor bueno
predeterminado de 10.
En el siguiente ejemplo, se inicia el comando sha1sum como una tarea en segundo plano con el
nivel bueno predeterminado y se muestra el nivel bueno del proceso:
Use la opción -n para aplicar un nivel bueno definido por el usuario para el proceso de arranque. El
proceso predeterminado es agregar 10 al nivel bueno actual del proceso. En el siguiente ejemplo,
se inicia un comando como una tarea en segundo plano con el valor bueno definido por el usuario
y se muestra el nivel bueno del proceso:
IMPORTANTE
Los usuarios sin privilegios solo pueden aumentar el nivel bueno de su valor actual a
un máximo de 19. Una vez aumentado, los usuarios sin privilegios no pueden reducir
el valor para volver al nivel bueno anterior. El usuario root puede reducir el nivel
bueno de cualquier nivel actual a un mínimo de -20.
RH199-RHEL8.0-es-1-20190531 213
CAPÍTULO 6 | Ajuste del rendimiento del sistema
El comando top también se puede usar para cambiar el nivel bueno de un proceso. Desde la
interfaz interactiva top, elija la opción r para acceder al comando renice, seguido por el PID que
se cambiará y el nuevo nivel bueno.
REFERENCIAS
Páginas del manual: nice(1), renice(1), top(1) y sched_setscheduler(2).
214 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 6 | Ajuste del rendimiento del sistema
EJERCICIO GUIADO
INFLUENCIA EN LA PROGRAMACIÓN DE
PROCESOS
En este ejercicio, ajustará la prioridad de programación de los procesos con los comandos
nice y renice, y observará los efectos que esto tiene en la ejecución de procesos.
RESULTADOS
Debe poder ajustar las prioridades de programación para los procesos.
ANDES DE COMENZAR
Inicie sesión en workstation como student con la contraseña student.
1. En workstation, use SSH para iniciar sesión en servera con el usuario student. Los
sistemas se configuran a fin de que usen claves SSH para la autenticación, por lo que no se
necesita una contraseña.
2.1. Use grep para analizar la cantidad de procesadores virtuales existentes (núcleos de
CPU) del archivo /proc/cpuinfo.
2.2. Use un comando de bucle para iniciar varias instancias del comando sha1sum /dev/
zero &. Inicie dos por procesador virtual encontrado en el paso anterior. En este
ejemplo, serían cuatro instancias. Los valores de PID en su salida variarán con respecto
al ejemplo.
RH199-RHEL8.0-es-1-20190531 215
CAPÍTULO 6 | Ajuste del rendimiento del sistema
3. Verifique que las tareas en segundo plano se estén ejecutando para cada uno de los
procesos sha1sum.
4. Use los comandos ps y pgrep para mostrar el porcentaje de uso de CPU para cada
proceso sha1sum.
5. Cierre todos los procesos sha1sum y, a continuación, verifique que no haya trabajos en
ejecución.
5.1. Use el comando pkill para cerrar todos los procesos en ejecución con el patrón de
nombre sha1sum.
6. Inicie varias instancias de sha1sum /dev/zero & y, a continuación, inicie una instancia
adicional de sha1sum /dev/zero & con un nivel bueno de 10. Inicie tantas instancias
como procesadores virtuales tenga el sistema. En este ejemplo, se inician 3 instancias
normales y otra con el nivel bueno más alto.
6.1. Use los bucles para iniciar tres instancias de sha1sum /dev/zero &.
6.2. Use el comando nice para iniciar la cuarta instancia con un nivel bueno de 10.
216 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 6 | Ajuste del rendimiento del sistema
7. Use los comandos ps y pgrep para mostrar el PID, el porcentaje de uso de CPU, el valor
bueno y el nombre ejecutable para cada proceso. La instancia con el valor bueno de 10
debe mostrar un porcentaje menor de uso de CPU que las otras instancias.
8. Use el comando sudo renice para bajar el nivel bueno de un proceso del paso anterior.
Observe el valor de PID de la instancia de proceso con el nivel bueno de 10. Use ese PID de
proceso para bajar su nivel bueno a 5.
9. Repita los comandos ps y pgrep para volver a mostrar el porcentaje de CPU y el nivel
bueno.
Finalizar
En workstation, ejecute el script lab tuning-procscheduling finish para terminar este
ejercicio.
RH199-RHEL8.0-es-1-20190531 217
CAPÍTULO 6 | Ajuste del rendimiento del sistema
TRABAJO DE LABORATORIO
RESULTADOS
Usted deberá ser capaz de realizar lo siguiente:
ANDES DE COMENZAR
Inicie sesión en workstation como student con la contraseña student.
1. Cambie el perfil de ajuste actual para serverb a balanced, un perfil de ajuste general no
especializado.
2. Dos procesos en serverb están consumiendo un alto porcentaje de uso de CPU. Ajuste el
nivel de nice de cada proceso en 10 para permitir más tiempo de CPU para otros procesos.
Evaluación
En workstation, ejecute el comando lab tuning-review grade para confirmar que ha
realizado correctamente este ejercicio de laboratorio.
Finalizar
En workstation, ejecute el script lab tuning-review finish para terminar este ejercicio.
218 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 6 | Ajuste del rendimiento del sistema
SOLUCIÓN
RESULTADOS
Usted deberá ser capaz de realizar lo siguiente:
ANDES DE COMENZAR
Inicie sesión en workstation como student con la contraseña student.
1. Cambie el perfil de ajuste actual para serverb a balanced, un perfil de ajuste general no
especializado.
1.1. Desde workstation, abra una sesión de SSH en serverb como el usuario student.
Los sistemas se configuran para que usen claves SSH para la autenticación, por lo que
no se necesita una contraseña.
1.2. Use yum para confirmar que el paquete tuned está instalado.
RH199-RHEL8.0-es-1-20190531 219
CAPÍTULO 6 | Ajuste del rendimiento del sistema
1.4. Enumere todos los perfiles de ajuste disponibles y sus descripciones. Tenga en cuenta
que el perfil activo actual es virtual-guest.
Profile summary:
General non-specialized tuned profile
...output omitted...
2. Dos procesos en serverb están consumiendo un alto porcentaje de uso de CPU. Ajuste el
nivel de nice de cada proceso en 10 para permitir más tiempo de CPU para otros procesos.
2.1. Determine los dos consumidores de CPU principales en serverb. Los consumidores
de CPU principales aparecen en último lugar en la salida del comando. Los valores
porcentuales de CPU varían.
220 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 6 | Ajuste del rendimiento del sistema
2.2. Identifique el nivel actual de nice para los dos consumidores de CPU principales.
2.3. Use el comando sudo renice -n 10 2967 2983 para ajustar el nivel de nice
de cada proceso en 10. Use los valores de PID identificados en la salida del comando
anterior.
2.4. Verifique que el nivel actual de nice de cada proceso sea 10.
Evaluación
En workstation, ejecute el comando lab tuning-review grade para confirmar que ha
realizado correctamente este ejercicio de laboratorio.
Finalizar
En workstation, ejecute el script lab tuning-review finish para terminar este ejercicio.
RH199-RHEL8.0-es-1-20190531 221
CAPÍTULO 6 | Ajuste del rendimiento del sistema
222 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 6 | Ajuste del rendimiento del sistema
RESUMEN
En este capítulo, aprendió lo siguiente:
• Una señal es una interrupción de software que informa eventos a un programa en ejecución. Los
comandos kill, pkill y killall usan señales para controlar los procesos.
• Para revertir todos los cambios realizados en la configuración del sistema por el perfil
seleccionado, cambie a otro perfil o desactive el servicio tuned.
• Se asigna una prioridad relativa a un proceso para determinar su acceso a la CPU. Esta prioridad
se llama agradable Valor de un proceso.
• El comando nice asigna una prioridad a un proceso cuando se inicia. El comando renice
modifica la prioridad de un proceso en ejecución.
RH199-RHEL8.0-es-1-20190531 223
224 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 7
INSTALACIÓN Y
ACTUALIZACIÓN DE
PAQUETES DE SOFTWARE
META Descargar, instalar, actualizar y gestionar paquetes
de software de Red Hat y repositorios de paquetes
Yum.
RH199-RHEL8.0-es-1-20190531 225
CAPÍTULO 7 | Instalación y actualización de paquetes de software
OBJETIVOS
Tras completar esta sección, deberá ser capaz de registrar un sistema para su cuenta de Red Hat
y asignarle autorizaciones para actualizaciones de software y servicios de soporte mediante la
administración de suscripciones de Red Hat.
Existen cuatro tareas básicas que se realizan con las herramientas de administración de
suscripciones de Red Hat:
• Registrar un sistema para asociar ese sistema a una cuenta de Red Hat. Esto permite al
administrador de suscripciones realizar un inventario exclusivo del sistema. Cuando ya no se usa,
es posible anular la suscripción del sistema.
Registro de un sistema
Hay varias formas diferentes de registrar un sistema con el portal de clientes de Red Hat. Hay una
interfaz gráfica a la que puede acceder con una aplicación de GNOME o mediante el servicio de
consola web, y hay una herramienta de línea de comando.
226 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 7 | Instalación y actualización de paquetes de software
Para registrar el sistema, haga clic en el botón Registrar situado en la ventana Suscripciones. Esto
muestra el siguiente cuadro de diálogo:
Este cuadro de diálogo registra un sistema con un servidor de suscripción. Por defecto, registra el
servidor para el portal del clientes de Red Hat. Proporcione el inicio de sesión y la contraseña para
la cuenta del portal de clientes de Red Hat a la que se debe registrar el sistema y haga clic en el
botón Registrar.
Cuando está registrado, el sistema tiene automáticamente una suscripción adjunta si hay una
disponible.
Después de que se haya asignado un registro y una suscripción, cierre la ventana Suscripciones.
El sistema está suscrito adecuadamente y está listo para recibir actualizaciones o instalar un
software nuevo de Red Hat
RH199-RHEL8.0-es-1-20190531 227
CAPÍTULO 7 | Instalación y actualización de paquetes de software
NOTA
subscription-manager también puede usarse junto con las claves de activación
que permiten el registro y la asignación de suscripciones definidas previamente sin
usar un nombre de usuario o contraseña. Este método de registro puede ser muy
útil para las instalaciones e implementaciones automáticas. Por lo general, las claves
de activación son emitidas por un servicio de administración de suscripciones in situ,
como el administrador de activos de suscripción o Red Hat Satellite; no se analizan
en detalle en este curso.
CERTIFICADOS DE AUTORIZACIÓN
Una autorización es una suscripción que se adjuntó a un sistema. Los certificados digitales se
usan para almacenar información actual sobre las autorizaciones en el sistema local. Una vez
registrados, los certificados de autorización se almacenan en /etc/pki y en sus subdirectorios.
• /etc/pki/product contiene certificados que indican que hay productos Red Hat instalados
en el sistema.
228 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 7 | Instalación y actualización de paquetes de software
• /etc/pki/entitlement contiene certificados que indican cuáles son las suscripciones que
están adjuntadas al sistema.
Los certificados pueden inspeccionarse en forma directa con la utilidad rct, pero las herramientas
de subscription-manager proporcionan maneras más prácticas de examinar las suscripciones
que están adjuntadas al sistema.
REFERENCIAS
Páginas de manual subscription-manager(8) y rct(8)
RH199-RHEL8.0-es-1-20190531 229
CAPÍTULO 7 | Instalación y actualización de paquetes de software
CUESTIONARIO
1. ¿Qué comando se usa para registrar un sistema sin usar un entorno gráfico?
a. rct
b. subscription-manager
c. rpm
d. yum
230 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 7 | Instalación y actualización de paquetes de software
SOLUCIÓN
1. ¿Qué comando se usa para registrar un sistema sin usar un entorno gráfico?
a. rct
b. subscription-manager
c. rpm
d. yum
RH199-RHEL8.0-es-1-20190531 231
CAPÍTULO 7 | Instalación y actualización de paquetes de software
INSTALACIÓN Y ACTUALIZACIÓN DE
PAQUETES DE SOFTWARE CON YUM
OBJETIVOS
Tras finalizar esta sección, debería poder encontrar, instalar y actualizar paquetes de software
mediante el uso del comando yum.
Yum está diseñado para ser un mejor sistema de gestión de instalación y actualizaciones de
software basado en RPM. El comando yum le permite instalar, actualizar, eliminar y obtener
información sobre los paquetes de software y sus dependencias. Puede obtener un historial de
transacciones realizadas y trabajar con múltiples repositorios de software de Red Hat y terceros.
• yum search KEYWORD enumera paquetes por palabras clave que se encuentran en los
campos de nombre y resumen solamente.
Para buscar paquetes que contienen “servidor web” en los campos nombre, resumen y
descripción, use search all:
232 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 7 | Instalación y actualización de paquetes de software
• yum info PACKAGENAME arroja información detallada sobre un paquete, que incluye el
espacio en disco necesario para la instalación.
• yum provides PATHNAME muestra paquetes que coinciden con el nombre de ruta
especificado (que a menudo, incluye caracteres comodines).
• yum install PACKAGENAME obtiene e instala un paquete de software junto con cualquier
tipo de dependencia.
RH199-RHEL8.0-es-1-20190531 233
CAPÍTULO 7 | Instalación y actualización de paquetes de software
Transaction Summary
================================================================================
Install 9 Packages
• yum update PACKAGENAME obtiene e instala una versión más reciente del paquete
especificado, incluidas las dependencias. Generalmente, el proceso intenta preservar los
archivos de configuración, pero en algunos casos, se les cambiará el nombre si el empaquetador
considera que el anterior no funcionará después de la actualización. Si no se especifica el
PACKAGENAME, instala todas las actualizaciones relevantes.
Como un kernel nuevo solo puede evaluarse mediante el inicio en ese kernel, el paquete está
específicamente diseñado para que puedan instalarse múltiples versiones simultáneamente.
Si el núcleo nuevo no arranca, el núcleo anterior sigue estando disponible. El uso de yum
update kernel producirá la instalación del kernel nuevo. Los archivos de configuración
contienen una lista de paquetes que siempre deben instalarse aunque el administrador solicite
una actualización.
234 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 7 | Instalación y actualización de paquetes de software
NOTA
Use yum list kernel para detallar todos los núcleos instalados y disponibles.
Para ver el kernel en funcionamiento actualmente, use el comando uname. La
opción -r muestra solamente la versión y el lanzamiento del kernel, y la opción -a
muestra el lanzamiento e información adicional del kernel.
• yum remove PACKAGENAME elimina un paquete de software instalado junto con cualquier
paquete compatible.
ADVERTENCIA
El comando yum remove quita los paquetes enumerados y cualquier paquete que
requiere que se eliminen los paquetes (y los paquetes que requieren esos paquetes,
etc.). Esto puede dar lugar a una eliminación inesperada de paquetes, por lo que
debe verificar detenidamente la lista de paquetes que se quitarán.
• yum también representa el concepto de grupos, que son colecciones de software relacionados
e instalados en forma conjunta con un fin en particular. En Red Hat Enterprise Linux 8, hay dos
tipos de grupos. Los grupos regulares son colecciones de paquetes. Los grupos de entorno son
colecciones de grupos regulares. Los paquetes o grupos proporcionados por un grupo pueden
ser obligatorios (deben instalarse si el grupo se instala), predeterminados (normalmente
se instalan si el grupo se instala) u opcionales (no se instalan cuando se instala el grupo a
menos que se lo solicite específicamente).
Al igual que yum list, el comando yum group list muestra los nombres de grupos
instalados y disponibles.
RH199-RHEL8.0-es-1-20190531 235
CAPÍTULO 7 | Instalación y actualización de paquetes de software
• yum group info muestra información acerca de un grupo. Incluye una lista de nombres de
paquetes obligatorios, predeterminados u opcionales.
• yum group install instala un grupo que instala sus paquetes obligatorios y
predeterminados, y los paquetes de los que depende.
Transaction Summary
===============================================================================
Install 64 Packages
236 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 7 | Instalación y actualización de paquetes de software
IMPORTANTE
El comportamiento de los grupos Yum cambió a partir de Red Hat Enterprise
Linux 7. En RHEL 7 y versiones posteriores, los grupos se tratan como objetos y
son rastreados por el sistema. Si un grupo instalado se actualiza y el repositorio
Yum ha agregado paquetes nuevos obligatorios o predeterminados al grupo, dichos
paquetes nuevos se instalan en la actualización.
RH199-RHEL8.0-es-1-20190531 237
CAPÍTULO 7 | Instalación y actualización de paquetes de software
TAREA: COMANDO:
REFERENCIAS
Páginas de manual yum(1) y yum.conf(5)
Para obtener más información, consulte el capítulo Instalación de software con yum
en Configuración básica de sistemas Red Hat Enterprise Linux 8.0 en
https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/
html-single/configuring_basic_system_settings/installing-software-with-
yum_configuring-basic-system-settings
238 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 7 | Instalación y actualización de paquetes de software
EJERCICIO GUIADO
INSTALACIÓN Y ACTUALIZACIÓN DE
PAQUETES DE SOFTWARE CON YUM
En este ejercicio, instalará y quitará paquetes y grupos de paquetes.
RESULTADOS
Debería poder instalar y eliminar paquetes con dependencias.
ANDES DE COMENZAR
Inicie sesión en workstation como student con la contraseña student.
1. Use el comando ssh para iniciar sesión en servera como el usuario student. Los
sistemas se configuran para que usen claves SSH para la autenticación, por lo que no se
necesita una contraseña para iniciar sesión en servera.
[student@servera ~]$ su -
Password: redhat
[root@servera ~]#
3.2. Use el comando yum search para buscar paquetes que tienen guile como parte de
su nombre o resumen.
RH199-RHEL8.0-es-1-20190531 239
CAPÍTULO 7 | Instalación y actualización de paquetes de software
3.3. Use el comando yum info para obtener más información acerca del paquete guile.
Transaction Summary
================================================================================
Install 4 Packages
5. Quite paquetes.
5.1. Use el comando yum remove para eliminar el paquete guile, pero responda con no
cuando se le solicite. ¿Cuántos paquetes se quitarían?
240 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 7 | Instalación y actualización de paquetes de software
Removing:
guile x86_64 5:2.0.14-7.el8 @rhel-8.0-for-x86_64-appstream-rpms 12 M
Removing unused dependencies:
gc x86_64 7.6.4-3.el8 @rhel-8.0-for-x86_64-appstream-rpms 221 k
libatomic_ops x86_64 7.6.2-3.el8 @rhel-8.0-for-x86_64-appstream-rpms 75 k
libtool-ltdl x86_64 2.4.6-25.el8 @rhel-8.0-for-x86_64-baseos-rpms 69 k
Transaction Summary
================================================================================
Remove 4 Packages
Freed space: 12 M
Is this ok [y/N]: n
Operation aborted.
5.2. Use el comando yum remove para eliminar el paquete gc, pero responda con no
cuando se le solicite. ¿Cuántos paquetes se quitarían?
Transaction Summary
================================================================================
Remove 4 Packages
Freed space: 12 M
Is this ok [y/N]: n
Operation aborted.
6.1. Use el comando yum group list para enumerar todos los grupos de componentes
disponibles.
6.2. Use el comando yum group info para obtener más información acerca del grupo de
componentes Herramientas de desarrollo RPM, incluida una lista de paquetes
incluidos.
RH199-RHEL8.0-es-1-20190531 241
CAPÍTULO 7 | Instalación y actualización de paquetes de software
6.3. Use el comando yum group install para instalar el grupo de componentes
Herramientas de desarrollo RPM.
Transaction Summary
================================================================================
Install 60 Packages
Complete!
242 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 7 | Instalación y actualización de paquetes de software
7.1. Use el comando yum history para mostrar el historial de yum reciente.
7.2. Use el comando yum history info para confirmar que la última transacción sea la
instalación del grupo.
7.3. Use el comando yum history undo para eliminar el conjunto de paquetes que se
instalaron cuando se instaló el paquete guile.
Finalizar
En workstation, ejecute el script lab software-yum finish para terminar este ejercicio.
RH199-RHEL8.0-es-1-20190531 243
CAPÍTULO 7 | Instalación y actualización de paquetes de software
HABILITACIÓN DE REPOSITORIOS DE
SOFTWARE YUM
OBJETIVOS
Tras finalizar esta sección, los estudiantes deberán ser capaces de habilitar y deshabilitar el uso de
repositorios Yum de Red Hat o de terceros por parte de un servidor.
La fuentes que no son Red Hat proporcionan software a través de repositorios de terceros, a los
que se puede acceder mediante el comando yum desde un sitio web, servidor FTP o el sistema
de archivos local. Por ejemplo, Adobe proporciona parte de su software para Linux a través
de un repositorio Yum. En un aula Red Hat, el servidor del aula content.example.com aloja
repositorios Yum.
244 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 7 | Instalación y actualización de paquetes de software
ADVERTENCIA
EPEL 8 aún no había sido publicado por el proyecto comunitario cuando se escribió
esta sección. Un lanzamiento de EPEL puede retrasar el lanzamiento de Red Hat
Enterprise Linux ya que no es provisto por Red Hat, sino por una comunidad de
voluntarios. La siguiente URL podría no ser válida, hemos utilizado el siguiente
ejemplo para ilustrar cómo habilitar repositorio de paquetes de terceros.
[dl.fedoraproject.org_pub_epel_8_x86_64_]
name=added from: http://dl.fedoraproject.org/pub/epel/8/x86_64/
baseurl=http://dl.fedoraproject.org/pub/epel/8/x86_64/
enabled=1
Modifique este archivo para proporcionar valores personalizados y la ubicación de una clave
GPG. Las claves se almacenan en diversas ubicaciones en el sitio del repositorio remoto, como,
http://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-8. Los administradores
deben descargar la clave en un archivo local en lugar de permitir que yum la recupere de una
fuente externa. Por ejemplo:
[EPEL]
name=EPEL 8
baseurl=http://dl.fedoraproject.org/pub/epel/8/x86_64/
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8
RH199-RHEL8.0-es-1-20190531 245
CAPÍTULO 7 | Instalación y actualización de paquetes de software
ADVERTENCIA
EPEL 8 aún no había sido publicado por el proyecto comunitario cuando se escribió
esta sección. Hemos escrito esta sección para reflejar el proceso de configuración
esperado para EPEL 8, basado en el proceso EPEL 7, como ejemplo de cómo
habilitar un repositorio de paquetes de terceros que proporciona su configuración
de repositorio a los clientes mediante el uso de un paquete RPM.
[epel-debuginfo]
name=Extra Packages for Enterprise Linux 8 - $basearch - Debug
#baseurl=http://download.fedoraproject.org/pub/epel/8/$basearch/debug
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-debug-8&arch=
$basearch
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8
gpgcheck=1
[epel-source]
name=Extra Packages for Enterprise Linux 8 - $basearch - Source
#baseurl=http://download.fedoraproject.org/pub/epel/8/SRPMS
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-source-8&arch=
$basearch
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-8
gpgcheck=1
246 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 7 | Instalación y actualización de paquetes de software
ADVERTENCIA
Antes de instalar los paquetes firmados, instale la clave GPG de RPM. Esta acción
verifica que los paquetes pertenezcan a una clave que se haya importado. De lo
contrario, el comando yum el falla porque falta una clave. La opción --nogpgcheck
puede usarse para ignorar las claves GPG faltantes, pero esto podría provocar que
se instalen paquetes adulterados o dudosos en el sistema y que, posiblemente,
comprometan la seguridad.
REFERENCIAS
Páginas de manual yum(1), yum.conf(5) y yum-config-manager(1)
Para obtener más información, consulte el capítulo Instalación de software con yum
en Configuración básica de sistemas Red Hat Enterprise Linux 8.0 en
https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/
html-single/configuring_basic_system_settings/installing-software-with-
yum_configuring-basic-system-settings
RH199-RHEL8.0-es-1-20190531 247
CAPÍTULO 7 | Instalación y actualización de paquetes de software
EJERCICIO GUIADO
HABILITACIÓN DE REPOSITORIOS DE
SOFTWARE YUM
En este ejercicio, configurará su servidor para obtener paquetes desde un repositorio Yum
remoto, luego actualizará o instalará un paquete desde ese repositorio.
RESULTADOS
Deberá ser capaz de configurar un sistema para obtener actualizaciones de software de un
servidor de aula y actualizar el sistema para usar los paquetes más recientes.
ANDES DE COMENZAR
Inicie sesión en workstation como student con la contraseña student.
1. Use el comando ssh para iniciar sesión en servera como el usuario student.
[student@servera ~]$ su -
Password: redhat
[root@servera ~]#
248 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 7 | Instalación y actualización de paquetes de software
[rht-updates]
name=rht updates
baseurl=http://content.example.com/rhel8.0/x86_64/rhcsa-practice/errata
enabled=1
gpgcheck=0
3.4. Use el comando yum repolist all para enumerar todos los repositorios en el
sistema:
RH199-RHEL8.0-es-1-20190531 249
CAPÍTULO 7 | Instalación y actualización de paquetes de software
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
rht-system noarch 1.0.0-1 content..._rht 3.7 k
...output omitted...
Is this ok [y/N]: y
...output omitted...
Installed:
rht-system-1.0.0-1.noarch
Complete!
4.3. Verifique que el paquete rht-system esté instalado y anote el número de versión del
paquete.
5.2. Use el comando yum update para actualizar todos los paquetes de software en
servera.
5.3. Verifique que el paquete rht-system esté actualizado y anote el número de versión del
paquete.
6. Salga de servera.
250 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 7 | Instalación y actualización de paquetes de software
Finalizar
En workstation, ejecute el script lab software-repo finish para terminar este ejercicio.
Este script elimina todos los repositorios de software y paquetes instalados en servera durante
el ejercicio.
RH199-RHEL8.0-es-1-20190531 251
CAPÍTULO 7 | Instalación y actualización de paquetes de software
ADMINISTRACIÓN DE FLUJOS DE
MÓDULOS DE PAQUETE
OBJETIVOS
Tras finalizar esta sección, usted deberá ser capaz de realizar lo siguiente:
BaseOS
El repositorio de BaseOS proporciona el contenido del sistema operativo central para Red Hat
Enterprise Linux como paquetes RPM. Los componentes de BaseOS tienen un ciclo de vida
idéntico al del contenido de versiones anteriores de Red Hat Enterprise Linux.
Flujo de aplicaciones
El repositorio de Flujo de aplicaciones proporciona contenido con distintos ciclos de vida como
módulos y paquetes tradicionales. El Flujo de aplicaciones contiene las partes necesarias del
sistema, así como una amplia gama de aplicaciones previamente disponibles como parte de Red
Hat Software Collections y otros productos y programas.
IMPORTANTE
Tanto BaseOS como AppStream son una parte necesaria de un sistema
Red Hat Enterprise Linux 8.
El repositorio del Flujo de aplicaciones contiene dos tipos de contenido: Módulos y paquetes RPM
tradicionales. Un módulo describe un conjunto de paquetes RPM que están relacionados. Los
252 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 7 | Instalación y actualización de paquetes de software
módulos pueden contener varios flujos para que haya varias versiones de aplicaciones disponibles
para la instalación. Al habilitar un flujo de módulos, el sistema tiene acceso a los paquetes RPM
dentro de ese flujo de módulos.
MÓDULOS
Un módulo es un conjunto de paquetes RPM que son un conjunto consistente que están
relacionados. Normalmente, esto se organiza en torno a una versión específica de una aplicación
de software o lenguaje de programación. Un módulo típico puede contener paquetes con una
aplicación, paquetes con las bibliotecas de dependencia específica de la aplicación, paquetes con
documentación para la aplicación y paquetes con utilidades auxiliares.
Flujos de módulos
Cada módulo puede tener uno o más flujos de módulos, que contienen diferentes versiones del
contenido. Cada uno de los flujos recibe actualizaciones de forma independiente. Piense en el
flujo de módulos como un repositorio virtual en el repositorio físico del flujo de aplicaciones.
Para cada módulo, solo una de sus secuencias puede habilitarse y proporcionar sus paquetes.
Perfiles de módulos
Cada módulo puede tener uno o más perfiles. Un perfil es una lista de ciertos paquetes que se
deben instalar juntos para un determinado caso de uso por ejemplo, para un servidor, cliente,
desarrollo, instalación mínima u otro.
Para el manejo del contenido modular, se agregó el comando yum module. De otro modo, yum
funciona con módulos como lo hace con paquetes regulares.
Listado de módulos
Para visualizar una lista de módulos disponibles, use yum module list:
RH199-RHEL8.0-es-1-20190531 253
CAPÍTULO 7 | Instalación y actualización de paquetes de software
NOTA
Use Sugerencia al final de la salida para poder determinar qué flujos y perfiles
están habilitados, deshabilitados, instalados, así como cuáles son los valores
predeterminados.
Para mostrar una lista de los flujos de módulos para un módulo específico y recuperar su estado:
NOTA
Sin especificar un flujo de módulos, la información del módulo yum muestra
una lista de paquetes instalados de por el perfil predeterminado de un módulo que
usa el flujo predeterminado. Use el formato module-name:stream para ver un flujo
de módulos específico. Agregue la opción --profile para mostrar información
sobre los paquetes instalados por cada uno de los perfiles del módulo. Por ejemplo:
254 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 7 | Instalación y actualización de paquetes de software
IMPORTANTE
Solo se puede habilitar un flujo de módulos para un módulo dado. La habilitación de
un flujo de módulos adicional deshabilitará el flujo de módulos original.
NOTA
Los mismos resultados podrían haberse logrado ejecutando yum install@perl.
La notación @ informa a yum que el argumento es un nombre de módulo en lugar de
un nombre de paquete.
RH199-RHEL8.0-es-1-20190531 255
CAPÍTULO 7 | Instalación y actualización de paquetes de software
ADVERTENCIA
Eliminar módulos y cambiar las secuencias de módulos puede ser un poco
complicado. Cambiar el flujo habilitado para un módulo es equivalente a restablecer
el flujo actual y habilitar el nuevo flujo. No cambia automáticamente los paquetes
instalados. Tiene que hacerlo manualmente.
Después de que se elimine el módulo, el flujo de módulos aún está habilitado. Para verificar que el
flujo del módulos todavía esté habilitado:
256 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 7 | Instalación y actualización de paquetes de software
Para garantizar un interruptor limpio, debe eliminar primero los módulos proporcionados por la
secuencia del módulo. Eso eliminará todos los paquetes instalados por los perfiles del módulo, y
cualquier módulo o paquete en el que esos paquetes tengan dependencias.
Para listar los paquetes instalados desde el módulo, en el siguiente ejemplo está instalado el
módulo postgresql:9.6:
Elimine los paquetes enumerados en el comando anterior. Marque los perfiles del módulo que se
desinstalará.
Después de quitar los perfiles del módulo, reinicie la secuencia del módulo. Use el comando yum
module reset para restablecer el flujo del módulo.
RH199-RHEL8.0-es-1-20190531 257
CAPÍTULO 7 | Instalación y actualización de paquetes de software
Transaction Summary
=================================================================
Is this ok [y/N]: y
Complete!
Se habilitará el nuevo flujo de módulos y se deshabilitará el flujo actual. Puede ser necesario
actualizar o degradar los paquetes del flujo de módulos anterior que no se enumeran en el nuevo
perfil. Use yum distro-sync para realizar esta tarea si es necesario. También puede haber
paquetes que permanezcan instalados desde el flujo de módulos anterior. Elimínelos con yum
remove.
REFERENCIAS
Para obtener más información, consulte el capítulo Uso de AppStream en
Instalación, administración y eliminación de componentes de espacio de usuario de
Red Hat Enterprise Linux 8.0 en
https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html-
single/installing_managing_and_removing_user_space_components/
Modularidad
https://docs.fedoraproject.org/en-US/modularity/
258 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 7 | Instalación y actualización de paquetes de software
EJERCICIO GUIADO
ADMINISTRACIÓN DE FLUJOS DE
MÓDULOS DE PAQUETE
En este ejercicio, enumerará los módulos disponibles, habilitará un flujo de módulos
específico e instalará los paquetes desde ese flujo.
RESULTADOS
Usted deberá ser capaz de realizar lo siguiente:
ANDES DE COMENZAR
Inicie sesión en workstation como student con la contraseña student.
1. Use el comando ssh para iniciar sesión en servera como el usuario student.
[student@servera ~]$ su -
Password: redhat
[root@servera ~]#
3. Enumere los módulos disponibles, flujos y módulos instalados. Examine la información para
el módulo python36.
3.1. Use el comando yum module list para enumerar los módulos y los flujos
disponibles.
RH199-RHEL8.0-es-1-20190531 259
CAPÍTULO 7 | Instalación y actualización de paquetes de software
3.2. Use el comando yum module list --installed para enumerar los módulos y las
flujos instalados.
3.3. Use el comando yum module info para examinar los detalles del módulo python36.
4. Instale el módulo python36 desde el flujo 3.6 y el perfil común. Verifique el estado actual
del módulo.
4.1. Use el comando yum module install para instalar el módulo python36. Use la
sintaxis name:stream/profile para instalar el módulo python36 desde el flujo 3.6
y el perfil común.
NOTA
Puede omitir /profile para usar el perfil predeterminado y :stream para usar el
flujo predeterminado.
260 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 7 | Instalación y actualización de paquetes de software
5. Cambie el módulo postgresql del perfil servidor para usar el flujo 10.
5.1. Use el comando yum module list para enumerar el módulo postgresql y el flujo.
Tenga en cuenta que el flujo del módulo postgresql:9.6 está instalado actualmente.
5.2. Elimine y deshabilite el flujo del módulo postgresql junto con todos los paquetes
instalados por el perfil.
Transaction Summary
RH199-RHEL8.0-es-1-20190531 261
CAPÍTULO 7 | Instalación y actualización de paquetes de software
=================================================================
Is this ok [y/N]: y
Complete!
5.4. Use el comando yum module install para cambiar al flujo del módulo
postgresql:10.
6. Elimine y deshabilite el flujo del módulo postgresql junto con todos los paquetes instalados
por el perfil.
6.1. Use el comando yum remove module para eliminar el módulo postgresql. El
comando también elimina todos los paquetes instalados desde este módulo.
262 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 7 | Instalación y actualización de paquetes de software
7. Salga de servera.
Finalizar
En workstation, ejecute el script lab software-module finish para terminar este
ejercicio. Este script elimina todos los módulos instalados en servera durante el ejercicio.
RH199-RHEL8.0-es-1-20190531 263
CAPÍTULO 7 | Instalación y actualización de paquetes de software
TRABAJO DE LABORATORIO
INSTALACIÓN Y ACTUALIZACIÓN DE
PAQUETES DE SOFTWARE
LISTA DE VERIFICACIÓN DE RENDIMIENTO
En este trabajo de laboratorio, administrará repositorios de software y flujos de módulos, e
instalará y actualizará paquetes de esos repositorios y flujos.
RESULTADOS
Usted deberá ser capaz de realizar lo siguiente:
ANDES DE COMENZAR
Inicie sesión en workstation como student con la contraseña student.
Evaluación
En workstation, ejecute el script lab software-review grade para confirmar que ha
realizado correctamente este trabajo de laboratorio.
264 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 7 | Instalación y actualización de paquetes de software
Finalizar
En workstation, ejecute el script lab software-review finish para terminar este
ejercicio. Este script elimina el repositorio y los paquetes creados durante este ejercicio.
RH199-RHEL8.0-es-1-20190531 265
CAPÍTULO 7 | Instalación y actualización de paquetes de software
SOLUCIÓN
INSTALACIÓN Y ACTUALIZACIÓN DE
PAQUETES DE SOFTWARE
LISTA DE VERIFICACIÓN DE RENDIMIENTO
En este trabajo de laboratorio, administrará repositorios de software y flujos de módulos, e
instalará y actualizará paquetes de esos repositorios y flujos.
RESULTADOS
Usted deberá ser capaz de realizar lo siguiente:
ANDES DE COMENZAR
Inicie sesión en workstation como student con la contraseña student.
1.1. En workstation, use el comando ssh para iniciar sesión en serverb con el usuario
student.
[student@serverb ~]$ su -
Password: redhat
[root@serverb ~]#
266 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 7 | Instalación y actualización de paquetes de software
[errata]
name=Red Hat Updates
baseurl=http://content.example.com/rhel8.0/x86_64/rhcsa-practice/errata
enabled=1
gpgcheck=0
2. En serverb, instale el nuevo paquete xsane-gimp y el módulo Servidor HTTP Apache del
flujo 2.4 y el perfil común.
2.1. Use el comando yum list para enumerar los paquetes disponibles para xsane-gimp.
2.2. Instale la última versión del paquete xsane-gimp paquete con el comando yum
install.
2.3. Enumere los módulos y flujos disponibles. Busque el módulo httpd. Use el comando yum
install para instalar el módulo httpd con el flujo 2.4 y el perfil común.
3. Por razones de seguridad, serverb no deberá ser capaz de enviar nada para imprimir. Logre
esto mediante la eliminación del paquete cups. Salga de la cuenta root.
3.1. Use el comando yum list para mostrar el paquete cups instalado.
RH199-RHEL8.0-es-1-20190531 267
CAPÍTULO 7 | Instalación y actualización de paquetes de software
Freed space: 11 M
Is this ok [y/N]: y
...output omitted...
Complete!
4.1. Use el comando rpm para confirmar que el paquete rhcsa-script-1.0.0-1.noarch.rpm está
disponible en serverb al ver la información del paquete.
268 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 7 | Instalación y actualización de paquetes de software
4.2. Use el comando sudo yum localinstall para instalar el paquete rhcsa-
script-1.0.0-1.noarch.rpm. La contraseña es student.
Transaction Summary
==================================================================
Install 1 Package
Installed:
rhcsa-script-1.0.0-1.noarch
Complete!
4.3. Use el comando rpm para verificar que el paquete esté instalado.
RH199-RHEL8.0-es-1-20190531 269
CAPÍTULO 7 | Instalación y actualización de paquetes de software
Evaluación
En workstation, ejecute el script lab software-review grade para confirmar que ha
realizado correctamente este trabajo de laboratorio.
Finalizar
En workstation, ejecute el script lab software-review finish para terminar este
ejercicio. Este script elimina el repositorio y los paquetes creados durante este ejercicio.
270 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 7 | Instalación y actualización de paquetes de software
RESUMEN
En este capítulo, aprendió lo siguiente:
• El comando rpm se puede usar para consultar una base de datos local para proporcionar
información sobre el contenido de los paquetes instalados e instalar archivos de paquetes
descargados.
• yum es una herramienta eficaz de la línea de comandos que puede usarse para instalar,
actualizar, eliminar y consultar los paquetes de software.
• Red Hat Enterprise Linux 8 usa flujos de aplicaciones para proporcionar un solo repositorio que
aloje varias versiones del paquete de una aplicación y sus dependencias.
RH199-RHEL8.0-es-1-20190531 271
272 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 8
ADMINISTRACIÓN DE
ALMACENAMIENTO BÁSICO
META Crear y administrar dispositivos de
almacenamiento, particiones, sistemas de archivos
y espacios de intercambio desde la línea de
comandos.
RH199-RHEL8.0-es-1-20190531 273
CAPÍTULO 8 | Administración de almacenamiento básico
MONTAJE Y DESMONTAJE DE
SISTEMAS DE ARCHIVOS
OBJETIVOS
Tras finalizar esta sección, deberá ser capaz de acceder al contenido de sistemas de archivos
mediante la adición y la eliminación de sistemas de archivos de la jerarquía de sistemas de
archivos.
Hay dos formas comunes de especificar el sistema de archivos en una partición de disco para el
comando mount:
• Con el nombre del archivo del dispositivo en /dev que contiene el sistema de archivos.
• Con el UUID escrito en el sistema de archivos, un identificador universalmente único.
Use el comando lsblk para enumerar los detalles de un dispositivo de bloque especificado o
todos los dispositivos disponibles.
Si sabe que acaba de agregar un dispositivo de almacenamiento de 64 GB con una partición,
puede deducir a partir del resultado anterior que /dev/vdb1 es la partición que desea montar.
274 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 8 | Administración de almacenamiento básico
Para montar un sistema de archivos, ya debe existir el directorio de destino. El directorio /mnt
existe de forma predeterminada y está destinado a ser utilizado como punto de montaje temporal.
Puedes usar el directorio /mnt, o mejor aún crear un subdirectorio de /mnt para usar como
punto de montaje temporal, a menos que tenga una buena razón para montarlo en una ubicación
específica en la jerarquía de sistemas de archivos.
IMPORTANTE
Si el directorio que funciona como punto de montaje no está vacío, no se puede
acceder a los archivos copiados en ese directorio antes de que el sistema de
archivos se montara hasta que el sistema de archivos se desmonte nuevamente.
Este enfoque funciona bien a corto plazo. Sin embargo, el orden en que el sistema operativo
detecta discos puede cambiar si se agregan o eliminan dispositivos del sistema. Esto cambiará el
nombre del dispositivo asociado con ese dispositivo de almacenamiento. Un mejor enfoque sería
montar por alguna característica incorporada en el sistema de archivos.
El comando lsblk -fp detalla la ruta completa del dispositivo, junto con los UUID y los puntos
de montajes, así como el tipo de sistema de archivos en la partición. Si el sistema de archivos no
está montado, el punto de montaje estará en blanco.
RH199-RHEL8.0-es-1-20190531 275
CAPÍTULO 8 | Administración de almacenamiento básico
ADVERTENCIA
Los datos del sistema de archivos son a menudo almacenados en la memoria caché.
Por lo tanto, para evitar dañar los datos en el disco, es esencial que desmonte las
unidades extraíbles antes de desenchufarlas. El procedimiento de desmontaje
sincroniza los datos antes de liberar la unidad, lo que garantiza la integridad de los
datos.
Para desmontar un sistema de archivos, el comando umount espera el punto de montaje como
argumento.
No se puede desmontar si el sistema de archivos montado está en uso. Para que el comando
umount se ejecute correctamente, todos los procesos deben dejar de acceder a los datos en el
punto de montaje.
En el siguiente ejemplo, el umount falla porque el sistema de archivos está en uso (la shell está
usando /mnt/data como su directorio de trabajo actual), y genera un mensaje de error.
El comando lsof enumera todos los archivos abiertos y el proceso que accede a ellos en el
directorio proporcionado. Resulta útil identificar los procesos que actualmente impiden un
correcto desmontaje del sistema de archivos.
Una vez que se identifican los procesos, puede tomarse una medida, como esperar a que finalice
el proceso o enviar una señal SIGTERM o SIGKILL al proceso. En este caso, basta con cambiar el
directorio en funcionamiento actual por un directorio fuera del punto de montaje.
[root@host data]# cd
[root@host ~]# umount /mnt/data
276 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 8 | Administración de almacenamiento básico
NOTA
Una razón común para que los sistemas de archivos no puedan desmontarse es que
una shell Bash está usando el punto de montaje o un subdirectorio como directorio
de trabajo actual. Use el comando cd para cambiar el sistema de archivos para
resolver este problema.
REFERENCIAS
Páginas de manual lsblk(8), mount(8), umount(8) y lsof(8)
RH199-RHEL8.0-es-1-20190531 277
CAPÍTULO 8 | Administración de almacenamiento básico
EJERCICIO GUIADO
MONTAJE Y DESMONTAJE DE
SISTEMAS DE ARCHIVOS
En este ejercicio, practicará montar y desmontar sistemas de archivos.
RESULTADOS
El usuario deberá identificar y montar un nuevo sistema de archivos en un punto de montaje
especificado; luego, desmontarlo.
ANDES DE COMENZAR
Inicie sesión en workstation como student con la contraseña student.
1. Use el comando ssh para iniciar sesión en servera como el usuario student.
2. Se ha agregado una nueva partición con un sistema de archivos al segundo disco (/dev/
vdb) en servera. Monte la partición disponible recientemente mediante UUID en el punto
de montaje creado recientemente /mnt/newspace.
2.1. Use el comando su - para cambiar a root, ya que el usuario root solo puede montar
un dispositivo manualmente.
[student@servera ~]$ su -
Password: redhat
[root@servera ~]#
2.3. Use el comando lsblk con la opción -fp para descubrir el UUID del dispositivo, /
dev/vdb1.
278 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 8 | Administración de almacenamiento básico
2.4. Monte el sistema de archivos mediante el uso del UUID en el directorio /mnt/
newspace. Reemplace el UUID con el del disco /dev/vdb1 de la salida del comando
anterior.
[root@servera newspace]# cd
[root@servera ~]#
RH199-RHEL8.0-es-1-20190531 279
CAPÍTULO 8 | Administración de almacenamiento básico
5. Salga de servera.
Finalizar
En workstation, ejecute el script lab fs-mount finish para terminar este ejercicio.
280 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 8 | Administración de almacenamiento básico
OBJETIVOS
Tras completar esta sección, debería ser capaz de crear particiones de almacenamiento,
formatearlas con sistemas de archivos y montarlas para su uso.
PARTICIÓN DE UN DISCO
La partición de discos permite a los administradores de sistemas dividir un disco duro en varias
unidades de almacenamiento lógico denominadas particiones. Al separar un disco en particiones,
los administradores de sistemas pueden usar diferentes particiones para realizar diferentes
funciones.
Dado que los discos físicos son cada vez más grandes, y volúmenes basados en SAN aún más
grandes, el límite de tamaño de la partición y del disco de 2 TiB del esquema de partición MBR
ya no es un límite teórico, sino más bien un problema del mundo real que los administradores
de sistemas encuentran cada vez más frecuentemente en los entornos de producción. Como
consecuencia, el esquema MBR heredado está en proceso de ser sustituido por el nuevo esquema
GUID Partition Table (GPT) para la partición de disco.
RH199-RHEL8.0-es-1-20190531 281
CAPÍTULO 8 | Administración de almacenamiento básico
Un GPT proporciona un máximo de 128 particiones. A diferencia de MBR, que usa 32 bits para
almacenar información de tamaño y direcciones en bloques lógicos, un GPT asigna 64 bits para
direcciones en bloques lógicos. Esto permite que GPT incluya particiones y discos de hasta ocho
zebibyte (ZiB), u 8 mil millones de tebibytes.
Además de abordar las limitaciones del esquema de partición MBR, GPT también ofrece algunas
funciones y beneficios adicionales. Un GPT usa un identificador único global (GUID) para
identificar cada disco y partición. En contraste con MBR, que tiene un único punto de error,
GPT ofrece redundancia de la información de su tabla de particiones. El GPT primario reside
en el cabezal del disco, mientras que una copia de seguridad, el GPT secundario, se aloja en el
extremo del disco. GPT usa la suma de comprobación para detectar errores y daños en la tabla de
particiones y el encabezado de GPT.
El comando parted toma el nombre del dispositivo de todo el disco como primer argumento y
uno o más subcomandos. En el siguiente ejemplo, se usa el subcomando print para visualizar la
tabla de particiones en el disco /dev/vda.
Si no proporciona un subcomando, parted abre una sesión interactiva para emitir comandos.
282 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 8 | Administración de almacenamiento básico
(parted) print
Model: Virtio Block Device (virtblk)
Disk /dev/vda: 53.7GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
(parted) quit
[root@host ~]#
De forma predeterminada, parted muestra todos los tamaños en potencias de 10 (KB, MB, GB).
Puede cambiar ese valor predeterminado con el subcomando unit que acepta los siguientes
parámetros:
• s para sector
• B para byte
Como se muestra en el ejemplo anterior, también puede especificar varios subcomandos (aquí,
unit y print) en la misma línea.
NOTA
Tenga en cuenta} que parted realiza los cambios de inmediato. Un error con
parted definitivamente podría provocar la pérdida de datos.
Como el usuario root, use el siguiente comando para escribir una etiqueta de disco MBR en un
disco.
RH199-RHEL8.0-es-1-20190531 283
CAPÍTULO 8 | Administración de almacenamiento básico
ADVERTENCIA
El subcomando mklabel borra la tabla de particiones existente. Solo use mklabel
cuando la intención sea volver a usar el disco sin tener en cuenta los datos
existentes. Si una nueva etiqueta cambia los límites de la partición, todos los datos
en los sistemas de archivos existentes serán inaccesibles.
Como usuario root, ejecute el comando parted y especifique el nombre del dispositivo de
disco como un argumento. Esto inicia el comando parted en modo interactivo, y muestra un
prompt de comando.
2. Use el subcomando mkpart para crear una nueva partición primaria o ampliada.
(parted) mkpart
Partition type? primary/extended? primary
NOTA
En el caso de situaciones donde se necesitan más de cuatro particiones en un disco
particionado con MBR, cree tres particiones primarias y una partición ampliada. Esta
partición ampliada sirve como contenedor dentro del cual se pueden crear varias
particiones lógicas.
3. Indique el tipo de sistema de archivos que desea crear en la partición, como xfs o ext4. Esto
no crea el sistema de archivos en la partición; es solo una indicación del tipo de partición.
Para obtener la lista de los tipos de sistemas de archivos admitidos, use el siguiente comando:
284 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 8 | Administración de almacenamiento básico
Start? 2048s
Observe el sufijo s para proporcionar el valor en sectores. También puede usar los sufijos
MiB, GiB, TiB, MB, GB o TB. Si no proporciona un sufijo, MB es el predeterminado. parted
puede redondear el valor que proporcione para satisfacer las restricciones de disco.
Cuando parted comienza, recupera la topología del disco del dispositivo. Por ejemplo, el
tamaño del bloque físico del disco suele ser un parámetro que recopila parted. Con esa
información, parted asegura que la posición de inicio que proporcione alinea correctamente
la partición con la estructura del disco. La alineación correcta de la partición es importante
para un rendimiento óptimo. Si la posición de inicio genera una partición desalineada, parted
muestra una advertencia. Con la mayoría de los discos, un sector de inicio que es un múltiplo
de 2048 es una suposición segura.
End? 1000MB
Tan pronto como usted proporcione la posición final, parted actualiza la tabla de particiones
en el disco con los detalles de la nueva partición.
6. Salga de parted.
(parted) quit
Information: You may need to update /etc/fstab.
[root@host ~]#
7. Ejecute el comando udevadm settle. Este comando espera a que el sistema detecte la
nueva partición y cree el archivo de dispositivo asociado en el directorio /dev. Sólo regresa
cuando finaliza.
RH199-RHEL8.0-es-1-20190531 285
CAPÍTULO 8 | Administración de almacenamiento básico
Como alternativa al modo interactivo, también puede crear la partición de la siguiente manera:
Como el usuario root, ejecute el comando parted con el dispositivo de disco como único
argumento para iniciar parted en modo interactivo con un prompt del sistema.
(parted) mkpart
Partition name? []? usersdata
3. Indique el tipo de sistema de archivos que desea crear en la partición, como xfs o ext4. Esto
no crea el sistema de archivos en la partición; es solo una indicación del tipo de partición.
Start? 2048s
End? 1000MB
Tan pronto como usted proporcione la posición final, parted actualiza la tabla de particiones
en el disco con los detalles de la nueva partición.
6. Salga de parted.
(parted) quit
Information: You may need to update /etc/fstab.
[root@host ~]#
7. Ejecute el comando udevadm settle. Este comando espera a que el sistema detecte la
nueva partición y cree el archivo de dispositivo asociado en el directorio /dev. Sólo regresa
cuando finaliza.
286 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 8 | Administración de almacenamiento básico
Como alternativa al modo interactivo, también puede crear la partición de la siguiente manera:
Eliminación de particiones
Los siguientes pasos se aplican a los esquemas de partición MBR y GPT.
Como el usuario root, ejecute el comando parted con el dispositivo de disco como único
argumento para iniciar parted en modo interactivo con un prompt del sistema.
(parted) print
Model: Virtio Block Device (virtblk)
Disk /dev/vdb: 5369MB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
3. Elimine la partición.
(parted) rm 1
4. Salga de parted.
(parted) quit
Information: You may need to update /etc/fstab.
[root@host ~]#
RH199-RHEL8.0-es-1-20190531 287
CAPÍTULO 8 | Administración de almacenamiento básico
dos tipos comunes son XFS y ext4. Anaconda, el instalador para Red Hat Enterprise Linux, usa
XFS de forma predeterminada.
Como el usuario root, use el comando mkfs.xfs para aplicar un sistema de archivos XFS a un
dispositivo de bloque. Para ext4, use mkfs.ext4 .
También puede usar el comando mount para ver los sistemas de archivos montados actualmente,
los puntos de montaje y las opciones.
/etc/fstab es un archivo delimitado por espacios en blanco con seis campos por línea.
288 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 8 | Administración de almacenamiento básico
#
# /etc/fstab
# Created by anaconda on Wed Feb 13 16:39:59 2019
#
# Accessible filesystems, by reference, are maintained under '/dev/disk/'.
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info.
#
# After editing this file, run 'systemctl daemon-reload' to update systemd
# units generated from this file.
#
UUID=a8063676-44dd-409a-b584-68be2c9f5570 / xfs defaults 0 0
UUID=7a20315d-ed8b-4e75-a5b6-24ff9e1f9838 /dbdata xfs defaults 0 0
El primer campo especifica el dispositivo. En este ejemplo, se usa el UUID para especificar el
dispositivo. Los sistemas de archivos crean y almacenan el UUID en su superbloque en el momento
de la creación. O puede usar el archivo del dispositivo, como /dev/vdb1.
NOTA
Es preferible usar el UUID porque los identificadores del dispositivo de bloques
pueden cambiar en determinadas situaciones, como en el caso de que un proveedor
de la nube cambie la capa de almacenamiento subyacente de una máquina virtual,
o que los discos se detecten en un orden diferente con cada arranque del sistema.
El nombre del archivo del dispositivo de bloque puede cambiar, pero el UUID
permanece constante en el superbloque del sistema de archivos.
Use el comando lsblk --fs para escanear los dispositivos de bloque conectados
a una máquina y recuperar los UUID del sistema de archivos.
El segundo campo es el punto de montaje del directorio, desde el cual se podrá acceder al
dispositivo de bloque en la estructura del directorio. El punto de montaje debe existir; de lo
contrario, créelo con el comando mkdir.
El tercer campo contiene el tipo del sistema de archivos, como xfs o ext4.
RH199-RHEL8.0-es-1-20190531 289
CAPÍTULO 8 | Administración de almacenamiento básico
El cuarto campo es la lista de opciones separada por comas para aplicar al dispositivo. defaults
es un conjunto de opciones que se usan comúnmente. La página del manual mount(8) documenta
las otras opciones disponibles.
El quinto campo es usado por el comando dump para hacer una copia de seguridad del dispositivo.
Otras aplicaciones de copia de seguridad no suelen usar este campo.
El último campo, el campo de orden de fsck, determina si debería ejecutarse el comando fsck en
el arranque del sistema para verificar que los sistemas de archivos estén limpios. El valor en este
campo indica el orden en el que debe ejecutarse fsck. Para sistemas de archivos XFS, establezca
este campo en 0 porque XFS no usa fsck para comprobar el estado de su sistema de archivos.
Para sistemas de archivos ext4, configúrelo en 1 para el sistema de archivos raíz y en 2 para los
otros sistemas de archivos ext4. De esta manera, fsck primero procesa el sistema de archivos raíz
y, luego, verifica los sistemas de archivos en discos separados al mismo tiempo, y los sistemas de
archivos en el mismo disco en secuencia.
NOTA
Si hay una entrada incorrecta en /etc/fstab, es posible que la máquina no pueda
volver a arrancarse. Los administradores deben comprobar que la entrada sea válida
al desmontar el sistema de archivos nuevo y usar mount /mountpoint, que lee /
etc/fstab, para montar el sistema de archivos nuevamente. Si el comando mount
arroja un error, corríjalo antes de volver a arrancar la máquina.
REFERENCIAS
info parted( Manual de usuario de GNU Parted )
290 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 8 | Administración de almacenamiento básico
EJERCICIO GUIADO
RESULTADOS
Debería ser capaz de usar parted , mkfs.xfs y otros comandos para crear una partición en
un disco nuevo, formatearla y montarla de manera persistente.
ANDES DE COMENZAR
Inicie sesión en workstation como student con la contraseña student.
1. Use el comando ssh para iniciar sesión en servera como el usuario student. Los
sistemas se configuran para que usen claves SSH para la autenticación, por lo que no se
necesita una contraseña.
2. Use el comando sudo -i para cambiar al usuario root. Si se le solicita, use student
como la contraseña.
3. Use parted para crear una nueva etiqueta de disco de tipo msdos en el disco /dev/vdb
para preparar ese nuevo disco para el esquema de partición MBR.
RH199-RHEL8.0-es-1-20190531 291
CAPÍTULO 8 | Administración de almacenamiento básico
4. Agregue una nueva partición primaria que tenga un tamaño de 1 GiB. Para una correcta
alineación, inicie la partición en el sector 2048. Establezca el tipo de sistema de archivo de
la partición en XFS.
4.3. Ejecute el comando udevadm settle. Este comando espera a que el sistema registre
la nueva partición y regresa cuando finaliza.
292 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 8 | Administración de almacenamiento básico
6.1. Use mkdir para crear el punto de montaje del directorio /archive.
6.2. Use el comando lsblk con la opción --fs para descubrir el UUID del dispositivo /
dev/vdb1.
6.3. Agregue una entrada a /etc/fstab. En el siguiente comando, reemplace el UUID con
el que descubrió en el paso anterior.
6.5. Ejecute el comando mount /archive para montar el sistema de archivos nuevo
usando la nueva entrada agregada a /etc/fstab.
7. Reinicie servera. Después de reiniciar el servidor, inicie sesión y verifique que /dev/vdb1
se monte en /archive. Cuando finalice, cierre sesión en servera.
RH199-RHEL8.0-es-1-20190531 293
CAPÍTULO 8 | Administración de almacenamiento básico
7.2. Espere unos minutos a que se reinicie servera e inicie sesión como el usuario
student.
Finalizar
En workstation, ejecute el script lab storage-partitions finish para terminar este
ejercicio.
294 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 8 | Administración de almacenamiento básico
ADMINISTRACIÓN DE ESPACIO DE
INTERCAMBIO
OBJETIVOS
Tras completar esta sección, debería ser capaz de crear y administrar espacios de intercambio
para complementar la memoria física.
Dado que las áreas de intercambio residen en el disco, el intercambio es lento cuando se lo
compara con la memoria RAM. Si bien se usa para aumentar la memoria RAM del sistema, no debe
considerar el espacio de intercambio como una solución sostenible para una RAM insuficiente para
su carga de trabajo.
2 GiB o menos Dos veces la memoria RAM Tres veces la memoria RAM
Entre 2 GiB y 8 GiB Igual que la memoria RAM Dos veces la memoria RAM
RH199-RHEL8.0-es-1-20190531 295
CAPÍTULO 8 | Administración de almacenamiento básico
(parted) mkpart
Partition name? []? swap1
File system type? [ext2]? linux-swap
Start? 1001MB
End? 1257MB
(parted) print
Model: Virtio Block Device (virtblk)
Disk /dev/vdb: 5369MB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
296 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 8 | Administración de almacenamiento básico
(parted) quit
Information: You may need to update /etc/fstab.
[root@host ~]#
Después de crear la partición, ejecute el comando udevadm settle. Este comando espera
que el sistema detecte la nueva partición y cree el archivo de dispositivo asociado en /dev. Sólo
regresa cuando finaliza.
Use swapon con el dispositivo como parámetro, o use swapon -a para activar todos los espacios
de intercambio detallados en el archivo /etc/fstab. Use los comandos swapon --show y free
para inspeccionar los espacios de intercambio disponibles.
RH199-RHEL8.0-es-1-20190531 297
CAPÍTULO 8 | Administración de almacenamiento básico
El ejemplo anterior usa el UUID como el primer campo. Cuando formatea el dispositivo, el
comando mkswap muestra ese UUID. Si perdió la salida de mkswap, use el comando lsblk --fs.
Como alternativa, también puede usar el nombre del dispositivo en el primer campo.
El segundo campo se reserva típicamente para el punto de montaje. Sin embargo, para
dispositivos de intercambio, que no son accesibles a través de la estructura del directorio, este
campo toma el valor del marcador de posición swap.
El tercer campo es el tipo de sistema de archivos. El tipo de sistemas de archivos para un espacio
de intercambio es swap.
El cuarto campo es para opciones. El ejemplo usa la opción defaults. La opción defaults
incluye la opción de montaje auto, que significa activar el espacio de intercambio
automáticamente en el arranque del sistema.
Los dos campos finales son el indicador dump y el orden fsck. Los espacios de intercambio no
requieren copias de seguridad ni revisión del sistema de archivos y por lo tanto, estos campos
deben establecerse en cero.
Para establecer la prioridad, use la opción pri en /etc/fstab. El kernel usa el espacio de
intercambio con la prioridad más alta primero. La prioridad predeterminada es -2.
Cuando los espacios de intercambio tienen la misma prioridad, el kernel los escribe con el método
Round-Robin.
298 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 8 | Administración de almacenamiento básico
REFERENCIAS
Páginas del manual mkswap(8), swapon(8), swapoff(8), mount(8) y parted(8)
RH199-RHEL8.0-es-1-20190531 299
CAPÍTULO 8 | Administración de almacenamiento básico
EJERCICIO GUIADO
ADMINISTRACIÓN DE ESPACIO DE
INTERCAMBIO
En este ejercicio, creará y formateará una partición para usar como espacio de intercambio,
la formateará como intercambio y la activará de forma persistente.
RESULTADOS
Debería poder crear una partición y un espacio de intercambio en un disco con el esquema
de partición GPT.
ANDES DE COMENZAR
Inicie sesión en workstation como student con la contraseña student.
1. Use el comando ssh para iniciar sesión en servera como el usuario student. Los
sistemas se configuran para que usen claves SSH para la autenticación, por lo que no se
necesita una contraseña.
2. Use el comando sudo -i para cambiar al usuario root. Si se le solicita, use student
como la contraseña.
300 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 8 | Administración de almacenamiento básico
Observe que el disco ya tiene una tabla de particiones y usa el esquema de partición GPT.
Además, ya existe una partición de 1 GB.
4. Agregue una nueva partición con un tamaño de 500 MB para usar como espacio de
intercambio. Establezca el tipo de partición en linux-swap.
4.1. Use parted para crear la partición. Dado que el disco usa el esquema de partición
GPT, debe asignarle un nombre a la partición. Asígnele el nombre myswap.
4.3. Ejecute el comando udevadm settle. Este comando espera a que el sistema registre
la nueva partición y regresa cuando finaliza.
RH199-RHEL8.0-es-1-20190531 301
CAPÍTULO 8 | Administración de almacenamiento básico
6.1. Use el comando swapon --show para mostrar que la creación e inicialización del
espacio de intercambio no lo habilita aún para su uso.
6.3. Verifique que el espacio de intercambio creado recientemente ahora esté disponible.
7. Configure el nuevo espacio de intercambio para que esté habilitado en el arranque del
sistema.
7.1. Use el comando lsblk con la opción --fs para descubrir el UUID del dispositivo /
dev/vdb2.
7.2. Agregue una entrada a /etc/fstab. En el siguiente comando, reemplace el UUID con
el que descubrió en el paso anterior.
302 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 8 | Administración de almacenamiento básico
7.4. Habilite el espacio de intercambio con la nueva entrada recién agregada a /etc/
fstab.
8. Reinicie servera. Después de reiniciar el servidor, inicie sesión y verifique que el espacio
de intercambio esté habilitado. Cuando finalice, cierre sesión en servera.
8.2. Espere unos minutos a que se reinicie servera e inicie sesión como el usuario
student.
Finalizar
En workstation, ejecute el script lab storage-swap finish para terminar este ejercicio.
RH199-RHEL8.0-es-1-20190531 303
CAPÍTULO 8 | Administración de almacenamiento básico
304 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 8 | Administración de almacenamiento básico
TRABAJO DE LABORATORIO
ADMINISTRACIÓN DE
ALMACENAMIENTO BÁSICO
LISTA DE VERIFICACIÓN DE RENDIMIENTO
En este trabajo de laboratorio, creará varias particiones en un disco nuevo, formateará
algunas con sistemas de archivos y las montará, y activará otras como espacios de
intercambio.
RESULTADOS
Usted deberá ser capaz de realizar lo siguiente:
ANDES DE COMENZAR
Inicie sesión en workstation como student con la contraseña student.
1. Hay nuevos discos disponibles en serverb. En el primer disco nuevo, cree una partición
GPT de 2 GB denominada copia de seguridad. Dado que puede ser difícil establecer el
tamaño exacto, un tamaño entre 1,8 GB y 2,2 GB es aceptable. Establezca el tipo de sistema
de archivos correcto en esa partición para alojar un sistema de archivos XFS.
La contraseña para la cuenta de usuario student en serverb es student. Este usuario
tiene acceso completo root a través de sudo.
2. Formatee la partición de 2 GB con un sistema de archivos XFS y móntelo de manera
persistente en /backup.
3. En el mismo disco nuevo, cree dos particiones GPT de 512 MB denominadas swap1 y swap2.
Un tamaño entre 460 MB y 564 MB es aceptable. Establezca el tipo de sistema de archivos
correcto en esas particiones para alojar espacios de intercambio.
4. Inicialice las dos particiones de 512 MiB como espacios de intercambio y configúrelas para
que se activen en el arranque. Establezca el espacio de intercambio en la partición swap2
para que se prefiera sobre el otro.
5. Para verificar su trabajo, reinicie serverb. Confirme que el sistema monta automáticamente
la primera partición en /backup. Además, confirme que el sistema activa los dos espacios de
intercambio.
RH199-RHEL8.0-es-1-20190531 305
CAPÍTULO 8 | Administración de almacenamiento básico
Evaluación
En workstation, ejecute el script lab storage-review grade para confirmar que ha
realizado correctamente este ejercicio.
Finalizar
En workstation, ejecute el script lab storage-review finish para terminar el trabajo de
laboratorio.
306 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 8 | Administración de almacenamiento básico
SOLUCIÓN
ADMINISTRACIÓN DE
ALMACENAMIENTO BÁSICO
LISTA DE VERIFICACIÓN DE RENDIMIENTO
En este trabajo de laboratorio, creará varias particiones en un disco nuevo, formateará
algunas con sistemas de archivos y las montará, y activará otras como espacios de
intercambio.
RESULTADOS
Usted deberá ser capaz de realizar lo siguiente:
ANDES DE COMENZAR
Inicie sesión en workstation como student con la contraseña student.
1. Hay nuevos discos disponibles en serverb. En el primer disco nuevo, cree una partición
GPT de 2 GB denominada copia de seguridad. Dado que puede ser difícil establecer el
tamaño exacto, un tamaño entre 1,8 GB y 2,2 GB es aceptable. Establezca el tipo de sistema
de archivos correcto en esa partición para alojar un sistema de archivos XFS.
La contraseña para la cuenta de usuario student en serverb es student. Este usuario
tiene acceso completo root a través de sudo.
1.1. Use el comando ssh para iniciar sesión en serverb como el usuario student. Los
sistemas se configuran para que usen claves SSH para la autenticación, por lo que no se
necesita una contraseña.
1.2. Dado que crear particiones y sistemas de archivos requiere acceso root, use el
comando sudo -i para cambiar al usuario root. Si se le solicita, use student como la
contraseña.
RH199-RHEL8.0-es-1-20190531 307
CAPÍTULO 8 | Administración de almacenamiento básico
1.3. Use el comando lsblk para identificar los nuevos discos. Esos discos no deberían tener
particiones todavía.
1.5. Use parted y el subcomando mklabel para definir el esquema de partición GPT.
308 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 8 | Administración de almacenamiento básico
1.8. Ejecute el comando udevadm settle. Este comando espera que el sistema detecte
la nueva partición y cree el archivo de dispositivo /dev/vdb1. Sólo regresa cuando
finaliza.
2.6. Monte manualmente /backup para verificar su trabajo. Confirme que el montaje es
correcto.
RH199-RHEL8.0-es-1-20190531 309
CAPÍTULO 8 | Administración de almacenamiento básico
3. En el mismo disco nuevo, cree dos particiones GPT de 512 MB denominadas swap1 y swap2.
Un tamaño entre 460 MB y 564 MB es aceptable. Establezca el tipo de sistema de archivos
correcto en esas particiones para alojar espacios de intercambio.
3.2. Cree la primera partición de 512 MB denominada swap1. Establezca su tipo en linux-
swap. Use la posición final de la primera partición como punto de partida. La posición
final es 2000 MB + 512 MB = 2512 MB
3.3. Cree la segunda partición de 512 MB denominada swap2. Establezca su tipo en linux-
swap. Use la posición final de la partición anterior como punto de partida: 2512M. La
posición final es 2512 MB + 512 MB = 3024 MB
310 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 8 | Administración de almacenamiento básico
3.5. Ejecute el comando udevadm settle. Este comando espera que el sistema registre las
nuevas particiones y cree los archivos de dispositivo.
4. Inicialice las dos particiones de 512 MiB como espacios de intercambio y configúrelas para
que se activen en el arranque. Establezca el espacio de intercambio en la partición swap2
para que se prefiera sobre el otro.
Tome nota de los UUID de los dos espacios de intercambio. Usará esa información en el
siguiente paso. Si ya no puede ver la salida mkswap, use el comando lsblk --fs para
recuperar los UUID.
4.2. Edite /etc/fstab y defina los nuevos espacios de intercambio. Para configurar el
espacio de intercambio en la partición swap2 para ser preferido sobre swap1, otórguele
una mayor prioridad con la opción pri.
4.4. Use el comando swapon -a para activar los nuevos espacios de intercambio. Use el
comando swapon --show para confirmar la correcta activación de los espacios de
intercambio.
5. Para verificar su trabajo, reinicie serverb. Confirme que el sistema monta automáticamente
la primera partición en /backup. Además, confirme que el sistema activa los dos espacios de
intercambio.
Cuando finalice, cierre sesión en serverb.
RH199-RHEL8.0-es-1-20190531 311
CAPÍTULO 8 | Administración de almacenamiento básico
5.2. Espere unos minutos a que se reinicie serverb e inicie sesión como el usuario student.
5.4. Use el comando swapon --show para confirmar que el sistema activa ambos espacios
de intercambio.
Evaluación
En workstation, ejecute el script lab storage-review grade para confirmar que ha
realizado correctamente este ejercicio.
Finalizar
En workstation, ejecute el script lab storage-review finish para terminar el trabajo de
laboratorio.
312 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 8 | Administración de almacenamiento básico
RESUMEN
En este capítulo, aprendió lo siguiente:
• El comando mount permite que el usuario root monte manualmente un sistema de archivos.
• parted se puede usar para agregar, modificar y eliminar particiones en discos con esquemas de
particionamiento MBR o GPT.
• Para que los montajes de sistemas de archivos sean persistentes, se deben agregar a /etc/
fstab.
RH199-RHEL8.0-es-1-20190531 313
314 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 9
CONTROL DE SERVICIOS Y
DEL PROCESO DE ARRANQUE
META Controlar y monitorear los servicios de red, los
daemons del sistema y el proceso de arranque con
systemd.
RH199-RHEL8.0-es-1-20190531 315
CAPÍTULO 9 | Control de servicios y del proceso de arranque
IDENTIFICACIÓN DE PROCESOS
DEL SISTEMA INICIADOS EN FORMA
AUTOMÁTICA
OBJETIVOS
Tras finalizar esta sección, deberá ser capaz de enumerar los daemons del sistema y los servicios
de red iniciados por el servicio systemd y las unidades socket.
INTRODUCCIÓN A systemd
El daemon de systemd administra el inicio para Linux, incluido el inicio del servicio y la gestión de
servicios en general. Activa los recursos del sistema, los daemons del servidor y otros procesos,
tanto en el momento del arranque como en un sistema que está en funcionamiento.
Los daemons son procesos que esperan o se ejecutan en segundo plano y realizan diversas tareas.
Generalmente, los daemons se inician automáticamente en el momento del arranque y continúan
ejecutándose hasta que se apaga el sistema o son detenidos manualmente. Por convención, los
nombres de muchos programas daemon finalizan con la letra d.
A menudo, un servicio en el contexto de systemd hace referencia a uno o más daemons, pero
iniciar o detener un servicio puede, en cambio, hacer una modificación por única vez en el estado
del sistema, que no implica dejar un proceso daemon en ejecución después de esto (que se
denomina oneshot).
En Red Hat Enterprise Linux, el primer proceso que se inicia (PID 1) es systemd. Estas son algunas
de las funciones que proporciona systemd:
• Gestión automática de dependencias del servicio, que puede evitar largos tiempos de espera.
Por ejemplo, un servicio que depende de una red no intentará iniciarse hasta que la red esté
disponible.
• Método para realizar el seguimiento de los procesos relacionados en forma conjunta con el uso
de los grupos de control de Linux.
• Las unidades de servicio tienen una extensión .service y representan servicios del sistema.
Este tipo de unidad se usa para iniciar los daemons usados con más frecuencia, como un
servidor web.
• Las unidades socket tienen una extensión .socket y representan sockets de comunicación
entre procesos (IPC) que systemd debe monitorear. Si un cliente se conecta al socket,
systemd iniciará un daemon y le pasará la conexión. Las unidades socket se usan para demorar
el inicio de un servicio en el momento del arranque y para iniciar servicios usados con menos
frecuencia a pedido.
316 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 9 | Control de servicios y del proceso de arranque
• Las unidades de ruta tienen una extensión .path y se usan para demorar la activación de un
servicio hasta que ocurra un cambio en el sistema de archivos específico. Esto se usa con más
frecuencia en servicios que usan directorios de cola, como los sistemas de impresión.
El comando systemctl se usa para gestionar unidades. Por ejemplo, el comando systemctl -
t help permite visualizar los tipos de unidad disponibles.
IMPORTANTE
Cuando usa systemctl, puede abreviar los nombres de las unidades, las entradas
de árbol de proceso y las descripciones de unidad.
La salida anterior limita el tipo de unidad enumerada en las unidades de servicio con la opción --
type=service. La salida tiene las siguientes columnas:
UNIT (UNIDAD)
El nombre de la unidad de servicio.
LOAD (CARGA)
Se detalla si systemd analizó adecuadamente la configuración de la unidad y cargó la unidad
en la memoria.
ACTIVE (ACTIVO)
El estado de activación de alto nivel de la unidad. Esta información indica si la unidad se ha
iniciado de forma satisfactoria.
SUB
El estado de activación de bajo nivel de la unidad. Esta información proporciona datos más
detallados sobre la unidad. La información varía según el tipo de unidad, el estado y cómo se
ejecuta la unidad.
DESCRIPTION (DESCRIPCIÓN)
La descripción breve de la unidad.
RH199-RHEL8.0-es-1-20190531 317
CAPÍTULO 9 | Control de servicios y del proceso de arranque
El comando systemctl sin ningún argumento enumera las unidades que están cargadas y
activas.
Con el comando systemctl list-units, se visualizan las unidades que el servicio systemd
intenta analizar y cargar en la memoria; no se visualizan los servicios instalados no habilitados.
Para ver el estado de todos los archivos de unidad instalados, use el comando systemctl list-
unit-files. Por ejemplo:
En la salida del comando systemctl list-units-files, las entradas válidas para el campo
STATE son enabled (habilitado), disabled (deshabilitado), static (estático) y masked
(enmascarado).
318 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 9 | Control de servicios y del proceso de arranque
Con este comando, se visualiza el estado actual del servicio. Los significados de los campos son
los siguientes:
CAMPO DESCRIPCIÓN
Main PID (ID de proceso principal) El ID de proceso principal del servicio, incluido
el nombre del comando.
En la salida del estado, se pueden encontrar varias palabras clave que indican el estado del
servicio:
active (running) (activo [en En ejecución con uno o más procesos en curso.
ejecución])
RH199-RHEL8.0-es-1-20190531 319
CAPÍTULO 9 | Control de servicios y del proceso de arranque
static (estático) No puede habilitarse, pero puede iniciarse por una unidad
habilitada en forma automática.
NOTA
El comando systemctl status NAME reemplaza al comando service NAME
status que se usaba en Red Hat Enterprise Linux 6 y versiones anteriores.
Ejecute el siguiente comando para verificar si una unidad de servicio está habilitada para iniciarse
automáticamente durante el arranque del sistema:
El comando informa si la unidad de servicio está habilitada para iniciarse en el momento del
arranque, lo cual generalmente se informa como estado enabled (habilitado) o disabled
(deshabilitado).
320 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 9 | Control de servicios y del proceso de arranque
Para enumerar todas las unidades que han presentado un error, ejecute el comando systemctl
--failed --type=service.
REFERENCIAS
Páginas de manual: systemd(1), systemd.unit(5), systemd.service(5),
systemd.socket(5) y systemctl(1)
RH199-RHEL8.0-es-1-20190531 321
CAPÍTULO 9 | Control de servicios y del proceso de arranque
EJERCICIO GUIADO
IDENTIFICACIÓN DE PROCESOS
DEL SISTEMA INICIADOS EN FORMA
AUTOMÁTICA
En este ejercicio, enumerará las unidades de servicio instaladas e identificará qué servicios
están actualmente habilitados y activos en un servidor.
RESULTADOS
Deberá ser capaz de enumerar las unidades de servicio instaladas e identificar los servicios
activos y habilitados en el sistema.
ANDES DE COMENZAR
Inicie sesión en workstation como student con la contraseña student.
1. Use el comando ssh para iniciar sesión en servera como el usuario student. Los
sistemas se configuran para que usen claves SSH para la autenticación, por lo que no se
necesita una contraseña para iniciar sesión en servera.
322 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 9 | Control de servicios y del proceso de arranque
4. Explore el estado del servicio chronyd. Este servicio se usa para la sincronización del
tiempo en red (NTP).
4.1. Visualice el estado del servicio chronyd. Observe la ID del proceso de todos los
daemons activos.
RH199-RHEL8.0-es-1-20190531 323
CAPÍTULO 9 | Control de servicios y del proceso de arranque
5. Explore el estado del servicio sshd. Este servicio se usa para una comunicación cifrada
segura entre sistemas.
5.1. Determine si el servicio sshd está habilitado para que se inicie en el arranque del
sistema.
5.2. Determine si el servicio sshd está activo sin mostrar toda la información de estado.
324 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 9 | Control de servicios y del proceso de arranque
atd.service enabled
auditd.service enabled
auth-rpcgss-module.service static
autovt@.service enabled
blk-availability.service disabled
chrony-dnssrv@.service static
chrony-wait.service disabled
chronyd.service enabled
...output omitted...
7. Salga de servera.
Finalizar
En workstation, ejecute el script lab services-identify finish para terminar este
ejercicio.
RH199-RHEL8.0-es-1-20190531 325
CAPÍTULO 9 | Control de servicios y del proceso de arranque
OBJETIVOS
Tras finalizar esta sección, deberá ser capaz de controlar los daemons del sistema y los servicios
de red con systemctl.
Para iniciar un servicio, primero verifique que no se esté ejecutando con systemctl status.
A continuación, use el comando systemctl start como el usuario root (usando sudo si es
necesario). En el siguiente ejemplo, se muestra cómo iniciar el servicio sshd.service:
El servicio systemd busca archivos .service para la gestión del servicio en comandos a falta
del tipo de servicio con el nombre del servicio. Por lo tanto, el comando anterior se puede ejecutar
como:
Para detener un servicio que se encuentra actualmente en ejecución, use el argumento stop
con el comando systemctl. En el siguiente ejemplo, se muestra cómo detener el servicio
sshd.service:
Algunos servicios tienen la capacidad de volver a cargar sus archivos de configuración sin
necesidad de reiniciar. Este proceso se llama recarga del servicio. La recarga de un servicio no
cambia la ID del proceso asociada con diversos procesos del servicio. Para recargar un servicio
en ejecución, use el argumento reload con el comando systemctl. En el siguiente ejemplo, se
muestra cómo volver a cargar el servicio sshd.service después de modificar la configuración:
326 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 9 | Control de servicios y del proceso de arranque
En caso de que no esté seguro de si el servicio cuenta con la funcionalidad para volver a cargar los
cambios del archivo de configuración, use el argumento reload-or-restart con el comando
systemctl. El comando vuelve a cargar los cambios de configuración si la funcionalidad de
recarga está disponible. De lo contrario, el comando reinicia el servicio para implementar los
nuevos cambios de configuración:
Para detener por completo los servicios de impresión en un sistema, detenga las tres unidades. Al
deshabilitar el servicio, se deshabilitarán las dependencias.
RH199-RHEL8.0-es-1-20190531 327
CAPÍTULO 9 | Control de servicios y del proceso de arranque
un enlace en los directorios de configuración que se conecta con el archivo /dev/null, el cual
impide que el servicio se inicie.
El intento de iniciar una unidad de servicio enmascarada falla y arroja la siguiente salida:
IMPORTANTE
Un servicio deshabilitado se puede iniciar manualmente o por medio de otros
archivos de la unidad, pero no se inicia automáticamente en el arranque. Un servicio
enmascarado no se inicia de forma manual ni automática.
328 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 9 | Control de servicios y del proceso de arranque
Para que el servicio no se inicie automáticamente, use el siguiente comando que quita el enlace
simbólico creado al habilitar un servicio. Tenga en cuenta que la deshabilitación de un servicio no
detiene el servicio.
Para verificar si el servicio está habilitado o deshabilitado, use el comando systemctl is-
enabled.
TAREA COMANDO
RH199-RHEL8.0-es-1-20190531 329
CAPÍTULO 9 | Control de servicios y del proceso de arranque
REFERENCIAS
Páginas de manual: systemd(1), systemd.unit(5), systemd.service(5),
systemd.socket(5) y systemctl(1)
330 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 9 | Control de servicios y del proceso de arranque
EJERCICIO GUIADO
RESULTADOS
Deberá ser capaz de usar el comando systemctl para controlar los servicios gestionados
por systemd.
ANDES DE COMENZAR
Inicie sesión en workstation como student con la contraseña student.
1. Use el comando ssh para iniciar sesión en servera como el usuario student. Los
sistemas se configuran para que usen claves SSH para la autenticación, por lo que no se
necesita una contraseña.
2.1. Visualice el estado del servicio sshd. Tenga en cuenta la ID del proceso del daemon
sshd.
RH199-RHEL8.0-es-1-20190531 331
CAPÍTULO 9 | Control de servicios y del proceso de arranque
2.2. Reinicie el servicio sshd y visualice el estado. La ID del proceso del daemon debe
cambiar.
En la salida anterior, observe que la ID del proceso cambió de 759 a 1132 (es probable
que los números en su sistema sean diferentes). Presione q para salir del comando.
2.3. Vuelva a cargar el servicio sshd y visualice el estado. La ID del proceso del daemon no
debe cambiar, y las conexiones no deben estar interrumpidas.
332 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 9 | Control de servicios y del proceso de arranque
5. Determine si el servicio chronyd está habilitado para iniciarse en el arranque del sistema.
Inicie sesión con el usuario student en servera y visualice el estado del servicio
chronyd.
RH199-RHEL8.0-es-1-20190531 333
CAPÍTULO 9 | Control de servicios y del proceso de arranque
7. Deshabilite el servicio chronyd para que no se inicie en el arranque del sistema y, luego,
visualice el estado del servicio.
Inicie sesión con el usuario student en servera y visualice el estado del servicio
chronyd.
9. Salga de servera.
Finalizar
En workstation, ejecute el script lab services-control finish para terminar este
ejercicio.
334 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 9 | Control de servicios y del proceso de arranque
OBJETIVOS
Tras finalizar esta sección, usted deberá ser capaz de realizar lo siguiente:
• La máquina se enciende. El firmware del sistema (UEFI moderno o BIOS anterior) ejecuta una
prueba automática de encendido (Power On Self Test, POST) y comienza a inicializar parte del
hardware.
Se ajusta por medio de las pantallas de configuración de BIOS o UEFI del sistema, a las cuales
se llega típicamente al presionar una determinada combinación de teclas (p. ej., F2) al principio
del proceso de arranque.
• El firmware del sistema busca un dispositivo con capacidad de arranque, ya sea configurado en
el firmware de arranque UEFI o al buscar un Master Boot Record (MBR) en todos los discos, en
el orden configurado en el BIOS.
Se ajusta por medio de las pantallas de configuración de BIOS o UEFI del sistema, a las cuales
se llega típicamente al presionar una determinada combinación de teclas (p. ej., F2) al principio
del proceso de arranque.
• El firmware del sistema lee un cargador de arranque desde el disco, luego pasa el control del
sistema al cargador de arranque. En un sistema de Red Hat Enterprise Linux 8, el cargador de
arranque es GRand Unified Bootloader versión 2 (GRUB2).
RH199-RHEL8.0-es-1-20190531 335
CAPÍTULO 9 | Control de servicios y del proceso de arranque
• El cargador de arranque pasa el control al kernel, y detalla todas las opciones especificadas en
la línea de comandos del kernel en el cargador de arranque, y la ubicación del initramfs en la
memoria.
• El kernel inicializa todo el hardware para el que puede encontrar un controlador en initramfs
y, luego, ejecuta /sbin/init desde initramfs como PID 1. En Red Hat Enterprise Linux 8, /
sbin/init es un enlace a systemd.
Se configura por medio del parámetro de la línea de comandos init= del kernel.
• La instancia systemd desde initramfs ejecuta todas las unidades para el objetivo
initrd.target. Esto incluye el montaje del sistema de archivos root en el disco en el
directorio /sysroot.
• El kernel cambia (articula) el sistema de archivos root desde initramfs al sistema de archivos
root en /sysroot. A continuación, systemd vuelve a ejecutarse usando la copia de systemd
instalada en el disco.
REINICIO Y APAGADO
Para apagar o reiniciar un sistema en ejecución desde la línea de comandos, puede usar el
comando systemctl.
systemctl poweroff detiene todos los servicios en ejecución, desmonta todos los sistemas de
archivos (o vuelve a montarlos como solo lectura cuando no se puedan desmontar) y, luego, apaga
el sistema.
systemctl reboot detiene todos los servicios en ejecución, desmonta todos los sistemas de
archivos y, luego, reinicia el sistema.
También puede usar el atajo de estos comandos, poweroff y reboot, que son enlaces
simbólicos a sus equivalentes de systemctl.
336 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 9 | Control de servicios y del proceso de arranque
NOTA
systemctl halt y halt también están disponibles para detener el sistema, pero
a diferencia de poweroff, estos comandos no apagan el sistema, sino que lo llevan
hasta un punto donde es seguro apagarlo manualmente.
OBJETIVO PROPÓSITO
Un objetivo puede ser parte de otro objetivo. Por ejemplo, graphical.target incluye multi-
user.target, que a su vez depende de basic.target y otros. Puede ver estas dependencias
con el siguiente comando.
RH199-RHEL8.0-es-1-20190531 337
CAPÍTULO 9 | Control de servicios y del proceso de arranque
Si aísla un objetivo, detiene todos los servicios no requeridos por ese objetivo (y sus
dependencias), e inicia todos los servicios requeridos que aún no se hayan iniciado.
No todos los objetivos se pueden aislar. Solo puede aislar objetivos que tengan
AllowIsolate=yes establecido en sus archivos de unidad. Por ejemplo, puede aislar el objetivo
gráfico, pero no el objetivo cryptsetup.
338 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 9 | Control de servicios y del proceso de arranque
Por ejemplo, para iniciar el sistema en una shell de recuperación donde pueda cambiar la
configuración del sistema sin casi ningún servicio en ejecución, agregue la siguiente opción a la
línea de comandos del kernel desde el cargador de arranque.
systemd.unit=rescue.target
Este cambio de configuración solo afecta a un único arranque, lo que hace que sea una
herramienta útil para la solución de problemas en el proceso de arranque.
Para usar este método de selección de un objetivo diferente, use el siguiente procedimiento:
2. Interrumpa la cuenta regresiva del menú del cargador de arranque presionando cualquier
tecla (excepto Enter que iniciaría un arranque normal).
5. Mueva el cursor hasta la línea que comienza con linux. Esta es la línea de comandos del
kernel.
REFERENCIAS
info grub2 (Manual GNU GRUB)
RH199-RHEL8.0-es-1-20190531 339
CAPÍTULO 9 | Control de servicios y del proceso de arranque
EJERCICIO GUIADO
RESULTADOS
Debe ser capaz de actualizar el objetivo predeterminado del sistema y usar un objetivo
temporal desde el cargador de arranque.
ANDES DE COMENZAR
Inicie sesión en workstation como student con la contraseña student.
3. Acceda a una consola basada en texto. Use la secuencia de teclas Ctrl+Alt+F1 por medio
de la entrada del menú o el botón relevantes. Inicie sesión como root con redhat como
contraseña.
NOTA
Recordatorio: si está utilizando el terminal a través de una página web, puede hacer
clic en el ícono Mostrar teclado debajo de la barra de URL de su navegador web y
luego a la derecha de la dirección IP de la máquina.
340 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 9 | Control de servicios y del proceso de arranque
Tenga en cuenta que, después del reinicio, el sistema presenta una consola basada en
texto, no un inicio de sesión gráfico.
Esto concluye la primera parte del ejercicio donde practica la configuración del
objetivo systemd predeterminado.
5.2. Cuando el menú del cargador de arranque aparezca, presione cualquier tecla (excepto
Enter que iniciaría un arranque normal) para interrumpir la cuenta regresiva.
RH199-RHEL8.0-es-1-20190531 341
CAPÍTULO 9 | Control de servicios y del proceso de arranque
5.3. Use las teclas de dirección para destacar la entrada del cargador de arranque
predeterminada.
5.5. Con las teclas de dirección, navegue hacia la línea que comienza con linux.
5.6. Presione End (Fin) para mover el cursor hasta el final de la línea.
Finalizar
En workstation, ejecute el script lab boot-selecting finish para terminar este ejercicio.
342 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 9 | Control de servicios y del proceso de arranque
RESTABLECIMIENTO DE LA
CONTRASEÑA DE ROOT
OBJETIVOS
Tras finalizar esta sección, usted deberá ser capaz de iniciar sesión en un sistema y cambiar la
contraseña root cuando la contraseña root actual se haya perdido.
Existen muchos métodos para establecer una nueva contraseña root. Un administrador de
sistemas podría, por ejemplo, arrancar el sistema usando un CD Live, montar el sistema de
archivos root desde allí y editar /etc/shadow. En esta sección, exploramos un método que no
requiere el uso de medios externos.
NOTA
En Red Hat Enterprise Linux 6 y en las versiones anteriores, los administradores
pueden arrancar el sistema en el nivel de ejecución 1 para obtener un prompt de
root. Los análogos más cercanos al nivel de ejecución 1 en una máquina Red Hat
Enterprise Linux 8 son los objetivos de recuperación y emergencia, y ambos
requieren la contraseña root para iniciar sesión.
1. Reinicie el sistema.
2. Interrumpa la cuenta regresiva del cargador de arranque presionando cualquier tecla (excepto
Enter).
5. Mueva el cursor hasta la línea de comandos del kernel (la línea que empieza con linux).
6. Agregue rd.break. Con esa opción, se produce un quiebre en el sistema antes de que el
control se entregue de initramfs al sistema real.
RH199-RHEL8.0-es-1-20190531 343
CAPÍTULO 9 | Control de servicios y del proceso de arranque
En este punto, se presenta una shell root, con el sistema de archivos root real en el disco
montado para solo lectura en /sysroot. Debido a que la solución de problemas suele exigir
modificaciones en el sistema de archivos root, debe cambiar el sistema de archivos root para
que su acceso sea de lectura-escritura. En el siguiente paso, se muestra cómo la opción
remount,rw del comando mount vuelve a montar el sistema de archivos con la opción nueva,
(rw), configurada.
NOTA
Es posible que las imágenes compiladas previamente coloquen múltiples
argumentos console= en el kernel para respaldar una amplia variedad de
situaciones de implementación. Estos argumentos console= indican los
dispositivos que se deben usar para la salida por consola. La advertencia con
rd.break es que si bien el sistema envía los mensajes del kernel a todas las
consolas, el prompt usará en última instancia la última consola. Si no recibe el
prompt, es posible que desee reordenar temporalmente los argumentos console=
cuando edite la línea de comandos del kernel desde el cargador de arranque.
IMPORTANTE
El sistema aún no ha habilitado SELinux, por lo que cualquier archivo que cree
no tiene un contexto SELinux. Algunas herramientas, como el comando passwd,
primero crean un archivo temporal, y, luego, lo trasladan al lugar del archivo que
intentan editar; y se crea así de manera efectiva un nuevo archivo sin un contexto
SELinux. Por este motivo, cuando usa el comando passwd con rd.break, el
archivo /etc/shadow no tiene un contexto SELinux.
Para restablecer la contraseña root desde este punto, realice el siguiente procedimiento:
2. Cambie a jail de chroot, donde /sysroot se trata como la root de un árbol de sistemas de
archivos.
4. Asegúrese de que todos los archivos no etiquetados, incluido /etc/shadow en este punto,
obtengan una nueva etiqueta durante el arranque.
5. Ingrese exit dos veces. El primer comando saldrá del jail de chroot y el segundo comando
saldrá de la shell de depuración de initramfs.
344 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 9 | Control de servicios y del proceso de arranque
En este punto, el sistema continúa con el arranque, realiza un nuevo etiquetado de SELinux
completo y, luego, realiza el arranque nuevamente.
INSPECCIÓN DE REGISTROS
Puede ser útil mirar los registros de arranques anteriores que fallaron. Si los diarios (journals)
del sistema son persistentes durante los reinicios, puede usar la herramienta journalctl para
inspeccionar esos registros.
Recuerde que, de manera predeterminada, los diarios (journals) del sistema se almacenan en
el directorio /run/log/journal, lo que significa que se borran cuando se reinicia el sistema.
Para almacenar diarios (journals) en el directorio /var/log/journal, que no se borra en los
reinicios, configure el parámetro Storage en persistent (persistente) en /etc/systemd/
journald.conf.
Para inspeccionar los registros de un arranque anterior, use la opción -b de journalctl. Sin
ningún argumento, la opción -b solo muestra mensajes desde el último arranque. Si el argumento
es un número negativo, se muestran los registros de los arranques anteriores.
Este comando muestra todos los mensajes calificados como error o peor del arranque anterior.
ADVERTENCIA
No olvide deshabilitar el servicio debug-shell.service cuando haya finalizado
la depuración, ya que deja una shell root no autenticada abierta a cualquier usuario
con acceso a la consola local.
RH199-RHEL8.0-es-1-20190531 345
CAPÍTULO 9 | Control de servicios y del proceso de arranque
El objetivo de emergencia mantiene el sistema de archivos root montado con solo lectura;
mientras que el objetivo de recuperación espera que sysinit.target se complete, para que
una mayor parte del sistema se inicie (p. ej., servicio de inicio de sesión o sistemas de archivos). El
usuario root en este punto no puede hacer cambios a /etc/fstab hasta que la unidad se vuelva a
montar en un estado de lectura/escritura mount -o remount,rw /
Los administradores pueden usar estas shells para corregir problemas que impiden que el sistema
arranque normalmente; por ejemplo, un bucle de dependencia entre servicios o una entrada
incorrecta en /etc/fstab. Cuando se sale de estas shells, continúa el proceso de arranque
regular.
REFERENCIAS
Páginas del manual: dracut.cmdline(7), systemd-journald(8),
journald.conf(5), journalctl(1) y systemctl(1)
346 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 9 | Control de servicios y del proceso de arranque
EJERCICIO GUIADO
RESTABLECIMIENTO DE LA
CONTRASEÑA DE ROOT
En este ejercicio, restablecerá la contraseña root en un sistema.
RESULTADOS
Deberá ser capaz de restablecer una contraseña root perdida.
ANDES DE COMENZAR
Inicie sesión en workstation como student con la contraseña student.
1.1. Localice el icono de la consola de servera, según corresponda para el entorno del
aula. Abra la consola.
Envíe Ctrl+Alt+Del a su sistema usando la entrada del menú o el botón relevantes.
1.2. Cuando el menú del cargador de arranque aparezca, presione cualquier tecla (excepto
Enter) para interrumpir la cuenta regresiva.
2. Edite la entrada del cargador de arranque predeterminada (en la memoria) para anular el
proceso de arranque después de que todos los sistemas de archivos hayan sido montados
por el kernel, pero antes de que el control se entregue a systemd.
2.1. Use las teclas de dirección para destacar la entrada del cargador de arranque
predeterminada.
2.3. Use las teclas de dirección para navegar hacia la línea que comienza con linux.
2.4. Presione End (Fin) para mover el cursor hasta el final de la línea.
RH199-RHEL8.0-es-1-20190531 347
CAPÍTULO 9 | Control de servicios y del proceso de arranque
6. Escriba exit dos veces para continuar reiniciando su sistema de forma normal. El sistema
ejecuta un nuevo etiquetado SELinux y, luego, vuelve a arrancar nuevamente por sí solo.
Cuando el sistema esté funcionando, verifique su trabajo al iniciar sesión como root en la
consola. Use redhat como la contraseña.
Finalizar
En workstation, ejecute el script lab boot-resetting finish para terminar este ejercicio.
348 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 9 | Control de servicios y del proceso de arranque
REPARACIÓN DE PROBLEMAS
DEL SISTEMA DE ARCHIVOS EN EL
ARRANQUE
OBJETIVOS
Tras finalizar esta sección, usted deberá ser capaz de reparar manualmente la configuración del
sistema de archivos o problemas de daños que detengan el proceso de arranque.
PROBLEMA RESULTADO
En todos los casos, los administradores también pueden usar el objetivo de emergencia para
diagnosticar y corregir el problema, dado que ningún sistema de archivos se monta antes de que
se muestre la shell de emergencia.
NOTA
Cuando use la shell de emergencia para resolver problemas del sistema de archivos,
no olvide ejecutar systemctl daemon-reload después de editar /etc/fstab.
Sin esta recarga, systemd puede continuar usando la versión anterior.
La opción nofail en una entrada en el archivo /etc/fstab permite que el sistema arranque,
incluso si el montaje de ese sistema de archivos no se ejecuta de forma correcta. No use
RH199-RHEL8.0-es-1-20190531 349
CAPÍTULO 9 | Control de servicios y del proceso de arranque
esta opción en circunstancias normales. Con nofail, una aplicación se puede iniciar sin el
almacenamiento y generar posibles consecuencias graves.
REFERENCIAS
Páginas del manual: systemd-fsck(8), systemd-fstab-generator(8) y
systemd.mount(5)
350 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 9 | Control de servicios y del proceso de arranque
EJERCICIO GUIADO
REPARACIÓN DE PROBLEMAS
DEL SISTEMA DE ARCHIVOS EN EL
ARRANQUE
En este ejercicio, recuperará un sistema de una configuración incorrecta en /etc/fstab
que hace que el proceso de arranque falle.
RESULTADOS
Debe ser capaz de diagnosticar problemas de /etc/fstab y usar el modo de emergencia
para recuperar el sistema.
ANDES DE COMENZAR
Inicie sesión en workstation como student con la contraseña student.
1.1. Localice el icono de la consola de servera, según corresponda para el entorno del
aula. Abra la consola.
Advierta que, al parecer, un trabajo de inicio no se ejecuta por completo. Tómese un
momento para especular sobre la posible causa de este comportamiento.
1.2. Para reiniciar, envíe Ctrl+Alt+Del a su sistema usando la entrada del menú o
el botón relevantes. En el caso de este problema de arranque en particular, esta
secuencia de teclas puede no detener inmediatamente el trabajo en ejecución, y es
posible que tenga que esperar a que finalice el tiempo de espera antes de que el
sistema se reinicie.
Si espera a que la tarea finalice el tiempo de espera sin enviar Ctrl+Alt+Del, el
sistema eventualmente genera por su cuenta una shell de emergencia.
1.3. Cuando el menú del cargador de arranque aparezca, presione cualquier tecla (excepto
Enter) para interrumpir la cuenta regresiva.
2. Si observa el error que tuvo en el arranque anterior, parece que al menos ciertas partes del
sistema aún están funcionando. Puesto que sabe la contraseña de root (redhat), intente
un arranque de emergencia.
RH199-RHEL8.0-es-1-20190531 351
CAPÍTULO 9 | Control de servicios y del proceso de arranque
2.1. Use las teclas de dirección para destacar la entrada del cargador de arranque
predeterminada.
2.3. Use las teclas de dirección para navegar hacia la línea que comienza con linux.
2.4. Presione End (Fin) para mover el cursor hasta el final de la línea.
Tenga en cuenta que el sistema de archivos root se monta con acceso de solo lectura.
6. Use el comando mount -a para intentar montar todos los demás sistemas de archivos.
Con la opción --all (-a), el comando monta todos los sistemas de archivos detallados en
/etc/fstab que todavía no están montados.
352 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 9 | Control de servicios y del proceso de arranque
8. Intente montar todas las entradas para verificar que su /etc/fstab ahora sea correcto.
9. Reinicie el sistema y espere a que el arranque finalice. Ahora el sistema debería arrancar
normalmente.
Finalizar
En workstation, ejecute el script lab boot-repairing finish para terminar este ejercicio.
RH199-RHEL8.0-es-1-20190531 353
CAPÍTULO 9 | Control de servicios y del proceso de arranque
TRABAJO DE LABORATORIO
RESULTADOS
Deberá ser capaz de habilitar, deshabilitar, iniciar y detener servicios.
ANDES DE COMENZAR
Inicie sesión en workstation como student con la contraseña student.
Evaluación
En workstation, ejecute el script lab services-review grade para confirmar que ha
realizado correctamente este trabajo de laboratorio.
Finalizar
En workstation, ejecute el script lab services-review finish para terminar este trabajo
de laboratorio.
354 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 9 | Control de servicios y del proceso de arranque
SOLUCIÓN
RESULTADOS
Deberá ser capaz de habilitar, deshabilitar, iniciar y detener servicios.
ANDES DE COMENZAR
Inicie sesión en workstation como student con la contraseña student.
1.1. Use el comando ssh para iniciar sesión en serverb como el usuario student.
1.2. Use el comando systemctl para verificar el estado del servicio psacct. Tenga en
cuenta que psacct se encuentra detenido y deshabilitado, por lo que no se inicia en el
momento del arranque.
RH199-RHEL8.0-es-1-20190531 355
CAPÍTULO 9 | Control de servicios y del proceso de arranque
2.1. Habilite el servicio psacct para que se inicie en el arranque del sistema.
2.2. Verifique que el servicio psacct esté habilitado para iniciarse en el arranque del
sistema.
3.1. Use el comando systemctl para verificar el estado del servicio rsyslog. Tenga
en cuenta que el servicio rsyslog está en ejecución y habilitado para iniciarse en el
momento del arranque.
4. Configure el servicio rsyslog para que no se inicie en el momento de arranque del sistema.
4.1. Deshabilite el servicio rsyslog para que no se inicie en el momento de arranque del
sistema.
356 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 9 | Control de servicios y del proceso de arranque
Evaluación
En workstation, ejecute el script lab services-review grade para confirmar que ha
realizado correctamente este trabajo de laboratorio.
Finalizar
En workstation, ejecute el script lab services-review finish para terminar este trabajo
de laboratorio.
RH199-RHEL8.0-es-1-20190531 357
CAPÍTULO 9 | Control de servicios y del proceso de arranque
RESUMEN
En este capítulo, aprendió lo siguiente:
• Se utiliza el comando systemctl status para determinar el estado de los daemons del
sistema y los servicios de red iniciados por systemd.
• Use rd.break en la línea de comandos del kernel para interrumpir el proceso de arranque
antes de que se entregue el control desde el initramfs. El sistema de archivos root se monta
como solo lectura en /sysroot.
358 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 10
ADMINISTRACIÓN DE REDES
META Configure las interfaces de red y la configuración
en servidores Red Hat Enterprise Linux.
RH199-RHEL8.0-es-1-20190531 359
CAPÍTULO 10 | Administración de redes
VALIDACIÓN DE LA CONFIGURACIÓN
DE RED
OBJETIVOS
Tras finalizar esta sección, deberá poder probar y revisar la configuración de red actual con las
utilidades de la línea de comandos.
En el ejemplo anterior, el servidor tiene tres interfaces de red: lo, que es el dispositivo de bucle
invertido que está conectado al propio servidor, y dos interfaces Ethernet, ens3 y ens4.
Para configurar cada interfaz de red correctamente, necesita saber cuál está conectada a qué red.
En muchos casos, sabrá la dirección MAC de la interfaz conectada a cada red, ya sea porque está
impresa físicamente en la tarjeta o el servidor, o porque es una máquina virtual y usted sabe cómo
está configurada. La dirección MAC del dispositivo aparece después de link/ether para cada
interfaz. Así que ya sabes que la tarjeta de red con la dirección MAC 52:54:00:00:00:0a es la
interfaz de red ens3.
360 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 10 | Administración de redes
RH199-RHEL8.0-es-1-20190531 361
CAPÍTULO 10 | Administración de redes
^C
--- 2001:db8:0:1::1 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2001ms
rtt min/avg/max/mdev = 0.178/6.272/18.458/8.616 ms
[user@host ~]$
Cuando hace ping a las direcciones de vínculo local y al grupo multidifusión de todos los nodos
de vínculo local (ff02::1), la interfaz de red que se debe usar debe especificarse explícitamente
con un identificador de zona de alcance (como ff02::1%ens3). Si esto se deja afuera, se
muestra el error connect: Invalid argument.
Hacer ping a ff02::1 puede ser útil para buscar otros nodos IPv6 en la red local.
Recuerde que las direcciones de vínculo local de IPv6 pueden ser usadas por otros hosts en el
mismo vínculo, al igual que las direcciones normales.
362 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 10 | Administración de redes
Esto muestra la tabla de enrutamiento de IPv4. Todos los paquetes que estén destinados
para la red 10.0.0.0/8 se envían directamente al destino mediante la ens4 del dispositivo.
Todos los paquetes que estén destinados para la red 192.0.2.0/24 se envían directamente
al destino mediante la ens3 del dispositivo. Todos los demás paquetes se envían al enrutador
predeterminado que está ubicado en 192.0.2.254, y también mediante la ens3 del dispositivo.
En este ejemplo, ignore las rutas a las que no se puede acceder que apuntan a redes que no se
usan. Eso deja tres rutas:
1. La red 2001:db8:0:1::/64, que usa la interfaz ens3 (que supuestamente tiene una
dirección en esa red).
2. La red fe80::/64, que usa la interfaz ens3, para la dirección de vínculo local. En un sistema
con múltiples interfaces, hay una ruta a fe80::/64 cada interfaz para cada dirección de
vínculo local.
3. Una ruta predeterminada a todas las redes en Internet IPv6 (la red ::/0) que no tiene una
ruta más específica en el sistema, a través del enrutador en 2001:db8:0:1::ffff, al que se
puede acceder con el dispositivo ens3.
RH199-RHEL8.0-es-1-20190531 363
CAPÍTULO 10 | Administración de redes
Cada línea de la salida de tracepath representa un router o hop por donde pasa el paquete
entre el origen y el destino final. Se proporciona información adicional como disponible, que
incluye la sincronización en ambos sentidos (RTT) y cualquier cambio en el tamaño de la unidad
de transmisión máxima (MTU). La indicación asymm significa que el tráfico llegó a ese enrutador y
regresó de ese enrutador usando diferentes rutas (asimétricas). Los enrutadores que se muestran
son los que se usan para el tráfico saliente, no el tráfico de retorno.
El comando ss se usa para mostrar las estadísticas del socket. El comando ss tiene por objeto
reemplazar la herramienta anterior netstat, que es parte del paquete net-tools, que algunos
administradores de sistemas pueden conocer más, pero que no siempre está instalada.
El puerto usado para SSH escucha todas las direcciones IPv4. El “*” se usa para indicar
“todos” cuando se hace referencia a los puertos o las direcciones IPv4.
El puerto usado para SMTP escucha la interfaz de circuito de retorno de la IPv4 127.0.0.1.
La conexión SSH establecida está en la interfaz 172.25.250.10 y se origina de un sistema con
una dirección de 172.25.254.254.
El puerto usado para SSH está atento a todas las direcciones IPv6. Se usa la sintaxis “::” para
representar todas las interfaces de IPv6.
El puerto usado para SMTP presta atención a la interfaz de circuito de retorno de la IPv6 ::1.
364 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 10 | Administración de redes
OPCIÓN DESCRIPCIÓN
REFERENCIAS
Páginas de manual ip-link(8), ip-address(8), ip-route(8), ip(8), ping(8),
tracepath(8), traceroute(8), ss(8) y netstat(8)
RH199-RHEL8.0-es-1-20190531 365
CAPÍTULO 10 | Administración de redes
EJERCICIO GUIADO
VALIDACIÓN DE LA CONFIGURACIÓN
DE RED
En este ejercicio, revisará la configuración de red de uno de sus servidores.
RESULTADOS
Identificar las interfaces de la red actual y las direcciones básicas de la red.
ANDES DE COMENZAR
Inicie sesión en workstation como student con la contraseña student.
1. Use el comando ssh para iniciar sesión en servera como el usuario student. Los
sistemas están configurados para usar claves SSH para la autenticación y acceso sin
contraseña para servera.
2.
IMPORTANTE
Los nombres de la interfaz de red están determinados por su tipo de bus y el orden
de detección de los dispositivos durante el arranque. Los nombres de la interfaz de
red variarán según la plataforma del curso y el hardware en uso.
366 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 10 | Administración de redes
RH199-RHEL8.0-es-1-20190531 367
CAPÍTULO 10 | Administración de redes
9. Salga de servera.
Finalizar
En workstation, ejecute el script lab net-validate finish para terminar este ejercicio.
368 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 10 | Administración de redes
OBJETIVOS
Tras finalizar esta sección, debería poder administrar dispositivos y configuraciones de red con el
comando nmcli.
DESCRIPCIÓN DE CONCEPTOS DE
NETWORKMANAGER
NetworkManager es un daemon que monitorea y administra los parámetros de red. Además
del daemon, hay un applet del área de notificaciones de GNOME que proporciona información
sobre el estado de la red. Las herramientas gráficas y de la línea de comandos se comunican
con NetworkManager y guardan archivos de configuración en el directorio /etc/sysconfig/
network-scripts.
• Solo puede haber una conexión activa para un dispositivo por vez. Pueden existir múltiples
conexiones para que las usen distintos dispositivos o para permitir que una configuración se
modifique para el mismo dispositivo. Si necesita cambiar temporalmente la configuración de
red, en lugar de cambiar la configuración de una conexión, puede cambiar la conexión que está
activa para un dispositivo. Por ejemplo, un dispositivo para una interfaz de red inalámbrica en
una laptop puede usar diferentes conexiones para la red inalámbrica en un sitio de trabajo y para
la red inalámbrica en el hogar.
• La utilidad nmcli se usa para crear y editar archivos de conexión desde la línea de comandos.
El comando nmcli con show muestra una lista de todas las conexiones. Para enumerar solo las
conexiones activas, agregue la opción --active.
RH199-RHEL8.0-es-1-20190531 369
CAPÍTULO 10 | Administración de redes
El siguiente comando agrega una conexión nueva llamada eno2 para la interfaz eno2, que obtiene
información de redes IPv4 mediante el uso de DHCP y que se conecta automáticamente en el
inicio. También obtiene configuraciones de red IPv6 al escuchar los anuncios del enrutador en el
vínculo local. El nombre del archivo de configuración se basa en el valor de la opción con-name,
eno2, y se guarda en el archivo /etc/sysconfig/network-scripts/ifcfg-eno2.
[root@host ~]# nmcli con add con-name eno2 type ethernet ifname eno2
En el siguiente ejemplo, se crea la conexión eno2 para el dispositivo eno2 con una dirección
IPv4 estática, mediante el uso de la dirección IPv4 y el prefijo de red 192.168.0.5/24 y la
puerta de enlace predeterminada 192.168.0.254; sin embargo, sigue estableciendo la conexión
automática en el inicio y guarda su configuración en el mismo archivo. Debido a las limitaciones de
tamaño de la pantalla, termine la primera línea con un escape \ de shell y complete el comando en
la siguiente línea.
[root@host ~]# nmcli con add con-name eno2 type ethernet ifname eno2 \
ipv4.address 192.168.0.5/24 ipv4.gateway 192.168.0.254
Este ejemplo final crea una conexión eno2 para el dispositivo eno2 con direcciones IPv4 estáticas,
mediante el uso de la dirección IPv6, el prefijo de red 2001:db8:0:1::c000:207/64, la puerta
de enlace predeterminada de IPv6 2001:db8:0:1::1, y la dirección IPv4, el prefijo de red
192.0.2.7/24 y la puerta de enlace predeterminada de IPv4 192.0.2.1, pero aún se conecta
de manera automática durante el inicio y almacena su configuración en /etc/sysconfig/
network-scripts/ifcfg-eno2. Debido a las limitaciones de tamaño de la pantalla, termine la
primera línea con un escape \ de shell y complete el comando en la siguiente línea.
[root@host ~]# nmcli con add con-name eno2 type ethernet ifname eno2 \
ipv6.address 2001:db8:0:1::c000:207/64 ipv6.gateway 2001:db8:0:1::1 \
ipv4.address 192.0.2.7/24 ipv4.gateway 192.0.2.1
370 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 10 | Administración de redes
IMPORTANTE
Use nmcli dev dis device para desactivar una interfaz de red.
MODIFICACIÓN DE LA CONFIGURACIÓN DE
CONEXIÓN DE RED
Las conexiones de NetworkManager tienen dos tipos de parámetros. Hay propiedades de
conexión estáticas, configuradas por el administrador y almacenadas en los archivos de
configuración en /etc/sysconfig/network-scripts/ifcfg-*. También puede haber
información de conexión activa, que obtiene la conexión desde un servidor DHCP y que no se
almacena de manera persistente.
Para enumerar los parámetros actuales de una conexión, ejecute el comando nmcli con
show name, donde name es el nombre de la conexión. Las configuraciones en minúsculas son
propiedades estáticas que el administrador puede cambiar. Las configuraciones en mayúscula son
configuraciones activas que se usan provisoriamente para esta instancia de la conexión.
RH199-RHEL8.0-es-1-20190531 371
CAPÍTULO 10 | Administración de redes
802-3-ethernet.s390-options:
ipv4.method: manual
ipv4.dns: 192.168.0.254
ipv4.dns-search: example.com
ipv4.addresses: { ip = 192.168.0.2/24, gw =
192.168.0.254 }
ipv4.routes:
ipv4.ignore-auto-routes: no
ipv4.ignore-auto-dns: no
ipv4.dhcp-client-id: --
ipv4.dhcp-send-hostname: yes
ipv4.dhcp-hostname: --
ipv4.never-default: no
ipv4.may-fail: yes
ipv6.method: manual
ipv6.dns: 2001:4860:4860::8888
ipv6.dns-search: example.com
ipv6.addresses: { ip = 2001:db8:0:1::7/64, gw =
2001:db8:0:1::1 }
ipv6.routes:
ipv6.ignore-auto-routes: no
ipv6.ignore-auto-dns: no
ipv6.never-default: no
ipv6.may-fail: yes
ipv6.ip6-privacy: -1 (unknown)
ipv6.dhcp-hostname: --
...output omitted...
El comando nmcli con mod name puede usarse para modificar la configuración de una
conexión. Las modificaciones que se realicen también se almacenan en el archivo /etc/
sysconfig/network-scripts/ifcfg-name para la conexión. Las configuraciones
disponibles se documentan en la página de manual nm-settings(5).
372 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 10 | Administración de redes
IMPORTANTE
Si una conexión que obtuvo la información de IPv4 de un servidor DHCPv4 se
modifica para obtenerla de archivos de configuración estática solamente, el
parámetro ipv4.method también debe modificarse de auto a manual.
Del mismo modo, si una conexión que obtuvo su información de IPv6 por SLAAC
o por un servidor DHCPv6 se está modificando para obtenerla solo de archivos de
configuración estática, el parámetro ipv6.method también debe modificarse de
auto o dhcp a manual.
Varias configuraciones pueden tener múltiples valores. Un valor específico puede agregarse a la
lista o eliminarse de la lista para una configuración mediante la adición de un símbolo + o - al inicio
del nombre de la configuración.
Sin embargo, los usuarios regulares que han iniciado sesión en la consola local también pueden
realizar muchos cambios de configuración de red en el sistema. Deben iniciar sesión en el teclado
del sistema para la consola virtual basada en texto o el entorno de escritorio gráfico para obtener
este control. La lógica detrás de esto es que si alguien está físicamente presente en la consola de
la computadora, es probable que se esté utilizando como una estación de trabajo o computadora
portátil y que deban configurar, activar y desactivar las interfaces de red inalámbricas o por cable
a voluntad. Por el contrario, si el sistema es un servidor en el centro de datos, generalmente los
únicos usuarios que inician sesión localmente en la máquina deben ser los administradores.
Los usuarios regulares que inician sesión usando ssh no tienen acceso para cambiar los permisos
de red sin convertirse en root.
Puedes usar el comando nmcli gen permissions para ver cuáles son sus permisos actuales.
RESUMEN DE COMANDOS
La siguiente tabla es una lista de los comandos nmcli clave abordados en esta sección.
RH199-RHEL8.0-es-1-20190531 373
CAPÍTULO 10 | Administración de redes
COMANDO PROPÓSITO
nmcli con add con-name name Agrega una conexión nueva con el nombre name.
REFERENCIAS
páginas de manual NetworkManager(8), nmcli(1), nmcli-examples(5), nm-
settings(5), hostnamectl(1), resolv.conf(5), hostname(5), ip(8) y ip-
address(8)
374 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 10 | Administración de redes
EJERCICIO GUIADO
RESULTADOS
Debería poder convertir un sistema de DHCP a configuración estática.
ANDES DE COMENZAR
Inicie sesión en workstation como student con la contraseña student.
NOTA
Si es solicitado por el comando sudo para la contraseña student, ingrese
student como contraseña.
1. Use el comando ssh para iniciar sesión en servera como el usuario student. Los
sistemas se configuran para que usen claves SSH para la autenticación, por lo que no se
necesita una contraseña para iniciar sesión en servera.
IMPORTANTE
Los nombres de la interfaz de red están determinados por su tipo de bus y el orden
de detección de los dispositivos durante el arranque. Los nombres de la interfaz de
red variarán según la plataforma del curso y el hardware en uso.
RH199-RHEL8.0-es-1-20190531 375
CAPÍTULO 10 | Administración de redes
376 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 10 | Administración de redes
GENERAL.DEVICES: enX
GENERAL.STATE: activated
GENERAL.DEFAULT: yes
GENERAL.DEFAULT6: no
GENERAL.SPEC-OBJECT: --
GENERAL.VPN: no
GENERAL.DBUS-PATH: /org/freedesktop/NetworkManager/ActiveConnection/1
GENERAL.CON-PATH: /org/freedesktop/NetworkManager/Settings/1
GENERAL.ZONE: --
GENERAL.MASTER-PATH: --
IP4.ADDRESS[1]: 172.25.250.10/24
IP4.GATEWAY: 172.25.250.254
IP4.ROUTE[1]: dst = 172.25.250.0/24, nh = 0.0.0.0, mt = 100
IP4.ROUTE[2]: dst = 0.0.0.0/0, nh = 172.25.250.254, mt = 100
IP4.DNS[1]: 172.25.250.254
IP6.ADDRESS[1]: fe80::3059:5462:198:58b2/64
IP6.GATEWAY: --
IP6.ROUTE[1]: dst = fe80::/64, nh = ::, mt = 100
IP6.ROUTE[2]: dst = ff00::/8, nh = ::, mt = 256, table=255
4. Cree una conexión estática con la misma dirección IPv4, prefijo de red y puerta de enlace
predeterminada. Asigne el nombre static-addr a la conexión nueva.
RH199-RHEL8.0-es-1-20190531 377
CAPÍTULO 10 | Administración de redes
ADVERTENCIA
Dado que el acceso al equipo se logra a través de la conexión de red principal,
configurar los valores incorrectos durante la configuración de red puede hacer que
su equipo no pueda encontrarse. Si esto sucede, use el botón Reset (Restablecer)
que está arriba de lo que antes era la pantalla gráfica del equipo e inténtelo de
nuevo.
[student@servera ~]$ sudo nmcli con add con-name "static-addr" ifname enX \
type ethernet ipv4.method manual \
ipv4.address 172.25.250.10/24 ipv4.gateway 172.25.250.254
Connection 'static-addr' (15aa3901-555d-40cb-94c6-cea6f9151634) successfully
added.
378 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 10 | Administración de redes
RH199-RHEL8.0-es-1-20190531 379
CAPÍTULO 10 | Administración de redes
Finalizar
En workstation, ejecute el script lab net-configure finish para terminar este ejercicio.
380 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 10 | Administración de redes
EDICIÓN DE ARCHIVOS DE
CONFIGURACIÓN DE RED
OBJETIVOS
Tras finalizar esta sección, usted debería poder modificar los parámetros de configuración de red
mediante la edición de los archivos de configuración.
RH199-RHEL8.0-es-1-20190531 381
CAPÍTULO 10 | Administración de redes
382 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 10 | Administración de redes
IPADDR0=172.25.250.10 NAME="static-ens3"
PREFIX0=24 ONBOOT=yes
GATEWAY0=172.25.250.254 UUID=f3e8(...)ad3e
DEFROUTE=yes USERCTL=yes
DNS1=172.25.254.254
En estos parámetros de configuración estáticos, las variables para la dirección IP, el prefijo y la
puerta de enlace tienen un número al final. Esto permite que se asignen varios conjuntos de
valores a la interfaz. La variable DNS también tiene un número que se usa para especificar el
orden de la búsqueda cuando se especifican varios servidores.
Después de modificar los archivos de configuración, ejecute nmcli con reload para que
NetworkManager lea los cambios de configuración. La interfaz todavía necesita reiniciarse para
que se implementen los cambios.
RH199-RHEL8.0-es-1-20190531 383
CAPÍTULO 10 | Administración de redes
REFERENCIAS
Página de manual nmcli(1)
384 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 10 | Administración de redes
EJERCICIO GUIADO
EDICIÓN DE ARCHIVOS DE
CONFIGURACIÓN DE RED
En este ejercicio, modificará manualmente los archivos de configuración de red y se
asegurará de que la nueva configuración surta efecto.
RESULTADOS
Deberá ser capaz de agregar una dirección de red adicional a cada sistema.
ANDES DE COMENZAR
Inicie sesión en workstation como student con la contraseña student.
1. Use el comando ssh para iniciar sesión en servera como el usuario student. Los
sistemas se configuran para que usen claves SSH para la autenticación, por lo que no se
necesita una contraseña para iniciar sesión en servera.
IMPORTANTE
Los nombres de la interfaz de red están determinados por su tipo de bus y el orden
de detección de los dispositivos durante el arranque. Los nombres de la interfaz de
red variarán según la plataforma del curso y el hardware en uso.
RH199-RHEL8.0-es-1-20190531 385
CAPÍTULO 10 | Administración de redes
Si ha realizado ejercicios previos en este capítulo y esto fue cierto para su sistema, también
debería serlo para este ejercicio.
386 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 10 | Administración de redes
5.1. En workstation, use el comando ssh para iniciar sesión en serverb con el usuario
student.
RH199-RHEL8.0-es-1-20190531 387
CAPÍTULO 10 | Administración de redes
6.3. Desde workstation, utilice el comando ssh para acceder a servera como usuario
student para hacer ping a la nueva dirección de serverb.
Finalizar
En workstation, ejecute el script lab net-edit finish para terminar este ejercicio.
388 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 10 | Administración de redes
CONFIGURACIÓN DE NOMBRES DE
HOST Y RESOLUCIÓN DE NOMBRE
OBJETIVOS
Tras finalizar esta sección, deberá poder configurar el nombre de host estático del servidor y su
resolución de nombre y probar los resultados.
IMPORTANTE
En Red Hat Enterprise Linux 7 y posterior, el nombre de host estático se almacena
en /etc/hostname. Red Hat Enterprise Linux 6 y anterior almacena el nombre de
host como variable en el archivo /etc/sysconfig/network.
RH199-RHEL8.0-es-1-20190531 389
CAPÍTULO 10 | Administración de redes
172.25.254.254 classroom.example.com
172.25.254.254 content.example.com
El comando getent hosts hostname puede usarse para probar la resolución de nombre del
host con el archivo /etc/hosts.
• search: una lista de nombres de dominio para probar con un nombre del host corto. Tanto este
como el domain no deben configurarse en el mismo archivo; si esto ocurre, prevalece la última
instancia. Consulte resolv.conf(5) para obtener más detalles.
390 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 10 | Administración de redes
NOTA
Las configuraciones DNS IPv4 e IPv6 estáticas terminan todas como directivas de
servidores de nombres en /etc/resolv.conf. Debe asegurarse de que hay,
como mínimo, un servidor de nombres accesible por IPv4 en la lista (suponiendo
un sistema de pila [stack] doble). Es mejor tener al menos un servidor de nombres
que use IPv4 y un segundo servidor de nombres que use IPv6 en caso de que tenga
problemas de red con su red IPv4 o IPv6.
IMPORTANTE
DHCP reescribe automáticamente el archivo /etc/resolv.conf a medida que se
inician las interfaces, a menos que usted especifique PEERDNS=no en los archivos
de configuración de interfaz correspondientes. Configure esto con el comando
nmcli.
REFERENCIAS
Páginas de manual nmcli(1), hostnamectl(1), hosts(5), getent(1), host(1) y
resolv.conf(5)
RH199-RHEL8.0-es-1-20190531 391
CAPÍTULO 10 | Administración de redes
EJERCICIO GUIADO
CONFIGURACIÓN DE NOMBRES DE
HOST Y RESOLUCIÓN DE NOMBRE
En este ejercicio, configurará manualmente el nombre de host estático del sistema, el archivo
/etc/hosts y el sistema de resolución de nombres DNS.
RESULTADOS
Deberá ser capaz de establecer un nombre de host personalizado y configurar los
parámetros de resolución de nombres.
ANDES DE COMENZAR
Inicie sesión en workstation como student con la contraseña student.
1. Use el comando ssh para iniciar sesión en servera como el usuario student. Los
sistemas se configuran para que usen claves SSH para la autenticación, por lo que no se
necesita una contraseña para iniciar sesión en servera.
392 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 10 | Administración de redes
3. Configure un nombre del host estático para que coincida con el nombre del host transitorio.
3.2. Visualice el archivo de configuración que proporciona el nombre del host al inicio de la
red.
4.3. Visualice el archivo de configuración que proporciona el nombre del host al inicio de la
red.
RH199-RHEL8.0-es-1-20190531 393
CAPÍTULO 10 | Administración de redes
5.2. Modifique /etc/hosts para que el nombre adicional de class se puede utilizar para
acceder a la dirección IP 172.25.254.254.
394 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 10 | Administración de redes
Finalizar
En workstation, ejecute el script lab net-hostnames finish para terminar este ejercicio.
RH199-RHEL8.0-es-1-20190531 395
CAPÍTULO 10 | Administración de redes
TRABAJO DE LABORATORIO
ADMINISTRACIÓN DE REDES
LISTA DE VERIFICACIÓN DE RENDIMIENTO
En este trabajo de laboratorio, configurará los parámetros de red en un servidor Red Hat
Enterprise Linux.
RESULTADOS
Deberá ser capaz de configurar dos direcciones IPv4 estáticas para la interfaz de red
principal.
ANDES DE COMENZAR
Inicie sesión en workstation como student con la contraseña student.
1. Use el comando ssh para iniciar sesión en serverb como el usuario student. Los sistemas
se configuran para que usen claves SSH para la autenticación, por lo que no se necesita una
contraseña para iniciar sesión en serverb.
2. Use el comando sudo -i para cambiar al usuario root. Si se le solicita, use student como
la contraseña.
3. Cree una conexión de red estática nueva con los parámetros de configuración que figuran en
la tabla.
PARÁMETRO CONFIGURACIÓN
Dirección IP 172.25.250.11/24
4. Configure la conexión nueva para que se inicie en forma automática. Otras conexiones no
deberían iniciarse automáticamente.
5. Modifique la conexión nueva para que también use la dirección 10.0.1.1/24.
6. Configure el archivo hosts para que pueda hacerse referencia a 10.0.1.1 como privada.
396 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 10 | Administración de redes
7. Reinicie el sistema.
8. Desde workstation use el comando ping para verificar que serverb se inició.
Evaluación
En workstation, ejecute el script lab net-review grade para confirmar que ha realizado
correctamente este trabajo de laboratorio.
Finalizar
En workstation, ejecute el script lab net-review finish para finalizar este trabajo de
laboratorio.
RH199-RHEL8.0-es-1-20190531 397
CAPÍTULO 10 | Administración de redes
SOLUCIÓN
ADMINISTRACIÓN DE REDES
LISTA DE VERIFICACIÓN DE RENDIMIENTO
En este trabajo de laboratorio, configurará los parámetros de red en un servidor Red Hat
Enterprise Linux.
RESULTADOS
Deberá ser capaz de configurar dos direcciones IPv4 estáticas para la interfaz de red
principal.
ANDES DE COMENZAR
Inicie sesión en workstation como student con la contraseña student.
1. Use el comando ssh para iniciar sesión en serverb como el usuario student. Los sistemas
se configuran para que usen claves SSH para la autenticación, por lo que no se necesita una
contraseña para iniciar sesión en serverb.
2. Use el comando sudo -i para cambiar al usuario root. Si se le solicita, use student como
la contraseña.
3. Cree una conexión de red estática nueva con los parámetros de configuración que figuran en
la tabla.
PARÁMETRO CONFIGURACIÓN
Dirección IP 172.25.250.11/24
398 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 10 | Administración de redes
PARÁMETRO CONFIGURACIÓN
Cree el nuevo perfil de conexión lab basado en la información en la tabla descrita en las
instrucciones. Asocie el perfil con el nombre de su interfaz de red que aparece en el resultado
del comando ip link anterior.
[root@serverb ~]# nmcli con add con-name lab ifname enX type ethernet \
ipv4.method manual \
ipv4.address 172.25.250.11/24 ipv4.gateway 172.25.250.254
[root@serverb ~]# nmcli con mod "lab" ipv4.dns 172.25.250.254
4. Configure la conexión nueva para que se inicie en forma automática. Otras conexiones no
deberían iniciarse automáticamente.
De manera alternativa:
6. Configure el archivo hosts para que pueda hacerse referencia a 10.0.1.1 como privada.
RH199-RHEL8.0-es-1-20190531 399
CAPÍTULO 10 | Administración de redes
7. Reinicie el sistema.
8. Desde workstation use el comando ping para verificar que serverb se inició.
Evaluación
En workstation, ejecute el script lab net-review grade para confirmar que ha realizado
correctamente este trabajo de laboratorio.
Finalizar
En workstation, ejecute el script lab net-review finish para finalizar este trabajo de
laboratorio.
400 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 10 | Administración de redes
RESUMEN
En este capítulo, aprendió lo siguiente:
• IPv4 es el protocolo de red principal usado en Internet hoy en día. IPv6 pretende ser un
reemplazo final del protocolo de red IPv4. De forma predeterminada, Red Hat Enterprise Linux
opera en un modo de pila (stack) doble, con ambos protocolos en paralelo.
• El nombre del host estático del sistema se guarda en el archivo /etc/hostname. El comando
hostnamectl se usa para modificar o ver el estado del nombre de host del sistema y los
parámetros relacionados. El comando hostname muestra o modifica provisoriamente el nombre
de host del sistema.
RH199-RHEL8.0-es-1-20190531 401
402 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 11
ANÁLISIS Y
ALMACENAMIENTO DE
REGISTROS
META Ubicar e interpretar correctamente registros
de eventos del sistema para la resolución de
problemas.
RH199-RHEL8.0-es-1-20190531 403
CAPÍTULO 11 | Análisis y almacenamiento de registros
DESCRIPCIÓN DE LA ARQUITECTURA
DE REGISTRO DEL SISTEMA
OBJETIVOS
Tras finalizar esta sección, usted debe poder describir la arquitectura de registro básica que
emplea Red Hat Enterprise Linux para registrar eventos.
Sin embargo, el servicio rsyslog lee los mensajes de syslog recibidos por systemd-journald
desde el diario a medida que llegan. Luego procesa los eventos del registro del sistema, los
registra en sus archivos de registro o los reenvía a otros servicios de acuerdo con su propia
configuración.
El servicio rsyslog ordena y escribe mensajes de syslog en los archivos de registro que no
persisten en los reinicios en /var/log. El servicio rsyslog clasifica los mensajes de registro en
archivos de registro específicos según el tipo de programa que envió cada mensaje, o instalación, y
la prioridad de cada mensaje de syslog.
404 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 11 | Análisis y almacenamiento de registros
NOTA
Algunas aplicaciones no usan syslog para administrar sus mensajes de registro,
aunque, por lo general, colocan sus archivos de registro en un subdirectorio de /
var/log. Por ejemplo, el servidor web Apache guarda los mensajes de registro en
archivos en un subdirectorio del directorio /var/log.
REFERENCIAS
Páginas de manual systemd-journald.service(8), rsyslogd(8) y
rsyslog.conf(5)
RH199-RHEL8.0-es-1-20190531 405
CAPÍTULO 11 | Análisis y almacenamiento de registros
CUESTIONARIO
DESCRIPCIÓN DE LA ARQUITECTURA
DE REGISTRO DEL SISTEMA
Elija las respuestas correctas para las siguientes preguntas:
1. ¿Qué archivo de registro almacena la mayoría de los mensajes de syslog, excepto los
relacionados con la autenticación, el correo, los trabajos programados y la depuración?
a. /var/log/maillog
b. /var/log/boot.log
c. /var/log/messages
d. /var/log/secure
2. ¿Qué archivo de registro almacena los mensajes de syslog relacionados con las
operaciones de seguridad y autenticación en el sistema?
a. /var/log/maillog
b. /var/log/boot.log
c. /var/log/messages
d. /var/log/secure
4. ¿Qué directorio contiene los archivos de syslog que pueden leer las personas?
a. /sys/kernel/debug
b. /var/log/journal
c. /run/log/journal
d. /var/log
406 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 11 | Análisis y almacenamiento de registros
7. ¿Qué archivo almacena mensajes de la consola relacionados con el inicio del sistema?
a. /var/log/messages
b. /var/log/cron
c. /var/log/boot.log
d. /var/log/secure
RH199-RHEL8.0-es-1-20190531 407
CAPÍTULO 11 | Análisis y almacenamiento de registros
SOLUCIÓN
DESCRIPCIÓN DE LA ARQUITECTURA
DE REGISTRO DEL SISTEMA
Elija las respuestas correctas para las siguientes preguntas:
1. ¿Qué archivo de registro almacena la mayoría de los mensajes de syslog, excepto los
relacionados con la autenticación, el correo, los trabajos programados y la depuración?
a. /var/log/maillog
b. /var/log/boot.log
c. /var/log/messages
d. /var/log/secure
2. ¿Qué archivo de registro almacena los mensajes de syslog relacionados con las
operaciones de seguridad y autenticación en el sistema?
a. /var/log/maillog
b. /var/log/boot.log
c. /var/log/messages
d. /var/log/secure
4. ¿Qué directorio contiene los archivos de syslog que pueden leer las personas?
a. /sys/kernel/debug
b. /var/log/journal
c. /run/log/journal
d. /var/log
408 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 11 | Análisis y almacenamiento de registros
7. ¿Qué archivo almacena mensajes de la consola relacionados con el inicio del sistema?
a. /var/log/messages
b. /var/log/cron
c. /var/log/boot.log
d. /var/log/secure
RH199-RHEL8.0-es-1-20190531 409
CAPÍTULO 11 | Análisis y almacenamiento de registros
OBJETIVOS
Tras finalizar esta sección, deberá poder interpretar los eventos en los archivos syslog relevantes
para solucionar problemas o revisar el estado del sistema.
En la siguiente tabla, se enumeran las ocho prioridades estándares de syslog, de mayor a menor.
El servicio rsyslog usa el tipo (facility) y la prioridad de los mensajes de registro para determinar
cómo resolverlos. Esto está configurado por reglas en el archivo /etc/rsyslog.conf y
cualquier archivo en el directorio /etc/rsyslog.d que tiene una extensión de nombre de
archivo de .conf. Los paquetes de software pueden agregar reglas fácilmente instalando un
archivo apropiado en el directorio /etc/rsyslog.d.
Cada regla que controla cómo ordenar los mensajes de syslog es una línea en uno de los archivos
de configuración. En el lado izquierdo de cada línea, se indican el tipo (facility) y la gravedad del
mensaje de syslog que se corresponde con la regla. En el lado derecho de cada línea, se indica
en qué archivo se debe guardar el mensaje de registro (o a donde más enviar el mensaje). Un
asterisco (*) es un comodín que coincide con todos los valores.
Por ejemplo, la siguiente línea registraría los mensajes enviados al facility authpriv en cualquier
prioridad para el archivo /var/log/secure:
410 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 11 | Análisis y almacenamiento de registros
authpriv.* /var/log/secure
Los mensajes de registro a veces coinciden con más de una regla en rsyslog.conf. En tales
casos, un mensaje se almacena en más de un archivo de registro. Para limitar los mensajes
almacenados, la palabra clave none en el campo de prioridad señala que no se deben almacenar
mensajes para el tipo (facility) indicado en el archivo dado.
NOTA
El subsistema de syslog tiene muchas más características que no se incluyen
en este curso. Si desea explorar más a fondo, consulte la página del manual
rsyslog.conf(5) y toda la documentación HTML en /usr/share/doc/
rsyslog/html/index.html contenida en el paquete rsyslog-doc, disponible del
repositorio de AppStream en Red Hat Enterprise Linux 8.
RH199-RHEL8.0-es-1-20190531 411
CAPÍTULO 11 | Análisis y almacenamiento de registros
MONITOREO DE REGISTROS
Para reproducir problemas e inconvenientes, es útil monitorear uno o más archivos de registro para
eventos. El comando tail -f /path/to/file proporciona las últimas 10 líneas del archivo
especificado y continúa ofreciendo líneas nuevas en el archivo a medida que se escriben.
Por ejemplo, para monitorear los intentos fallidos de inicio de sesión, ejecute el comando tail en
un terminal y, luego, en otro terminal, ejecute el comando ssh como el usuario root mientras un
usuario intenta iniciar sesión en el sistema.
412 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 11 | Análisis y almacenamiento de registros
...output omitted...
Feb 10 09:01:13 host sshd[2712]: Accepted password for root from 172.25.254.254
port 56801 ssh2
Feb 10 09:01:13 host sshd[2712]: pam_unix(sshd:session): session opened for user
root by (uid=0)
Para enviar un mensaje al servicio rsyslog que se graba en el archivo de registro /var/log/
boot.log, ejecute el siguiente comando logger:
REFERENCIAS
Páginas de manual logger(1), tail(1), rsyslog.conf(5) y logrotate(8)
Manual de rsyslog
RH199-RHEL8.0-es-1-20190531 413
CAPÍTULO 11 | Análisis y almacenamiento de registros
EJERCICIO GUIADO
RESULTADOS
Debe poder configurar el servicio rsyslog para escribir todos los mensajes de registro con
la prioridad debug en el archivo de registro /var/log/messages-debug.
ANDES DE COMENZAR
Inicie sesión en workstation como student con la contraseña student.
1. Desde workstation, abra una sesión de SSH para servera como student.
2. Configure rsyslog en servera para registrar todos los mensajes con la prioridad debug,
o una prioridad más elevada, para cualquier servicio en un archivo de registro /var/log/
messages-debug nuevo mediante el agregado del archivo configuración rsyslog /etc/
rsyslog.d/debug.conf.
2.1. Use el comando sudo -i para cambiar al usuario root. Especifique la contraseña
student para el usuario student si se le solicita cuando ejecute el comando sudo -
i.
*.debug /var/log/messages-debug
Esta línea de configuración captura los mensajes de syslog con cualquier facility y un
nivel debug o de prioridad superior. El servicio rsyslog escribe esos mensajes de
414 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 11 | Análisis y almacenamiento de registros
3. Verifique que todos los mensajes de registro con prioridad debug aparezcan en el archivo /
var/log/messages-debug.
3.1. Use el comando logger con la opción -p para generar un mensaje de registro con
facility user y prioridad debug.
3.2. Use el comando tail para ver los últimos diez mensajes de registro del archivo /var/
log/messages-debug y confirmar que visualiza el mensaje Debug Message Test
(Prueba de mensaje de depuración) entre los otros mensajes de registro.
3.3. Salga de las shells de los usuarios root y student en servera para volver a la shell
del usuario student en workstation.
Finalizar
En workstation, ejecute lab log-configure finish para terminar este ejercicio. Este
script garantiza que el entorno se restaure a un estado limpio.
RH199-RHEL8.0-es-1-20190531 415
CAPÍTULO 11 | Análisis y almacenamiento de registros
416 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 11 | Análisis y almacenamiento de registros
OBJETIVOS
Tras finalizar esta sección, deberá poder encontrar e interpretar las entradas en el diario (journal)
del sistema para solucionar problemas o revisar el estado del sistema.
IMPORTANTE
En Red Hat Enterprise Linux 8, el directorio /run/log almacena el diario del
sistema de forma predeterminada. El contenido del directorio /run/log se borra
después de un reinicio. Puede cambiar esta configuración, y cómo hacerlo se explica
más adelante en este capítulo.
Para recuperar mensajes de registro del diario, use el comando journalctl. Puede usar este
comando para ver todos los mensajes en el diario o para buscar eventos específicos basados
en una amplia gama de opciones y criterios. Si ejecuta el comando como root, tiene acceso
completo al diario. Los usuarios normales también pueden usar este comando, pero se les puede
restringir la visualización de ciertos mensajes.
RH199-RHEL8.0-es-1-20190531 417
CAPÍTULO 11 | Análisis y almacenamiento de registros
El comando journalctl destaca los mensajes de registro importantes: los mensajes con
prioridad notice o warning se muestran en negrita, y los mensajes con prioridad error o una
prioridad mayor se muestran en rojo.
La clave para usar en forma correcta el diario (journal) para la solución de problemas y auditorías
es limitar las búsquedas en el diario (journal) para mostrar solo la salida relevante.
Al igual que el comando tail -f, el comando journalctl -f ofrece las últimas 10 líneas
del diario (journal) del sistema y continúa proporcionando entradas del diario (journal) nuevas
a medida que se escriben en el diario (journal). Para salir del proceso journalctl -f, use la
combinación de teclas Ctrl+C.
418 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 11 | Análisis y almacenamiento de registros
Para solucionar problemas, se recomienda filtrar el resultado del diario (journal) en función de la
prioridad de las entradas del diario (journal). El journalctl -p usa el nombre o el número de un
nivel de prioridad y muestra las entradas del diario (journal) del nivel dado o del nivel superior. El
comando journalctl comprende los niveles de prioridad debug, info, notice, warning, err,
crit, alert y emerg.
Ejecute el siguiente comando journalctl para enumerar las entradas del diario (journal) con
prioridad err o prioridad superior:
Ejecute el siguiente comando journalctl para enumerar todas las entradas del diario (journal)
de los registros de hoy.
RH199-RHEL8.0-es-1-20190531 419
CAPÍTULO 11 | Análisis y almacenamiento de registros
Ejecute el siguiente comando journalctl para enumerar todas las entradas del diario (journal)
que van del 10-2-2019 20:30:00 al 13-2-2019 12:00:00.
También puede especificar todas las entradas desde un tiempo relativo al presente. Por ejemplo,
para especificar todas las entradas en la última hora, puede usar el siguiente comando:
NOTA
Puede utilizar otras especificaciones de tiempo más sofisticadas con las
opciones --since y --until. Para algunos ejemplos, vea la página del manual
systemd.time(7)
Además del contenido visible del diario (journal), existen campos adjuntos a las entradas del
registro que solo pueden verse cuando se activa el resultado de explicación extensa. Para filtrar
el resultado de una consulta del diario (journal), puede usarse cualquier campo adicional que
se muestra. Esto es útil para restringir el resultado de búsquedas complejas para determinados
eventos del diario (journal).
420 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 11 | Análisis y almacenamiento de registros
SYSLOG_FACILITY=3
SYSLOG_IDENTIFIER=systemd
_UID=0
_GID=0
CODE_FILE=../src/core/job.c
CODE_LINE=826
CODE_FUNC=job_log_status_message
JOB_TYPE=start
JOB_RESULT=done
MESSAGE_ID=39f53479d3a045ac8e11786248231fbf
_TRANSPORT=journal
_PID=1
_COMM=systemd
_EXE=/usr/lib/systemd/systemd
_CMDLINE=/usr/lib/systemd/systemd --switched-root --system --deserialize 18
_CAP_EFFECTIVE=3fffffffff
_SELINUX_CONTEXT=system_u:system_r:init_t:s0
_SYSTEMD_CGROUP=/init.scope
_SYSTEMD_UNIT=init.scope
_SYSTEMD_SLICE=-.slice
UNIT=dnf-makecache.service
MESSAGE=Started dnf makecache.
_HOSTNAME=host.lab.example.com
INVOCATION_ID=d6f90184663f4309835a3e8ab647cb0e
_SOURCE_REALTIME_TIMESTAMP=1550748674509128
lines 32239-32275/32275 (END) q
En la siguiente lista, se proporcionan los campos comunes del diario (journal) del sistema que se
pueden usar para buscar líneas relevantes para un proceso o evento en particular.
Es posible combinar más de un campo del diario (journal) del sistema para realizar una búsqueda
detallada con el comando journalctl. Por ejemplo, el siguiente comando journalctl muestra
todas las entradas del diario (journal) relacionadas con la unidad sshd.service systemd de un
proceso con la PID 1182.
NOTA
Para obtener una lista de los campos más usados del diario (journal), consulte la
página del manual systemd.journal-fields(7).
RH199-RHEL8.0-es-1-20190531 421
CAPÍTULO 11 | Análisis y almacenamiento de registros
REFERENCIAS
Páginas del manual journalctl(1), systemd.journal-fields(7) y
systemd.time(7)
422 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 11 | Análisis y almacenamiento de registros
EJERCICIO GUIADO
RESULTADOS
Deberá ser capaz de buscar en el diario (journal) del sistema las entradas que registran
eventos en función de diferentes criterios.
ANDES DE COMENZAR
Inicie sesión en workstation como student con la contraseña student.
En workstation, ejecute lab log-query start para comenzar el ejercicio. Este script
asegura que el entorno esté configurado correctamente.
1. Desde workstation, abra una sesión de SSH para servera como student.
2. Use la coincidencia _PID=1 con el comando journalctl para mostrar solo los eventos
de registro que se originan del proceso systemd que se ejecuta con el identificador de
proceso 1 en servera. Para salir de journalctl, presione q.
NOTA
El comando journalctl puede producir un resultado diferente en su sistema.
RH199-RHEL8.0-es-1-20190531 423
CAPÍTULO 11 | Análisis y almacenamiento de registros
3. Use la coincidencia _UID=81 con el comando journalctl para visualizar todos los
eventos de registro que se originan de un servicio del sistema que se inició con el
identificador de usuario 81 en servera. Para salir de journalctl, presione q.
5. Muestre todos los eventos de registro registrados en los últimos 10 minutos a partir de la
hora actual en servera.
5.1. Use la opción --since con el comando journalctl para visualizar todos los
eventos de registro registrados en los últimos 10 minutos en servera. Para salir de
journalctl, presione q.
424 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 11 | Análisis y almacenamiento de registros
RH199-RHEL8.0-es-1-20190531 425
CAPÍTULO 11 | Análisis y almacenamiento de registros
Finalizar
En workstation, ejecute lab log-query finish para terminar este ejercicio. Este script
garantiza que el entorno se restaure a un estado limpio.
426 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 11 | Análisis y almacenamiento de registros
OBJETIVOS
Tras finalizar esta sección, usted deberá ser capaz de configurar el diario (journal) del sistema para
resguardar el registro de eventos cuando se reinicia un servidor.
Puesto que el sistema de archivos /run es temporal y solo existe en la memoria de tiempo de
ejecución, los datos almacenados en él, incluidos los diarios (journals) del sistema, se borran en
el reinicio.
La ventaja de los diarios (journals) del sistema almacenados de forma persistente es que los
datos históricos están disponibles de inmediato en el inicio. Sin embargo, incluso cuando el diario
(journal) se almacene de forma persistente, no todos los datos se conservan para siempre. El
diario (journal) tiene un mecanismo de rotación de registro incorporado que se desencadena
mensualmente. Además, de manera predeterminada, los diarios (journals) no pueden tener más
del 10 % del sistema de archivos en el que están ubicados ni dejar menos del 15 % del sistema
de archivos libre. Estos valores se pueden ajustar tanto para el tiempo de ejecución como para
los diarios (journals) persistentes en /etc/systemd/journald.conf. Los límites actuales en
cuanto al tamaño del diario (journal) se registran cuando inicia el proceso systemd-journald.
En el siguiente resultado de comando, se muestran las entradas del diario (journal) que reflejan los
límites de tamaño actuales:
RH199-RHEL8.0-es-1-20190531 427
CAPÍTULO 11 | Análisis y almacenamiento de registros
NOTA
En el grep anterior, el símbolo de barra vertical (|) actúa como indicador de o.
Es decir, grep coincide con cualquier línea que contenga la cadena Runtime o la
cadena System del resultado journalctl. Esto captura los límites de tamaño
actuales en el almacenamiento volátil del diario (journal) (Runtime), así como en el
almacenamiento persistente del diario (journal) (System).
[Journal]
Storage=persistent
...output omitted...
Mientras los diarios (journals) del sistema persisten en el reinicio, se obtiene una gran cantidad
de entradas en el resultado del comando journalctl que incluyen entradas del inicio actual
del sistema así como de los inicios anteriores. Para limitar el resultado a un inicio específico del
428 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 11 | Análisis y almacenamiento de registros
El siguiente comando journalctl recupera las entradas limitadas al segundo inicio del sistema.
El siguiente argumento es significativo solo si el sistema se ha reiniciado más de dos veces:
El siguiente comando journalctl recupera las entradas limitadas al inicio actual del sistema:
NOTA
Cuando se depura el bloqueo de un sistema con un diario (journal) persistente,
generalmente es necesario limitar la cola del diario (journal) al reinicio anterior al
bloqueo. La opción -b puede estar acompañada por un número negativo que indica
la cantidad de arranques anteriores del sistema que debe incluir el resultado. Por
ejemplo, journalctl -b -1 limita el resultado solo al inicio anterior.
REFERENCIAS
Páginas de manual systemd-journald.conf(5), systemd-journald(8)
RH199-RHEL8.0-es-1-20190531 429
CAPÍTULO 11 | Análisis y almacenamiento de registros
EJERCICIO GUIADO
RESULTADOS
Deberá ser capaz de configurar el diario (journal) del sistema para preservar sus datos
después de un reinicio.
ANDES DE COMENZAR
Inicie sesión en workstation como student con la contraseña student.
1. Desde workstation, abra una sesión de SSH para servera como student.
430 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 11 | Análisis y almacenamiento de registros
...output omitted...
[Journal]
Storage=persistent
...output omitted...
Tenga en cuenta que la conexión SSH finalizó apenas se reinició el sistema servera.
Finalizar
En workstation, ejecute lab log-preserve finish para terminar este ejercicio. Este script
garantiza que el entorno se restaure a un estado limpio.
RH199-RHEL8.0-es-1-20190531 431
CAPÍTULO 11 | Análisis y almacenamiento de registros
432 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 11 | Análisis y almacenamiento de registros
MANTENIMIENTO DE LA HORA
CORRECTA
OBJETIVOS
Tras finalizar esta sección, usted deberá ser capaz de mantener una sincronización de hora precisa
por medio de NTP y configurar la zona horaria para garantizar marcas de tiempo correctas para los
eventos registrados por el diario (journal) y los registros del sistema.
El comando timedatectl muestra una descripción general de los parámetros actuales del
sistema relacionados con la hora, que incluyen la hora actual, la zona horaria y los parámetros de
sincronización de NTP del sistema.
Está disponible una base de datos con las zonas horarias, y puede enumerarse con el comando
timedatectl list-timezones.
Los nombres de las zonas horarias se basan en la base de datos de zonas horarias públicas que
están a cargo de la Autoridad para la Asignación de Números de Internet (IANA). Las zonas
horarias se nombran según el continente u océano; luego, por lo general, pero no siempre, la
ciudad más grande dentro de la región de la zona horaria. Por ejemplo, la mayoría de la zona
horaria de montaña de los EE. UU. se denomina América/Denver.
RH199-RHEL8.0-es-1-20190531 433
CAPÍTULO 11 | Análisis y almacenamiento de registros
La elección del nombre correcto puede ser no intuitiva en casos donde las localidades dentro de
una zona horaria tienen normas horarias de aprovechamiento de la luz solar. Por ejemplo, en los
EE. UU., gran parte del estado de Arizona (hora de la zona montañosa de los EE. UU.) no modifica
la hora para aprovechar la luz solar y su huso horario es el de América/Phoenix.
El comando tzselect es práctico para identificar los nombres de la zona horaria zoneinfo
correcta. De manera interactiva, se le formulan preguntas al usuario sobre la ubicación del sistema
y se proporciona el nombre de la zona horaria correcta. No implementa ningún cambio en la
configuración de la zona horaria del sistema.
El superusuario puede cambiar la configuración del sistema para actualizar la zona horaria actual
mediante el comando timedatectl set-timezone. El siguiente comando timedatectl
actualiza la zona horaria actual a America/Phoenix.
NOTA
En caso de que necesite usar el horario universal coordinado (UTC) en un servidor
en particular, establezca su zona horaria en UTC. El comando tzselect no incluye
el nombre de la zona horaria UTC. Use el comando timedatectl set-timezone
UTC para configurar la zona horaria actual del sistema en UTC.
Use el comando timedatectl set-time para cambiar la hora actual del sistema. La hora se
especifica con el formato "DD-MM-AAAA hh:mm:ss", donde se puede omitir la fecha o la hora. El
siguiente comando timedatectl cambia la hora a 09:00:00.
434 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 11 | Análisis y almacenamiento de registros
NOTA
En Red Hat Enterprise Linux 8, el comando timedatectl set-ntp se ajustará
independientemente de si el servicio chronyd NTP esté en funcionamiento. Otras
distribuciones de Linux pueden usar esta configuración para ajustar un servicio NTP
o SNTP diferente.
De manera predeterminada, el servicio chronyd usa servidores de NTP Pool Project para la
sincronización de la hora y no necesita otra configuración. Puede ser útil cambiar los servidores
NTP cuando la máquina en cuestión esté en una red aislada.
Existen dos categorías de fuentes de hora, server y peer, que pueden configurarse en el archivo de
configuración /etc/chrony.conf. La categoría server se encuentra un estrato más arriba que
el servidor NTP local, y la categoría peer está en el mismo estrato. Puede especificarse más de un
server y más de un peer, uno por línea.
El primer argumento de la línea server es la dirección IP o el nombre de DNS del servidor NTP.
A continuación del nombre o de la dirección IP del servidor, puede especificarse una serie de
opciones para el servidor. Se recomienda usar la opción iburst porque, una vez que se inicie el
servicio, se realizarán cuatro mediciones en un período breve a fin de lograr una sincronización del
reloj inicial más precisa.
El comando chronyc actúa como cliente para el servicio chronyd. Después de configurar la
sincronización de NTP, debe verificar que el sistema local esté usando sin problemas el servidor
RH199-RHEL8.0-es-1-20190531 435
CAPÍTULO 11 | Análisis y almacenamiento de registros
NTP para sincronizar el reloj del sistema por medio del comando chrony sources. Para obtener
un resultado más extenso con explicaciones adicionales, use el comando chronyc sources -v.
.-- Source mode '^' = server, '=' = peer, '#' = local clock.
/ .- Source state '*' = current synced, '+' = combined , '-' = not combined,
| / '?' = unreachable, 'x' = time may be in error, '~' = time too variable.
|| .- xxxx [ yyyy ] +/- zzzz
|| / xxxx = adjusted offset,
|| Log2(Polling interval) -. | yyyy = measured offset,
|| \ | zzzz = estimated error.
|| | |
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
^* classroom.example.com 8 6 17 23 -497ns[-7000ns] +/- 956us
REFERENCIAS
Páginas de manual timedatectl(1), tzselect(8), chronyd(8),
chrony.conf(5) y chronyc(1)
436 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 11 | Análisis y almacenamiento de registros
EJERCICIO GUIADO
MANTENIMIENTO DE LA HORA
CORRECTA
En este ejercicio, ajustará la zona horaria en un servidor y se asegurará de que el reloj de su
sistema esté sincronizado con una fuente de hora de NTP.
RESULTADOS
Usted deberá ser capaz de realizar lo siguiente:
• Configurar el servidor para sincronizar su hora con una fuente de hora de NTP.
ANDES DE COMENZAR
Inicie sesión en workstation como student con la contraseña student.
1. Desde workstation, abra una sesión de SSH para servera como student.
2. A los fines de la actividad, suponga que el sistema servera se reubica en Haití y, por lo
tanto, usted debe actualizar la zona horaria según corresponda. Use sudo para elevar
los privilegios del usuario student mientras ejecuta el comando timedatectl para
actualizar la zona horaria. Use la contraseña student si se le solicita una.
2.1. Use el comando tzselect para determinar la zona horaria adecuada para Haití.
RH199-RHEL8.0-es-1-20190531 437
CAPÍTULO 11 | Análisis y almacenamiento de registros
7) Europe
8) Indian Ocean
9) Pacific Ocean
10) coord - I want to use geographical coordinates.
11) TZ - I want to specify the time zone using the Posix TZ format.
#? 2
Please select a country whose clocks agree with yours.
1) Anguilla 19) Dominican Republic 37) Peru
2) Antigua & Barbuda 20) Ecuador 38) Puerto Rico
3) Argentina 21) El Salvador 39) St Barthelemy
4) Aruba 22) French Guiana 40) St Kitts & Nevis
5) Bahamas 23) Greenland 41) St Lucia
6) Barbados 24) Grenada 42) St Maarten (Dutch)
7) Belize 25) Guadeloupe 43) St Martin (French)
8) Bolivia 26) Guatemala 44) St Pierre & Miquelon
9) Brazil 27) Guyana 45) St Vincent
10) Canada 28) Haiti 46) Suriname
11) Caribbean NL 29) Honduras 47) Trinidad & Tobago
12) Cayman Islands 30) Jamaica 48) Turks & Caicos Is
13) Chile 31) Martinique 49) United States
14) Colombia 32) Mexico 50) Uruguay
15) Costa Rica 33) Montserrat 51) Venezuela
16) Cuba 34) Nicaragua 52) Virgin Islands (UK)
17) Curaçao 35) Panama 53) Virgin Islands (US)
18) Dominica 36) Paraguay
#? 28
The following information has been given:
Haiti
You can make this change permanent for yourself by appending the line
TZ='America/Port-au-Prince'; export TZ
to the file '.profile' in your home directory; then log out and log in again.
Here is that TZ value again, this time on standard output so that you
can use the /usr/bin/tzselect command in shell scripts:
America/Port-au-Prince
Tenga en cuenta que el comando tzselect anterior mostró la zona horaria adecuada
para Haití.
438 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 11 | Análisis y almacenamiento de registros
2.3. Use el comando timedatectl para verificar que la zona horaria se haya actualizado a
America/Port-au-Prince.
3. Configure el servicio chronyd en servera para sincronizar la hora del sistema con la
fuente de hora de NTP classroom.example.com.
...output omitted...
server classroom.example.com iburst
...output omitted...
4. Verifique que los ajustes de hora en servera estén configurados actualmente para
sincronizarse con la fuente de hora de classroom.example.com en el entorno del aula.
4.1. Use el comando timedatectl para verificar que servera tenga actualmente
habilitada la sincronización horaria.
RH199-RHEL8.0-es-1-20190531 439
CAPÍTULO 11 | Análisis y almacenamiento de registros
NOTA
Si en el resultado anterior se muestra que el reloj no está sincronizado, espere dos
segundos y vuelva a ejecutar el comando timedatectl. La sincronización correcta
de los ajustes de hora con la fuente de hora tarda unos segundos.
4.2. Use el comando chronyc para verificar que el sistema servera esté sincronizando
actualmente sus ajustes de hora con la fuente de hora de classroom.example.com.
.-- Source mode '^' = server, '=' = peer, '#' = local clock.
/ .- Source state '*' = current synced, '+' = combined , '-' = not combined,
| / '?' = unreachable, 'x' = time may be in error, '~' = time too variable.
|| .- xxxx [ yyyy ] +/- zzzz
|| Reachability register (octal) -. | xxxx = adjusted offset,
|| Log2(Polling interval) --. | | yyyy = measured offset,
|| \ | | zzzz = estimated error.
|| | | \
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
^* classroom.example.com 2 6 377 62 +105us[ +143us] +/- 14ms
Finalizar
En workstation, ejecute lab log-maintain finish para terminar este ejercicio. Este script
garantiza que la zona horaria original se restaure junto con todos los ajustes de hora originales en
servera.
440 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 11 | Análisis y almacenamiento de registros
TRABAJO DE LABORATORIO
ANÁLISIS Y ALMACENAMIENTO DE
REGISTROS
LISTA DE VERIFICACIÓN DE RENDIMIENTO
En este trabajo de laboratorio, cambiará la zona horaria en un servidor existente y
configurará un nuevo archivo de registro para todos los eventos relacionados con fallas de
autenticación.
RESULTADOS
Usted deberá ser capaz de realizar lo siguiente:
• Configurar un nuevo archivo de registro para almacenar todos los mensajes relacionados
con fallas de autenticación.
ANDES DE COMENZAR
Inicie sesión en workstation como student con la contraseña student.
Evaluación
En workstation, ejecute el comando lab log-review grade para confirmar que ha
realizado correctamente este ejercicio.
RH199-RHEL8.0-es-1-20190531 441
CAPÍTULO 11 | Análisis y almacenamiento de registros
Finalizar
En workstation, ejecute lab log-review finish para terminar este trabajo de laboratorio.
Este script garantiza que la zona horaria original se restaure junto con todos los ajustes de hora
originales en serverb.
442 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 11 | Análisis y almacenamiento de registros
SOLUCIÓN
ANÁLISIS Y ALMACENAMIENTO DE
REGISTROS
LISTA DE VERIFICACIÓN DE RENDIMIENTO
En este trabajo de laboratorio, cambiará la zona horaria en un servidor existente y
configurará un nuevo archivo de registro para todos los eventos relacionados con fallas de
autenticación.
RESULTADOS
Usted deberá ser capaz de realizar lo siguiente:
• Configurar un nuevo archivo de registro para almacenar todos los mensajes relacionados
con fallas de autenticación.
ANDES DE COMENZAR
Inicie sesión en workstation como student con la contraseña student.
2. Suponga que el sistema serverb se ha reubicado en Jamaica y, por lo tanto, usted debe
actualizar la zona horaria según corresponda. Use sudo para elevar los privilegios del usuario
student mientras ejecuta el comando timedatectl para actualizar la zona horaria. Use la
contraseña student si se le solicita una.
2.1. Use el comando timedatectl para ver las zonas horarias disponibles y determinar la
zona horaria adecuada para Jamaica.
2.2. Use el comando timedatectl para establecer la zona horaria del sistema serverb de
América/Jamaica.
RH199-RHEL8.0-es-1-20190531 443
CAPÍTULO 11 | Análisis y almacenamiento de registros
2.3. Use el comando timedatectl para verificar que la zona horaria se haya establecido
correctamente en América/Jamaica.
3. Visualice todos los eventos de registro registrados en los últimos 30 minutos en serverb.
3.1. Use el comando date para determinar el período para ver las entradas del diario
(journal).
3.2. Use el comando journalctl con las opciones --since y --until para visualizar
todos los eventos de registro registrados en los últimos 30 minutos en serverb. Para
salir de journalctl, presione q.
444 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 11 | Análisis y almacenamiento de registros
authpriv.alert /var/log/auth-errors
4.2. Reinicie el servicio rsyslog para que se apliquen los cambios en el archivo de
configuración.
4.3. Use el comando logger para escribir un nuevo mensaje de registro en el archivo /var/
log/auth-errors. Aplique la opción -p authpriv.alert para generar un mensaje
de registro relevante para los problemas de autenticación y seguridad.
Evaluación
En workstation, ejecute el comando lab log-review grade para confirmar que ha
realizado correctamente este ejercicio.
Finalizar
En workstation, ejecute lab log-review finish para terminar este trabajo de laboratorio.
Este script garantiza que la zona horaria original se restaure junto con todos los ajustes de hora
originales en serverb.
RH199-RHEL8.0-es-1-20190531 445
CAPÍTULO 11 | Análisis y almacenamiento de registros
446 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 11 | Análisis y almacenamiento de registros
RESUMEN
En este capítulo, aprendió lo siguiente:
• La rotación periódica de los archivos de registro evita que llenen el espacio del sistema de
archivos.
• El servicio chronyd ayuda a sincronizar los ajustes de hora con una fuente de hora.
RH199-RHEL8.0-es-1-20190531 447
448 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 12
IMPLEMENTACIÓN DE
FUNCIONES AVANZADAS DE
ALMACENAMIENTO
META Crear y administrar volúmenes lógicos que
contengan sistemas de archivos y espacios
de intercambio desde la línea de comandos, y
configurar características de almacenamiento
avanzado con Stratis y VDO.
RH199-RHEL8.0-es-1-20190531 449
CAPÍTULO 12 | Implementación de funciones avanzadas de almacenamiento
OBJETIVOS
Tras finalizar esta sección, usted deberá ser capaz de realizar lo siguiente:
CONCEPTOS DE LA ADMINISTRACIÓN DE
VOLÚMENES LÓGICOS (LVM)
Los volúmenes lógicos y la administración de volúmenes lógicos facilitan la administración del
espacio del disco. Si un sistema de archivos que aloja un volumen lógico necesita más espacio, se
puede asignar a su volumen lógico del espacio libre en su grupo de volúmenes y se puede cambiar
el tamaño del sistema de archivos. Si un disco comienza a fallar, se puede registrar un disco de
reemplazo como volumen físico con el grupo de volúmenes y las extensiones del volumen lógico
se pueden migrar al disco nuevo.
Definiciones de LVM
Dispositivos físicos
Los dispositivos físicos son los dispositivos de almacenamiento usados para guardar los
datos almacenados en un volumen lógico. Estos son dispositivos en bloques y podrían
ser particiones de discos, discos enteros, arreglos RAID o discos SAN. Un dispositivo
debe inicializarse como un volumen físico de LVM para poder ser usado con LVM. Todo el
dispositivo se usará como un volumen físico.
450 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 12 | Implementación de funciones avanzadas de almacenamiento
IMPORTANTE
En los siguientes ejemplos, se usa el dispositivo vdb y sus particiones para ilustrar
comandos LVM. En la práctica, estos ejemplos deberían usar los dispositivos
correctos para el disco y las particiones del disco usados por el sistema. Use
los comandos lsblk, blkid o cat /proc/partitions para identificar los
dispositivos en su sistema.
RH199-RHEL8.0-es-1-20190531 451
CAPÍTULO 12 | Implementación de funciones avanzadas de almacenamiento
Use parted, gdisk o fdisk para crear una nueva partición para usar con LVM. Configure
siempre el tipo de partición en Linux LVM (LVM Linux) en las particiones de LVM; use 0x8e para
particiones MBR. Si es necesario, use partprobe para registrar la nueva partición con el kernel.
Use pvcreate para etiquetar la partición (u otro dispositivo físico) como volumen físico. El
comando pvcreate divide el volumen físico en extensiones físicas (PE) de un tamaño fijo, por
ejemplo, bloques de 4 MiB. Puede etiquetar varios dispositivos al mismo tiempo con nombres de
dispositivos delimitados por espacios como argumentos para pvcreate.
Esto etiqueta los dispositivos /dev/vdb2 y /dev/vdb1 como PV, listos para la asignación en un
grupo de volúmenes.
Use vgcreate para recopilar uno o más volúmenes físicos en un grupo de volúmenes. Un grupo
de volúmenes es el equivalente funcional de un disco duro; creará volúmenes lógicos a partir del
pool (conjunto) de extensiones físicas libres en el grupo de volúmenes.
Esto crea un VG denominado vg01 que tiene el tamaño combinado, en unidades de PE, de los dos
PV: /dev/vdb2 y /dev/vdb1.
Un VG solo necesita crearse si no existe ninguno. Se pueden crear más VG por motivos
administrativos para administrar el uso de PV y LV. O bien, los VG existentes se pueden ampliar
para alojar nuevos LV cuando sea necesario.
Use lvcreate para crear un nuevo volumen lógico desde las extensiones físicas disponibles en un
grupo de volúmenes. Como mínimo, la línea de comandos de lvcreate incluye la opción -n para
452 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 12 | Implementación de funciones avanzadas de almacenamiento
configurar el nombre del LV, la opción -L para establecer el tamaño del LV en bytes o la opción -
l para establecer el tamaño del LV en extensiones y el nombre del grupo de volúmenes que aloja
este volumen lógico.
Esto crea un LV denominado lv01, con un tamaño de 700 MiB, en el VG vg01. Este comando
fallará si el grupo de volúmenes no tiene una cantidad suficiente de extensiones físicas libres
para el tamaño solicitado. También tenga en cuenta que el tamaño se redondeará a un factor del
tamaño de la extensión física si el tamaño no puede coincidir exactamente.
Puede especificar el tamaño con la opción -L, que espera tamaños en bytes, mebibytes
(megabytes binarios, 1048576 bytes), gibibytes (gigabytes binarios), o similar. O puede usar la
opción -l, que espera tamaños especificados como un número de extensiones físicas.
• lvcreate -l 128 : Establece el tamaño del volumen lógico a exactamente 128 extensiones.
El número total de bytes depende del tamaño del bloque de extensiones físicas en el volumen
físico subyacente.
IMPORTANTE
Diferentes herramientas muestran el nombre del volumen lógico, ya sea usando
el nombre tradicional /dev/vgname/lvname o el nombre del mapeador de
dispositivos del kernel /dev/mapper/vgname-lvname.
Use mkfs para crear un sistema de archivos XFS en el nuevo volumen lógico. O cree un sistema de
archivos basado en su sistema de archivos preferido, por ejemplo, ext4.
Para hacer que el sistema de archivos esté disponible después de los reinicios, realice los
siguientes pasos:
NOTA
El montaje de un volumen lógico por nombre es equivalente al montaje por UUID
porque LVM encuentra sus volúmenes físicos basados en un UUID incluso si
inicialmente los agrega al grupo de volúmenes por nombre.
RH199-RHEL8.0-es-1-20190531 453
CAPÍTULO 12 | Implementación de funciones avanzadas de almacenamiento
• Ejecute mount /mnt/data para montar el sistema de archivos que acaba de agregar en /
etc/fstab.
Traslade todos los datos que se deben conservar a otro sistema de archivos. Use el comando
umount para desmontar el sistema de archivos y, luego, eliminar cualquier entrada de /etc/
fstab asociada a este sistema de archivos.
ADVERTENCIA
Al eliminar un volumen lógico, se destruyen todos los datos almacenados en este.
Realice una copia de seguridad de los datos o trasládelos antes de eliminar el
volumen lógico.
Desmonte el sistema de archivos del LV antes de ejecutar este comando. El comando solicita
confirmación antes de eliminar el LV.
Las extensiones físicas del LV se liberan y están disponibles para ser asignadas a LV existentes o
nuevos en el grupo de volúmenes.
Los volúmenes físicos del VG se liberan y están disponibles para ser asignados a VG existentes o
nuevos en el sistema.
Use pvremove para eliminar volúmenes físicos que ya no son necesarios. Use una lista delimitada
por espacios de dispositivos del PV para eliminar más de uno a la vez. Este comando elimina los
metadatos del PV de la partición (o disco). Ahora, la partición está libre para una nueva asignación
o para ser formateada.
454 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 12 | Implementación de funciones avanzadas de almacenamiento
Es también el factor de multiplicación que se usa en el cálculo del tamaño de cualquier valor
informado en las unidades de PE, como Free PE (PE libre); por ejemplo: 26 PE x 4 MiB (el
PE Size [Tamaño de PE]) da 104 MiB de espacio libre. El tamaño de un volumen lógico se
redondea a un factor de unidades de PE.
Grupos de volúmenes
Use vgdisplay para visualizar información sobre grupos de volúmenes (GV). Para mostrar
información sobre todos los grupos de volúmenes, use el comando sin argumentos. Para mostrar
información sobre un grupo de volúmenes específico, pase el nombre del VG al comando.
RH199-RHEL8.0-es-1-20190531 455
CAPÍTULO 12 | Implementación de funciones avanzadas de almacenamiento
Cur PV 2
Act PV 2
VG Size 1016.00 MiB
PE Size 4.00 MiB
Total PE 254
Alloc PE / Size 175 / 700.00 MiB
Free PE / Size 79 / 316.00 MiB
VG UUID 3snNw3-CF71-CcYG-Llk1-p6EY-rHEv-xfUSez
Volúmenes lógicos
Use lvdisplay para visualizar información sobre volúmenes lógicos (LV). Si no proporciona
ningún argumento al comando muestra información sobre todos los LV, si proporciona el nombre
de un dispositivo del LV como un argumento, el comando muestra información sobre ese
dispositivo específico.
LV Path (Ruta de LV) muestra el nombre del dispositivo del volumen lógico.
Es posible que algunas herramientas informen el nombre del dispositivo como /dev/
mapper/vgname-lvname; ambos representan el mismo LV.
VG Name (Nombre de VG) muestra el grupo de volúmenes desde donde se asigna el LV.
LV Size (Tamaño de LV) muestra el tamaño total del LV. Use herramientas del sistema de
archivos para determinar el espacio libre y el espacio usado para el almacenamiento de datos.
Current LE (LE actual) muestra la cantidad de extensiones lógicas usadas por este LV. Una
LE generalmente se mapea a una extensión física del VG y, por lo tanto, al volumen físico.
456 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 12 | Implementación de funciones avanzadas de almacenamiento
REFERENCIAS
Páginas del manual: lvm(8), pvcreate(8), vgcreate(8), lvcreate(8),
pvremove(8), vgremove(8), lvremove(8), pvdisplay(8), vgdisplay(8),
lvdisplay(8), fdisk(8), gdisk(8), parted(8), partprobe(8) y mkfs(8)
RH199-RHEL8.0-es-1-20190531 457
CAPÍTULO 12 | Implementación de funciones avanzadas de almacenamiento
EJERCICIO GUIADO
RESULTADOS
Usted deberá ser capaz de realizar lo siguiente:
ANDES DE COMENZAR
Inicie sesión en workstation como student con la contraseña student.
1. Use el comando ssh para iniciar sesión en servera como el usuario student. Los
sistemas se configuran para que usen claves SSH para la autenticación, por lo que no se
necesita una contraseña.
2. Use el comando sudo -i para cambiar al usuario root. La contraseña del usuario
student es student.
3.1. Use parted para crear dos particiones de 256 MiB y configúrelas con el tipo Linux
LVM.
458 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 12 | Implementación de funciones avanzadas de almacenamiento
3.2. Use udevadm settle para que el sistema registre las nuevas particiones.
4. Use pvcreate para agregar las dos nuevas particiones como PV.
RH199-RHEL8.0-es-1-20190531 459
CAPÍTULO 12 | Implementación de funciones avanzadas de almacenamiento
8.1. Como prueba final, copie algunos archivos en /data y verifique cuántos se copiaron.
Verificará que aún tenga la misma cantidad de archivos en el siguiente ejercicio guiado.
8.2. parted /dev/vdb print muestra las particiones que existen en /dev/vdb.
8.3. pvdisplay muestra información sobre cada uno de los volúmenes físicos. De forma
opcional, incluya el nombre del dispositivo para limitar detalles a un PV específico.
460 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 12 | Implementación de funciones avanzadas de almacenamiento
Hay 63 PE, de las cuales 26 están libres para la asignación para LV en el futuro y 37
están asignadas actualmente a LV. Esto se traduce a los siguientes valores de MiB:
Revise los valores de LV Path (Ruta de LV), LV Name (Nombre de LV), VG Name
(Nombre de VG), LV Status (Estado de LV), LV Size (Tamaño de LV) y Current
LE (LE actual) (extensiones lógicas, que se mapean a extensiones físicas).
8.6. El comando mount muestra todos los dispositivos montados y cualquier opción de
montaje. Debe incluir /dev/servera_01_vg/servera_01_lv.
NOTA
Muchas herramientas informan en cambio el nombre del mapeador de dispositivos,
/dev/mapper/servera_01_vg-servera_01_lv; es el mismo volumen lógico.
8.7. df -h muestra espacio libre legible para el ser humano. De forma opcional, incluya el
punto de montaje para limitar detalles a ese sistema de archivos.
Estos valores, permitidos para metadatos del sistema de archivos, son los esperados.
RH199-RHEL8.0-es-1-20190531 461
CAPÍTULO 12 | Implementación de funciones avanzadas de almacenamiento
Finalizar
En workstation, ejecute el script lab lvm-creating finish para terminar este ejercicio.
Este script elimina el almacenamiento configurado en servera durante el ejercicio.
462 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 12 | Implementación de funciones avanzadas de almacenamiento
OBJETIVOS
Tras finalizar esta sección, usted deberá ser capaz de realizar lo siguiente:
• Ampliar un grupo de volúmenes (VG) con pvcreate y vgextend, y usar vgdisplay para
verificar la salida.
Puede eliminar los volúmenes físicos no usados de un grupo de volúmenes. Esto se denomina
reducción del grupo de volúmenes. Primero, use el comando pvmove para trasladar datos desde
extensiones de un volumen físico hasta extensiones de otros volúmenes físicos en el grupo
de volúmenes. De esta manera, se puede agregar un nuevo disco a un grupo de volúmenes
existentes, se pueden trasladar los datos desde un disco más antiguo o más lento hacia el disco
nuevo y se puede eliminar el disco viejo del grupo de volúmenes. Puede hacer esto mientras los
volúmenes lógicos del grupo de volúmenes están en uso.
IMPORTANTE
En los siguientes ejemplos, se usa el dispositivo vdb y sus particiones para ilustrar
comandos LVM. En la práctica, use los dispositivos apropiados para el disco y las
particiones de disco en su propio sistema.
Al igual que en la creación de un nuevo grupo de volúmenes, debe crear y preparar una nueva
partición para usar como volumen físico si no hay ninguna ya preparada.
RH199-RHEL8.0-es-1-20190531 463
CAPÍTULO 12 | Implementación de funciones avanzadas de almacenamiento
Use vgextend para agregar el nuevo volumen físico al grupo de volúmenes. Use el nombre del
VG y el nombre del dispositivo del PV como argumentos para vgextend.
Use vgdisplay para confirmar que las extensiones físicas adicionales estén disponibles. Revise el
Free PE / Size (PE libre/tamaño) en la salida. No debe ser cero.
Use pvmove PV_DEVICE_NAME para reubicar cualquier extensión física del volumen físico que
desee eliminar a otros volúmenes físicos en el grupo de volúmenes. Los otros volúmenes físicos
deben tener una cantidad suficiente de extensiones libres para aceptar este traslado. Esto solo es
posible si hay suficientes extensiones libres en el VG y si todas corresponden a otros PV.
Este comando traslada las PE desde /dev/vdb3 a otros PV con PE libres en el mismo VG.
ADVERTENCIA
Antes de usar pvmove, efectúe una copia de seguridad de los datos en los
volúmenes lógicos del grupo de volúmenes. Una pérdida de energía imprevista
durante la operación puede hacer que el grupo de volúmenes quede en un estado
incoherente. Esto provocaría la pérdida de datos en volúmenes lógicos en el grupo
de volúmenes.
464 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 12 | Implementación de funciones avanzadas de almacenamiento
Esto elimina el PV /dev/vdb3 del VG vg01 y ahora puede agregarse a otro VG. O se puede usar
pvremove para dejar de usar el dispositivo como un PV de forma permanente.
Use vgdisplay para verificar que haya suficientes extensiones físicas disponibles:
Revise el Free PE / Size (PE libre/tamaño) en la salida. Confirme que el grupo de volúmenes
tenga suficiente espacio libre para la extensión del LV. Si no hay suficiente espacio disponible,
amplíe el grupo de volúmenes como corresponda. Consulte “Ampliación y reducción de un grupo
de volúmenes”.
Esto aumenta el tamaño del volumen lógico lv01 en 300 MiB. Observe el signo "(+)" delante del
tamaño: significa agregar este valor al tamaño existente; de lo contrario, el valor define el tamaño
final del LV.
Al igual que con lvcreate, existen diferentes métodos para especificar el tamaño: la opción -
l espera la cantidad de extensiones físicas como argumento. La opción -L espera tamaños en
bytes, mebibytes, gibibytes y similares.
Ampliación de ejemplos de LV
COMANDO RESULTADOS
RH199-RHEL8.0-es-1-20190531 465
CAPÍTULO 12 | Implementación de funciones avanzadas de almacenamiento
COMANDO RESULTADOS
lvextend -l +128 Agrega 128 extensiones al tamaño actual del volumen lógico.
Use xfs_growfs mountpoint para ampliar el sistema de archivos para que ocupe el
LV ampliado. El sistema de archivos de destino se debe montar cuando use el comando
xfs_growfs. Puede seguir usando el sistema de archivos mientras se está cambiando el tamaño.
NOTA
Un error común es ejecutar lvextend y olvidarse de ejecutar xfs_growfs. Una
alternativa a ejecutar estos pasos de forma consecutiva es incluir la opción -r con
el comando lvextend. Esto modifica el tamaño del sistema de archivos después
de que el LV se amplíe, usando fsadm(8). Funciona con varios sistemas de archivos
diferentes.
df -h /mountpoint.
Use vgdisplay VGNAME para verificar que el grupo de volúmenes tenga una cantidad suficiente
de extensiones físicas disponibles.
Use resize2fs /dev/vgname/lvname para ampliar el sistema de archivos para que ocupe el
nuevo LV ampliado. El sistema de archivos se puede montar y usar mientras se ejecuta el comando
de extensión. Puede incluir la opción -p para monitorear el progreso de la operación de cambio de
tamaño.
466 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 12 | Implementación de funciones avanzadas de almacenamiento
NOTA
La principal diferencia entre xfs_growfs y resize2fs es el argumento que se
pasó para identificar el sistema de archivos. xfs_growfs toma el punto de montaje
y resize2fs toma el nombre del volumen lógico.
Use vgdisplay vgname para verificar que haya una cantidad suficiente de extensiones físicas
disponibles.
ADVERTENCIA
Su sistema debe tener suficiente espacio libre en la memoria o en el espacio de
intercambio para aceptar cualquier cosa que deba paginar cuando el espacio de
intercambio en el volumen lógico está desactivado.
REFERENCIAS
Páginas del manual: lvm(8), pvcreate(8), pvmove(8), vgdisplay(8),
vgextend(8), vgreduce(8), vgdisplay(8), vgextend(8), vgreduce(8),
lvextend(8), fdisk(8), gdisk(8), parted(8), partprobe(8), xfs_growfs(8)
y resize2fs(8) swapoff(8) swapon(8) mkswap(8)
RH199-RHEL8.0-es-1-20190531 467
CAPÍTULO 12 | Implementación de funciones avanzadas de almacenamiento
EJERCICIO GUIADO
RESULTADOS
Usted deberá ser capaz de realizar lo siguiente:
• Cambiar el tamaño del volumen lógico mientras el sistema de archivos aún está montado y
en uso.
ANDES DE COMENZAR
Inicie sesión en workstation como student con la contraseña student.
1. Use el comando ssh para iniciar sesión en servera como el usuario student.
3. Use vgdisplay para determinar si el VG tiene suficiente espacio libre para ampliar el LV
hasta un tamaño total de 700 MiB.
468 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 12 | Implementación de funciones avanzadas de almacenamiento
Total PE 126
Alloc PE / Size 100 / 400.00 MiB
Free PE / Size 26 / 104.00 MiB
VG UUID OBBAtU-2nBS-4SW1-khmF-yJzi-z7bD-DpCrAV
Hay solo 104 MiB disponibles (26 PE x extensiones de 4 MiB) y necesita al menos 300 MiB
para tener 700 MiB en total. Necesita ampliar el VG.
Para una posterior comparación, use df para registrar el espacio libre en el disco actual:
4.1. Use parted para crear una partición adicional de 512 MiB y configúrela con el tipo
Linux LVM.
4.2. Use udevadm settle para que el sistema registre la nueva partición.
RH199-RHEL8.0-es-1-20190531 469
CAPÍTULO 12 | Implementación de funciones avanzadas de almacenamiento
NOTA
El ejemplo especifica el tamaño exacto para crear el LV final, pero podría haber
especificado la cantidad de espacio adicional deseada:
8. Use xfs_growfs para ampliar el sistema de archivos XFS hasta el resto del espacio libre
del LV.
9. Use df y ls | wc para revisar el nuevo tamaño del sistema de archivos y verifique que los
archivos existentes anteriormente aún estén presentes.
470 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 12 | Implementación de funciones avanzadas de almacenamiento
Finalizar
En workstation, ejecute el comando lab lvm-extending finish para terminar este
ejercicio. Este script elimina el almacenamiento configurado en servera durante el ejercicio.
RH199-RHEL8.0-es-1-20190531 471
CAPÍTULO 12 | Implementación de funciones avanzadas de almacenamiento
GESTIÓN DE ALMACENAMIENTO EN
CAPAS CON STRATIS
OBJETIVOS
Tras completar esta sección, debería ser capaz de administrar múltiples capas de almacenamiento
con la administración de almacenamiento local Stratis.
472 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 12 | Implementación de funciones avanzadas de almacenamiento
Stratis usa metadatos almacenados para reconocer pools (conjuntos) administrados, volúmenes
y sistemas de archivos. Por lo tanto, los sistemas de archivos creados por Stratis nunca deben
ser reformateados ni reconfigurados manualmente; solo deben administrarse con herramientas y
comandos de Stratis. La configuración manual de los sistemas de archivos Stratis podría causar
la pérdida de esos metadatos e impedir que Stratis reconozca los sistemas de archivos que ha
creado.
Puede crear múltiples pools (conjuntos) con diferentes grupos de dispositivos de bloque. Desde
cada pool (conjunto), puede crear uno o más sistemas de archivos. Actualmente, puedes crear
hasta 224 sistemas de archivos por pool (conjunto). En el siguiente diagrama, se ilustra cómo se
posicionan los elementos de la solución de administración de almacenamiento Stratis.
RH199-RHEL8.0-es-1-20190531 473
CAPÍTULO 12 | Implementación de funciones avanzadas de almacenamiento
474 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 12 | Implementación de funciones avanzadas de almacenamiento
• Crear pools (conjuntos) de uno o más dispositivos de bloque con el comando stratis pool
create.
RH199-RHEL8.0-es-1-20190531 475
CAPÍTULO 12 | Implementación de funciones avanzadas de almacenamiento
• Usar el comando stratis pool list para ver la lista de pools (conjuntos) disponibles.
• Usar el comando stratis pool add-data para agregar dispositivos de bloque adicionales a
un pool (conjunto).
• Usar el comando stratis blockdev list para ver los dispositivos de bloque de un pool
(conjunto).
• Usar el comando stratis filesystem create para crear un sistema de archivos dinámico
y flexible de un pool (conjunto).
• Stratis permite la captura de instantáneas del sistema de archivos con el comando stratis
filesystem snapshot. Las capturas de instantáneas son independientes de los sistemas de
archivos de origen.
• Usar el comando stratis filesystem list para ver la lista de sistemas de archivos
disponibles.
Para asegurarse de que los sistemas de archivos Stratis se monten de forma persistente, edite
/etc/fstab y especifique los detalles del sistema de archivos. En el siguiente comando, se
muestra el UUID del sistema de archivos que debe usar en /etc/fstab para identificar el sistema
de archivos.
476 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 12 | Implementación de funciones avanzadas de almacenamiento
NOTA
Si no usa la opción de montaje x-systemd.requires=stratisd.service
en /etc/fstab para el sistema de archivos Stratis, la máquina arrancará en
emergency.target en el siguiente reinicio.
REFERENCIAS
Para obtener más información, consulte el capítulo Gestión de almacenamiento local
en capas con Stratis de la Guía de configuración y administración de sistemas de
archivos con Red Hat Enterprise Linux 8 en
https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html-
single/configuring_and_managing_file_systems/
Almacenamiento de Stratis
https://stratis-storage.github.io/
RH199-RHEL8.0-es-1-20190531 477
CAPÍTULO 12 | Implementación de funciones avanzadas de almacenamiento
EJERCICIO GUIADO
GESTIÓN DE ALMACENAMIENTO EN
CAPAS CON STRATIS
En este ejercicio, usará la solución de administración de almacenamiento Stratis para crear
pools (conjuntos), volúmenes y sistemas de archivos que funcionan en cooperación.
RESULTADOS
Usted deberá ser capaz de realizar lo siguiente:
• Verificar que los volúmenes Stratis crezcan dinámicamente para admitir crecimiento de
datos en tiempo real.
ANDES DE COMENZAR
Inicie sesión en workstation como student con la contraseña student.
478 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 12 | Implementación de funciones avanzadas de almacenamiento
RH199-RHEL8.0-es-1-20190531 479
CAPÍTULO 12 | Implementación de funciones avanzadas de almacenamiento
7.1. Cree el sistema de archivos con aprovisionamiento ligero (thin provisioned) stratis-
filesystem1 en stratispool1 con el comando stratis filesystem create.
Puede tardar hasta un minuto para que se complete el comando.
480 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 12 | Implementación de funciones avanzadas de almacenamiento
RH199-RHEL8.0-es-1-20190531 481
CAPÍTULO 12 | Implementación de funciones avanzadas de almacenamiento
9.6. Confirme que aún puede acceder al archivo que eliminó de stratis-filesystem1
con la instantánea stratis-filesystem1-snap.
11. Elimine el sistema de archivos con aprovisionamiento ligero (thin provisioned) stratis-
filesystem1 y su instantánea stratis-filesystem1-snap del sistema.
482 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 12 | Implementación de funciones avanzadas de almacenamiento
Finalizar
En workstation, ejecute lab advstorage-stratis finish para terminar este ejercicio.
Este script elimina las particiones y los archivos creados durante el ejercicio para garantizar que el
entorno quede limpio.
RH199-RHEL8.0-es-1-20190531 483
CAPÍTULO 12 | Implementación de funciones avanzadas de almacenamiento
COMPRESIÓN Y DESDUPLICACIÓN DE
ALMACENAMIENTO CON VDO
OBJETIVOS
Tras completar esta sección, debería ser capaz de optimizar el uso del espacio de almacenamiento
con VDO para comprimir y desduplicar datos en dispositivos de almacenamiento.
VDO aplica tres fases a los datos en el siguiente orden para reducir la huella en los dispositivos de
almacenamiento:
1. La eliminación de bloque cero filtra los bloques de datos que contienen solo ceros (0) y
registra la información de esos bloques solo en los metadatos. Los bloques de datos distintos
de cero se pasan a la siguiente fase de procesamiento. Esta fase habilita la función de
aprovisionamiento ligero (thin provisioning) en los dispositivos de VDO.
2. La desduplicación elimina los bloques de datos redundantes. Cuando crea múltiples copias
de los mismos datos, VDO detecta los bloques de datos duplicados y actualiza los metadatos
para usar esos bloques duplicados como referencias al bloque de datos original sin crear
bloques de datos redundantes. El módulo del kernel del servicio de desduplicación universal
484 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 12 | Implementación de funciones avanzadas de almacenamiento
(UDS) comprueba la redundancia de los datos a través de los metadatos que mantiene. Este
módulo de kernel se envía como parte del VDO.
3. La compresión es la última fase. El módulo de kernel kvdo comprime los bloques de datos con
la compresión LZ4 y los agrupa en bloques de 4 KB.
Para crear un volumen de VDO, especifique un dispositivo de bloque y el nombre del dispositivo
lógico que VDO presenta al usuario. O puede especificar el tamaño lógico del volumen de VDO.
El tamaño lógico del volumen de VDO puede ser mayor que el tamaño físico del dispositivo de
bloque real.
Dado que los volúmenes de VDO se aprovisionan de forma ligera (thin provisioned), los usuarios
solo pueden ver el espacio lógico en uso y desconocen el espacio físico real disponible. Si
no especifica el tamaño lógico al crear el volumen, VDO asume el tamaño físico real como el
tamaño lógico del volumen. Esta relación 1:1 entre la asignación del tamaño lógico y el tamaño
físico proporciona un mejor rendimiento, pero también un uso menos eficiente del espacio de
almacenamiento. De acuerdo con los requisitos de su infraestructura, debe priorizar el rendimiento
o la eficiencia del espacio.
Cuando el tamaño lógico de un volumen de VDO es mayor que el tamaño físico real, debe
monitorear de forma proactiva las estadísticas del volumen para ver el uso real con el comando
vdostats --verbose.
Habilitación de VDO
Instale los paquetes vdo y kmod-kvdo para habilitar VDO en el sistema.
Si omite el tamaño lógico, el volumen de VDO resultante tiene el mismo tamaño que su dispositivo
físico.
Cuando el volumen de VDO está en su lugar, puede formatearlo con el tipo de sistema de archivos
deseado y montarlo conforme a la jerarquía del sistema de archivos en su sistema.
RH199-RHEL8.0-es-1-20190531 485
CAPÍTULO 12 | Implementación de funciones avanzadas de almacenamiento
El comando vdo list muestra la lista de volúmenes de VDO que se han iniciado actualmente.
Puede iniciar y detener un volumen de VDO con los comandos vdo start y vdo stop,
respectivamente.
REFERENCIAS
Para obtener más información, consulte el capítulo Cómo empezar con VDO
de la Guía de desduplicación y compresión de almacenamiento de Red Hat
Enterprise Linux 8 en
https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html-
single/deduplicating_and_compressing_storage/
486 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 12 | Implementación de funciones avanzadas de almacenamiento
EJERCICIO GUIADO
COMPRESIÓN Y DESDUPLICACIÓN DE
ALMACENAMIENTO CON VDO
En este ejercicio, creará un volumen de VDO, lo formateará con un sistema de archivos,
lo montará, almacenará datos en él e investigará el impacto de la compresión y la
desduplicación en el espacio de almacenamiento realmente usado.
RESULTADOS
Usted deberá ser capaz de realizar lo siguiente:
• Crear un volumen con el optimizador de datos virtual, formatearlo con un tipo de sistema
de archivos y montar un sistema de archivos en él.
ANDES DE COMENZAR
Inicie sesión en workstation como student con la contraseña student.
2. Cree el volumen de VDO vdo1, con el dispositivo /dev/vdd. Establezca su tamaño lógico
en 50 GB.
2.2. Confirme que el paquete vdo esté instalado con el comando rpm.
RH199-RHEL8.0-es-1-20190531 487
CAPÍTULO 12 | Implementación de funciones avanzadas de almacenamiento
2.4. Verifique la disponibilidad del volumen vdo1 con el comando vdo list.
3.1. Use grep para buscar las líneas que contienen la cadena desduplicación en la
salida del comando vdo status --name=vdo1.
3.2. Use grep para buscar las líneas que contienen la cadena compresión en la salida del
comando vdo status --name=vdo1.
4. Asigne al volumen vdo1 el formato de tipo de sistema de archivos XFS y móntelo en /mnt/
vdo1.
4.1. Asigne al volumen vdo1 el formato del sistema de archivos XFS con el comando mkfs.
4.5. Verifique que el volumen vdo1 esté correctamente montado con el comando mount.
488 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 12 | Implementación de funciones avanzadas de almacenamiento
5.1. Vea las estadísticas iniciales y el estado del volumen con el comando vdostats.
Observe que 3 GB del volumen ya están en uso porque cuando se crea, el volumen
VDO reserva 3-4 GB para sí mismo. También observe que el valor 99% en el campo
Space saving% (% de ahorro de espacio) indica que no ha creado ningún contenido
hasta el momento en el volumen, lo que contribuye a todo el espacio del volumen
guardado.
Observe que el valor del campo Used (Usado) aumentó de 3,0G a 3,4G porque copió
un archivo en el volumen, y eso ocupa un poco de espacio. Además, observe que el
valor del campo Space saving% (% de ahorro de espacio) disminuyó de 99% a 5%
porque inicialmente no había contenido en el volumen, lo que contribuía al poco uso
del espacio del volumen y al gran ahorro de espacio del volumen hasta que creó un
archivo. El ahorro de espacio del volumen es considerablemente bajo porque creó una
copia única del archivo en el volumen y no hay nada que desduplicar.
RH199-RHEL8.0-es-1-20190531 489
CAPÍTULO 12 | Implementación de funciones avanzadas de almacenamiento
Finalizar
En workstation, ejecute lab advstorage-vdo finish para terminar este ejercicio. Este
script elimina los archivos creados durante el ejercicio para garantizar que el entorno quede limpio.
490 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 12 | Implementación de funciones avanzadas de almacenamiento
TRABAJO DE LABORATORIO
IMPLEMENTACIÓN DE FUNCIONES
AVANZADAS DE ALMACENAMIENTO
En este ejercicio, utilizará la solución de administración de almacenamiento Stratis para crear
sistemas de archivos que crecen para adaptarse a las crecientes demandas de datos, y el
optimizador de datos virtual para crear volúmenes para la utilización eficiente del espacio de
almacenamiento.
RESULTADOS
Usted deberá ser capaz de realizar lo siguiente:
• Verificar que los volúmenes Stratis crezcan dinámicamente para admitir crecimiento de
datos en tiempo real.
ANDES DE COMENZAR
Inicie sesión en workstation como student con la contraseña student.
RH199-RHEL8.0-es-1-20190531 491
CAPÍTULO 12 | Implementación de funciones avanzadas de almacenamiento
labstratisvol para que persista tras los reinicios. Cree un archivo denominado labfile1
que contenga el texto Hello World! (¡Hola, mundo!) en el sistema de archivos labfs. No
olvide usar la opción de montaje x-systemd. requires=stratisd.service en /etc/
fstab.
8. Verifique que el sistema de archivos con aprovisionamiento ligero (thin provisioned) labfs
crece dinámicamente a medida que crecen los datos en el sistema de archivos.
9. Cree una instantánea denominada labfs-snap del sistema de archivos labfs. La
instantánea le permite acceder a cualquier archivo que se elimina de labfs.
10. Cree el volumen de VDO labvdo con el dispositivo /dev/vdd. Establezca su tamaño lógico
en 50 GB.
11. Monte el volumen labvdo en /labvdovol con el sistema de archivos XFS para
que persista tras los reinicios. No olvide usar la opción de montaje x-systemd.
requires=vdo.service en /etc/fstab.
12. Cree tres copias del archivo denominado /root/install.img en el volumen labvdo.
Compare las estadísticas del volumen para verificar la desduplicación y la compresión de
datos que tienen lugar en el volumen.
Evaluación
En workstation, ejecute el comando lab advstorage-review grade para confirmar que ha
realizado correctamente este ejercicio.
Finalizar
En workstation, ejecute lab advstorage-review finish para terminar este ejercicio.
Este script elimina las particiones y los archivos creados durante el ejercicio para garantizar que el
entorno quede limpio.
492 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 12 | Implementación de funciones avanzadas de almacenamiento
SOLUCIÓN
IMPLEMENTACIÓN DE FUNCIONES
AVANZADAS DE ALMACENAMIENTO
En este ejercicio, utilizará la solución de administración de almacenamiento Stratis para crear
sistemas de archivos que crecen para adaptarse a las crecientes demandas de datos, y el
optimizador de datos virtual para crear volúmenes para la utilización eficiente del espacio de
almacenamiento.
RESULTADOS
Usted deberá ser capaz de realizar lo siguiente:
• Verificar que los volúmenes Stratis crezcan dinámicamente para admitir crecimiento de
datos en tiempo real.
ANDES DE COMENZAR
Inicie sesión en workstation como student con la contraseña student.
RH199-RHEL8.0-es-1-20190531 493
CAPÍTULO 12 | Implementación de funciones avanzadas de almacenamiento
5. Cree un pool (conjunto) de Stratis labpool que contiene el dispositivo de bloque /dev/
vdb.
5.1. Cree el pool (conjunto) de Stratis. labpool con el comando stratis pool create.
6.3. Use el comando stratis blockdev list para mostrar los dispositivos de bloque
que ahora son miembros de labpool.
494 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 12 | Implementación de funciones avanzadas de almacenamiento
labstratisvol para que persista tras los reinicios. Cree un archivo denominado labfile1
que contenga el texto Hello World! (¡Hola, mundo!) en el sistema de archivos labfs. No
olvide usar la opción de montaje x-systemd. requires=stratisd.service en /etc/
fstab.
7.1. Cree el sistema de archivos con aprovisionamiento ligero (thin provisioned) denominado
labfs en labpool con el comando stratis filesystem create. Puede tardar
hasta un minuto para que se complete el comando.
Observe el uso actual de labfs. Este uso del sistema de archivos aumenta a pedido en
los siguientes pasos.
7.4. Edite /etc/fstab para que el sistema de archivos con aprovisionamiento ligero (thin
provisioned) labfs se monte en el momento de arranque. Use el UUID que determinó
en el paso anterior. A continuación se muestra la línea que debe agregar a /etc/fstab.
Puede usar el comando vi /etc/fstab para editar el archivo.
7.6. Monte el sistema de archivos con aprovisionamiento ligero (thin provisioned) labfs con
el comando mount para confirmar que el archivo /etc/fstab contiene las entradas
correspondientes.
RH199-RHEL8.0-es-1-20190531 495
CAPÍTULO 12 | Implementación de funciones avanzadas de almacenamiento
8. Verifique que el sistema de archivos con aprovisionamiento ligero (thin provisioned) labfs
crece dinámicamente a medida que crecen los datos en el sistema de archivos.
8.1. Vea el uso actual de labfs con el comando stratis filesystem list.
8.2. Cree un archivo de 2 GiB en labfs con el comando dd. Puede tardar hasta un minuto
para que se complete el comando.
8.3. Verifique que el uso de labfs ha aumentado con el comando stratis filesystem
list.
9.1. Cree una instantánea de labfs con el comando stratis filesystem snapshot.
Puede tardar hasta un minuto para que se complete el comando.
496 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 12 | Implementación de funciones avanzadas de almacenamiento
9.6. Confirme que aún puede acceder al archivo que eliminó labfs con la instantánea
labfs-snap.
10. Cree el volumen de VDO labvdo con el dispositivo /dev/vdd. Establezca su tamaño lógico
en 50 GB.
11. Monte el volumen labvdo en /labvdovol con el sistema de archivos XFS para
que persista tras los reinicios. No olvide usar la opción de montaje x-systemd.
requires=vdo.service en /etc/fstab.
11.1. Formatee el volumen labvdo con el sistema de archivos XFS con el comando mkfs.
11.5. Edite /etc/fstab para que labvdo se monte en el momento de arranque. Use el UUID
del volumen que determinó en el paso anterior. A continuación se muestra la línea que
debe agregar a /etc/fstab. Puede usar el comando vi /etc/fstab para editar el
archivo.
RH199-RHEL8.0-es-1-20190531 497
CAPÍTULO 12 | Implementación de funciones avanzadas de almacenamiento
11.6. Monte el volumen labvdo con el comando mount para confirmar que el archivo /etc/
fstab contiene las entradas correspondientes.
12. Cree tres copias del archivo denominado /root/install.img en el volumen labvdo.
Compare las estadísticas del volumen para verificar la desduplicación y la compresión de
datos que tienen lugar en el volumen.
12.1. Vea las estadísticas iniciales y el estado del volumen con el comando vdostats.
Observe que 3 GB del volumen ya están en uso porque cuando se crea, el volumen VDO
reserva 3-4 GB para sí mismo. También observe que el valor 99% en el campo Space
saving% (% de ahorro de espacio) indica que no ha creado ningún contenido hasta el
momento en el volumen, lo que contribuye a todo el espacio del volumen guardado.
Observe que el valor del campo Used (Usado) aumentó de 3,0G a 3,4G porque copió
un archivo en el volumen, y eso ocupa un poco de espacio. Además, observe que el valor
del campo Space saving% (% de ahorro de espacio) disminuyó de 99% a 5% porque
inicialmente no había contenido en el volumen, lo que contribuía al poco uso del espacio
del volumen y al gran ahorro de espacio del volumen hasta que creó un archivo allí. El
ahorro de espacio del volumen es bastante bajo porque creó una copia única del archivo
en el volumen y no hay nada que desduplicar.
498 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 12 | Implementación de funciones avanzadas de almacenamiento
NOTA
Nota: Si en un reinicio, serverb no arranca con un prompt de inicio de sesión
regular, sino que indica "Dar la contraseña root para mantenimiento (o presione
Control-D para continuar):" es probable que haya cometido un error en /etc/
fstab. Después de proporcionar la contraseña root de redhat , tendrá que volver
a montar el sistema de archivos raíz como lectura/escritura con:
Evaluación
En workstation, ejecute el comando lab advstorage-review grade para confirmar que ha
realizado correctamente este ejercicio.
Finalizar
En workstation, ejecute lab advstorage-review finish para terminar este ejercicio.
Este script elimina las particiones y los archivos creados durante el ejercicio para garantizar que el
entorno quede limpio.
RH199-RHEL8.0-es-1-20190531 499
CAPÍTULO 12 | Implementación de funciones avanzadas de almacenamiento
RESUMEN
En este capítulo, aprendió lo siguiente:
• Los volúmenes físicos, los grupos de volúmenes y los volúmenes lógicos se administran
mediante diversas herramientas, como pvcreate, vgreduce y lvextend.
• Se puede agregar almacenamiento adicional a los grupos de volúmenes y los volúmenes lógicos
pueden ampliarse de forma dinámica.
• El optimizador de datos virtual (VDO) tiene como objetivo reducir el costo de almacenamiento
de datos.
500 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 13
PROGRAMACIÓN DE TAREAS
FUTURAS
META Programar tareas para que se ejecuten
automáticamente en el futuro
RH199-RHEL8.0-es-1-20190531 501
CAPÍTULO 13 | Programación de tareas futuras
OBJETIVOS
Después de finalizar esta sesión, debe programar comandos para que se ejecuten en una
programación de repetición usando el archivo crontab y directorios del sistema.
Los trabajos recurrentes del sistema se definen en dos ubicaciones: el archivo /etc/crontab
y los archivos dentro del directorio /etc/cron.d/. Siempre debe crear sus archivos crontab
personalizados bajo el directorio /etc/cron.d para programar trabajos recurrentes del sistema.
Coloque el archivo crontab personalizado en /etc/cron.d para evitar que se sobrescriba
si se produce alguna actualización del paquete al proveedor de /etc/crontab, que puede
sobrescribir los contenidos existentes en /etc/crontab. Los paquetes que requieren trabajos
recurrentes del sistema colocan sus archivos crontab en /etc/cron.d/ que contiene las
entradas de trabajo. Los administradores también usan esta ubicación para agrupar trabajos
relacionados en un solo archivo.
El sistema crontab también incluye repositorios para scripts que necesitan ejecutarse cada hora,
día, semana y mes. Estos repositorios son directorios llamados /etc/cron.hourly/, /etc/
cron.daily/, /etc/cron.weekly/ y /etc/cron.monthly/. Una vez más, estos directorios
contienen scripts de shell ejecutables, no archivos crontab.
502 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 13 | Programación de tareas futuras
IMPORTANTE
Recuerde hacer que todos los scripts que coloque en estos directorios sean
ejecutables. Si un script no es ejecutable, no se ejecutará. Para hacer un script
ejecutable, use el chmod +x script_name.
NOTA
En el pasado, un servicio separado llamado anacron se usaba para manejar el
archivo /etc/anacrontab, pero en Red Hat Enterprise Linux 7 y posterior, el
servicio crond regular analiza este archivo.
Hay diferentes archivos en /var/spool/anacron/ para cada uno de los trabajos diarios,
semanales y mensuales para determinar si un trabajo en particular se ha ejecutado. Cuando crond
comienza un trabajo desde /etc/anacrontab, actualiza los sellos de hora de esos archivos.
El mismo sello de hora se usa para determinar cuándo se ejecutó un trabajo por última vez. La
sintaxis de /etc/anacrontab es diferente a la de los archivos de configuración de crontab
regulares. Contiene exactamente cuatro campos por línea, como se detalla a continuación.
El intervalo en días para el trabajo que se ejecuta en una programación de repetición. Este
campo acepta un entero o una macro como su valor. Por ejemplo, la macro @daily es
equivalente al entero 1, lo que significa que el trabajo se ejecuta diariamente. De manera
similar, la macro @weekly es equivalente al entero 7, lo que significa que el trabajo se ejecuta
diariamente.
Cantidad de tiempo que el daemon crond debe esperar antes de iniciar este trabajo.
• Comando (Comando)
El archivo /etc/anacrontab también contiene declaraciones variables del entorno que usan
la sintaxis NAME=value. De especial interés es la variable START_HOURS_RANGE, que especifica
el intervalo de tiempo para que se ejecuten los trabajos. Los trabajos no se inician fuera de este
RH199-RHEL8.0-es-1-20190531 503
CAPÍTULO 13 | Programación de tareas futuras
...output omitted...
[Unit]
Description=Run system activity accounting tool every 10 minutes
[Timer]
OnCalendar=*:00/10
[Install]
WantedBy=sysstat.service
IMPORTANTE
No modifique ningún archivo de configuración de la unidad bajo el directorio /usr/
lib/systemd/system porque cualquier actualización al paquete del proveedor
del archivo de configuración puede anular los cambios de configuración que realizó
en ese archivo. Por lo tanto, haga una copia del archivo de configuración de la
unidad que desea cambiar bajo el directorio /etc/systemd/system y, luego,
modifique la copia para que los cambios de configuración que realice con respecto
a una unidad no se anulen con ninguna actualización del paquete del proveedor.
Si existen dos archivos con el mismo nombre bajo los directorios /usr/lib/
systemd/system y /etc/systemd/system, systemd analiza el archivo bajo el
directorio /etc/systemd/system.
504 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 13 | Programación de tareas futuras
REFERENCIAS
Páginas del manual crontab(5),anacron(8),anacrontab(5), systemd.time(7),
systemd.timer(5) y crond(8)
RH199-RHEL8.0-es-1-20190531 505
CAPÍTULO 13 | Programación de tareas futuras
EJERCICIO GUIADO
RESULTADOS
Usted deberá ser capaz de realizar lo siguiente:
• Programar un trabajo del sistema recurrente para contar el número de usuarios activos
• Actualizar la unidad de temporizador systemd que recopila los datos de actividad del
sistema.
ANDES DE COMENZAR
Inicie sesión en workstation como student con la contraseña student.
3. Programe un trabajo del sistema recurrente que genere un mensaje de registro que indique
la cantidad de usuarios activos actualmente en el sistema. El trabajo debe ejecutarse
diariamente. Puede usar el comando w -h | wc -l para recuperar el número de usuarios
actualmente activos en el sistema. También, use el comando logger para generar el
mensaje de registro.
506 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 13 | Programación de tareas futuras
#!/bin/bash
USERCOUNT=$(w -h | wc -l)
logger "There are currently ${USERCOUNT} active users"
3.2. Use el comando chmod para habilitar el permiso ejecutable (x) en /etc/
cron.daily/usercount.
Complete!
IMPORTANTE
No debe editar archivos bajo el directorio /usr/lib/systemd. Con systemd,
puede copiar el archivo de la unidad al directorio /etc/systemd/system y editar
esa copia. El proceso de systemd analiza su copia personalizada en lugar del
archivo bajo el directorio /usr/lib/systemd.
...
# Activates activity collector every 2 minutes
RH199-RHEL8.0-es-1-20190531 507
CAPÍTULO 13 | Programación de tareas futuras
[Unit]
Description=Run system activity accounting tool every 2 minutes
[Timer]
OnCalendar=*:00/02
[Install]
WantedBy=sysstat.service
4.5. Use el comando systemctl para activar la unidad del temporizador sysstat-
collect.timer.
4.6. Use el comando while para esperar hasta que el archivo binario se cree bajo el
directorio /var/log/sa. Espere a que regrese su prompt de shell.
[root@servera ~]# while [ $(ls /var/log/sa | wc -l) -eq 0 ]; do sleep 1s; done
4.7. Use el comando ls -l para verificar que el archivo binario bajo el directorio /var/
log/sa se modificó en los últimos dos minutos.
508 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 13 | Programación de tareas futuras
Finalizar
En workstation, ejecute lab scheduling-system finish para terminar este ejercicio. Este
script elimina los archivos creados durante el ejercicio para garantizar que el entorno quede limpio.
RH199-RHEL8.0-es-1-20190531 509
CAPÍTULO 13 | Programación de tareas futuras
ADMINISTRACIÓN DE ARCHIVOS
TEMPORALES
OBJETIVOS
Después de finalizar esta sesión, debe ser capaz de habilitar y deshabilitar los temporizadores de
systemd y configurar un temporizador que administre archivos temporales.
Para mantener un sistema ejecutándose de forma ordenada, es necesario que estos directorios
y archivos se creen cuando no existen, dado que los daemons y scripts podrían contar con que
estos estén allí, y que los archivos antiguos se purguen de modo que no puedan llenar espacio en
el disco ni proporcionar información errónea.
Cuando systemd inicia un sistema, una de las primeras unidades de servicio iniciadas es
systemd-tmpfiles-setup. Este servicio ejecuta el comando systemd-tmpfiles --create
--remove. Este comando lee los archivos de configuración de /usr/lib/tmpfiles.d/
*.conf, /run/tmpfiles.d/*.conf y /etc/tmpfiles.d/*.conf. Todos los archivos y
directorios marcados para la eliminación en esos archivos de configuración se eliminarán, y todos
los archivos y directorios marcados para la creación (o arreglos de permisos) se crearán con los
permisos correctos si es necesario.
Los archivos de configuración de la unidad del temporizador systemd tienen una sección
[Timer] que indica con qué frecuencia debe iniciarse el servicio con el mismo nombre.
Use el siguiente comando systemctl para ver los contenidos del archivo de configuración de la
unidad systemd-tmpfiles-clean.timer.
510 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 13 | Programación de tareas futuras
[Unit]
Description=Daily Cleanup of Temporary Directories
Documentation=man:tmpfiles.d(5) man:systemd-tmpfiles(8)
[Timer]
OnBootSec=15min
OnUnitActiveSec=1d
RH199-RHEL8.0-es-1-20190531 511
CAPÍTULO 13 | Programación de tareas futuras
Cree el directorio /home/student si aún no existe. Si existe, vacíe todos los contenidos. Cuando
systemd-tmpfiles --clean se ejecute, elimine todos los archivos a los que no se haya
accedido, ni se hayan modificado ni cambiado en más de un día.
• /etc/tmpfiles.d/*.conf
• /run/tmpfiles.d/*.conf
• /usr/lib/tmpfiles.d/*.conf
NOTA
Cuando evalúe configuraciones nuevas o modificadas, puede ser útil solo aplicar los
comandos de un archivo de configuración. Esto se puede lograr si se especifica el
nombre del archivo de configuración en la línea de comandos.
512 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 13 | Programación de tareas futuras
REFERENCIAS
Páginas del manual: systemd-tmpfiles(8), tmpfiles.d(5), stat(1), stat(2) y
systemd.timer(5).
RH199-RHEL8.0-es-1-20190531 513
CAPÍTULO 13 | Programación de tareas futuras
EJERCICIO GUIADO
ADMINISTRACIÓN DE ARCHIVOS
TEMPORALES
En este ejercicio, configurará systemd-tmpfiles para cambiar la rapidez con la que
elimina los archivos temporales de /tmp, y también para purgar periódicamente los archivos
de otro directorio.
RESULTADOS
Usted deberá ser capaz de realizar lo siguiente:
ANDES DE COMENZAR
Inicie sesión en workstation como student con la contraseña student.
514 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 13 | Programación de tareas futuras
línea de configuración con la nueva edad de 5 días. Elimine todas las otras líneas del
archivo, incluidas las comentadas. Puede usar el comando vim /etc/tmpfiles.d/
tmp.conf para editar el archivo de configuración. El archivo /etc/tmpfiles.d/
tmp.conf debe aparecer de la siguiente manera:
2.4. Use el comando systemd-tmpfiles --clean para verificar que el archivo /etc/
tmpfiles.d/tmp.conf contenga la configuración correcta.
Debido a que el comando anterior no devolvió ningún error, confirma que los ajustes de
configuración son correctos.
3. Agregue una nueva configuración que asegure que el directorio /run/momentary exista
con la propiedad del usuario y del grupo establecida en root. Los permisos octales para el
directorio deben ser 0700. La configuración debe purgar los archivos de este directorio que
no se hayan usado en los últimos 30 segundos.
3.2. Use el comando systemd-tmpfiles --create para verificar que el archivo /etc/
tmpfiles.d/momentary.conf contenga la configuración adecuada. El comando
crea el directorio /run/momentary si aún no existe.
Debido a que el comando anterior no devolvió ningún error, confirma que los ajustes de
configuración son correctos.
3.3. Use el comando ls para verificar que el directorio /run/momentary se crea con los
permisos, el propietario y el propietario del grupo adecuados.
RH199-RHEL8.0-es-1-20190531 515
CAPÍTULO 13 | Programación de tareas futuras
4.1. Use el comando touch para crear un archivo con el nombre /run/momentary/
testfile.
4.2. Use el comando sleep para configurar su prompt de shell para que no regrese durante
30 segundos.
4.3. Después de que vuelva a aparecer el prompt de shell, use el comando systemd-
tmpfiles --clean para limpiar archivos obsoletos de /run/momentary, sobre la
base de la regla mencionada en /etc/tmpfiles.d/momentary.conf.
4.5. Salga de la shell del usuario root para volver al usuario student.
Finalizar
En workstation, ejecute lab scheduling-tempfiles finish para terminar este ejercicio.
Este script elimina los archivos creados durante el ejercicio para garantizar que el entorno quede
limpio.
516 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 13 | Programación de tareas futuras
RH199-RHEL8.0-es-1-20190531 517
CAPÍTULO 13 | Programación de tareas futuras
CUESTIONARIO
1. ¿Qué comando muestra todos los trabajos de usuario que actualmente están
programados para ejecutarse como trabajos diferidos?
a. atq
b. atrm
c. at -c
d. at --display
2. ¿Qué comando elimina el trabajo de usuario diferido que tiene el número de trabajo 5?
a. at -c 5
b. atrm 5
c. at 5
d. at --delete 5
3. ¿Qué comando muestra todos los trabajos de usuario recurrentes programados para el
actual usuario que inició sesión actualmente?
a. crontab -r
b. crontab -l
c. crontab -u
d. crontab -V
518 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 13 | Programación de tareas futuras
6. ¿Qué archivo de configuración define la configuración de los trabajos del sistema que
se ejecutan de forma diaria, semanal y mensual?
a. /etc/crontab
b. /etc/anacrontab
c. /etc/inittab
d. /etc/sysconfig/crond
RH199-RHEL8.0-es-1-20190531 519
CAPÍTULO 13 | Programación de tareas futuras
SOLUCIÓN
1. ¿Qué comando muestra todos los trabajos de usuario que actualmente están
programados para ejecutarse como trabajos diferidos?
a. atq
b. atrm
c. at -c
d. at --display
2. ¿Qué comando elimina el trabajo de usuario diferido que tiene el número de trabajo 5?
a. at -c 5
b. atrm 5
c. at 5
d. at --delete 5
3. ¿Qué comando muestra todos los trabajos de usuario recurrentes programados para el
actual usuario que inició sesión actualmente?
a. crontab -r
b. crontab -l
c. crontab -u
d. crontab -V
520 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 13 | Programación de tareas futuras
6. ¿Qué archivo de configuración define la configuración de los trabajos del sistema que
se ejecutan de forma diaria, semanal y mensual?
a. /etc/crontab
b. /etc/anacrontab
c. /etc/inittab
d. /etc/sysconfig/crond
RH199-RHEL8.0-es-1-20190531 521
CAPÍTULO 13 | Programación de tareas futuras
RESUMEN
En este capítulo, aprendió lo siguiente:
• Los trabajos recurrentes del sistema ejecutan tareas en una programación de repetición.
• Los trabajos recurrentes del sistema realizan tareas administrativas en una programación de
repetición que tiene impacto en todo el sistema.
522 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 14
ACCESO AL
ALMACENAMIENTO
CONECTADO A LA RED
META Acceder al almacenamiento conectado a la red con
el protocolo NFS.
RH199-RHEL8.0-es-1-20190531 523
CAPÍTULO 14 | Acceso al almacenamiento conectado a la red
MONTAJE DE ALMACENAMIENTO
CONECTADO A LA RED CON NFS
OBJETIVOS
Tras finalizar esta sección, usted deberá ser capaz de realizar lo siguiente:
• Montar un recurso compartido de NFS con el comando mount o configurando el archivo /etc/
fstab.
• Configurar un cliente NFS para usar NFSv4 con la nueva herramienta nfsconf.
Los servidores NFS exportan recursos compartidos (directorios). Los clientes NFS montan un
recurso compartido exportado a un punto de montaje local (directorio), que debe existir. Los
recursos compartidos de NFS se pueden montar de diversas maneras:
1. Identificar: El administrador del sistema cliente de NFS puede identificar los recursos
compartidos de NFS disponibles de diversas maneras:
El administrador del servidor NFS puede proporcionar detalles de exportación, incluidos los
requisitos de seguridad.
Como alternativa, el administrador del cliente puede identificar los recursos compartidos de
NFSv4 al montar el directorio root del servidor NFS y al explorar los directorios exportados.
Haga esto como usuario root. El acceso a recursos compartidos que usan Kerberos será
denegado, pero el nombre del recurso compartido (directorio) estará visible. Otros directorios
compartidos se podrán explorar.
524 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 14 | Acceso al almacenamiento conectado a la red
2. Punto de montaje: Use mkdir para crear un punto de montaje en una ubicación adecuada.
3. Montar: Al igual que con los sistemas de archivos en particiones, los recursos compartidos
de NFS deben montarse para estar disponibles. Para montar un recurso compartido de NFS,
seleccione una de las siguientes opciones. En cada caso, debe ejecutar estos comandos como
superusuario, ya sea iniciando sesión como root o con el comando sudo.
RH199-RHEL8.0-es-1-20190531 525
CAPÍTULO 14 | Acceso al almacenamiento conectado a la red
NOTA
Desmontar un recurso compartido no elimina su entrada /etc/fstab. A menos
que elimine o comente la entrada, el recurso compartido de NFS se volverá a
montar en el próximo inicio del sistema o cuando se reinicie el servicio de cliente
NFS.
LA HERRAMIENTA nfsconf
Red Hat Enterprise Linux 8 presenta la herramienta nfsconf para gestionar los archivos de
configuración del cliente y servidor de NFS con NFSv4 y NFSv3. Configure la herramienta
nfsconf con /etc/nfs.conf(el archivo /etc/sysconfig/nfs de versiones anteriores del
sistema operativo está en desuso ahora). Use la herramienta nfsconf para obtener, configurar o
modificar parámetros de configuración de NFS.
De manera predeterminada, los pares clave/valor de la sección [nfsd] están comentados. Sin
embargo, los comentarios muestran las opciones predeterminadas que entrarán en vigencia si no
se modifican. Esto le proporciona un buen punto de partida para la configuración de NFS.
Use el comando nfsconf --set section key value para establecer un valor para la clave
en la sección especificada.
526 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 14 | Acceso al almacenamiento conectado a la red
Use el comando nfsconf --get section key para extraer el valor para la clave en la sección
especificada:
Use el comando nfsconf --unset section key para quitar el valor para la clave en la
sección especificada:
Comience por desactivar UDP y otras claves relacionadas con NFSv2 y NFSv3:
RH199-RHEL8.0-es-1-20190531 527
CAPÍTULO 14 | Acceso al almacenamiento conectado a la red
REFERENCIAS
Páginas del manual mount(8), umount(8), fstab(5), mount.nfs(8),
nfs.conf(8) y nfsconf(8)
528 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 14 | Acceso al almacenamiento conectado a la red
EJERCICIO GUIADO
ADMINISTRACIÓN DE
ALMACENAMIENTO CONECTADO A LA
RED CON NFS
LISTA DE VERIFICACIÓN DE RENDIMIENTO
En este ejercicio, modificará el archivo /etc/fstab para montar de forma persistente una
exportación de NFS en el momento del arranque.
RESULTADOS
Usted deberá ser capaz de realizar lo siguiente:
• Configurar clientes de NFS para usar NFSv4 con la nueva herramienta nfsconf.
ANDES DE COMENZAR
Inicie sesión en workstation como student con la contraseña student.
Una empresa de transporte usa un servidor central, serverb, para alojar una serie de documentos
y directorios compartidos. Los usuarios de servera, que son todos miembros del grupo admin,
necesitan acceso al recurso compartido NFS montado de forma persistente.
Información importante:
• Los miembros del grupo admin (admin1, sysmanager1) tienen acceso de lectura y escritura al
directorio compartido /shares/public.
RH199-RHEL8.0-es-1-20190531 529
CAPÍTULO 14 | Acceso al almacenamiento conectado a la red
1.2. Use el comando sudo -i para cambiar al usuario root. La contraseña del usuario
student es student.
2. Use la herramienta nfsconf para configurar /etc/nfs.conf a fin de habilitar los clientes
NFS para que funcionen solo en la versión 4.X y para asegurarse de que el modo TCP esté
habilitado y el modo UDP esté deshabilitado.
2.1. Use la herramienta nfsconf para desactivar las claves udp, vers2, vers3.
2.2. Use la herramienta nfsconf para habilitar las claves tcp, vers4, vers4.0, vers4.1,
vers4.2.
3.2. En servera, use el comando mount para verificar que el recurso compartido NFS
/share/public exportado por serverb se monta correctamente en el punto de
montaje /public.
530 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 14 | Acceso al almacenamiento conectado a la red
3.4. Explore las opciones de mount para el recurso compartido NFS montado.
5. Una vez que servera haya finalizado el reinicio, inicie sesión en servera con el usuario
admin1 y pruebe el recurso compartido NFS montado de forma persistente.
RH199-RHEL8.0-es-1-20190531 531
CAPÍTULO 14 | Acceso al almacenamiento conectado a la red
Finalizar
En workstation, ejecute el script lab netstorage-nfs finish para terminar este ejercicio.
532 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 14 | Acceso al almacenamiento conectado a la red
MONTAJE AUTOMÁTICO DE
ALMACENAMIENTO CONECTADO A LA
RED
OBJETIVOS
Tras finalizar esta sección, usted deberá ser capaz de realizar lo siguiente:
• Los usuarios no necesitan tener privilegios root para ejecutar los comandos mount y umount
• Los recursos compartidos de NFS no están conectados permanentemente como las entradas
en /etc/fstab, lo que libera recursos de red y sistemas.
• El servicio de automontaje se configura del lado del cliente; no se requiere configuración del
lado del servidor.
• El servicio de automontaje usa las mismas opciones que el comando mount, incluidas las
opciones de seguridad.
• autofs crea y elimina puntos de montaje indirectos, lo que elimina la gestión manual.
• NFS es el sistema de archivos de red predeterminado del servicio de automontaje, pero otros
sistemas de archivos de red pueden montarse automáticamente.
Crear un automontaje
La configuración de un automontaje es un proceso de varios pasos:
RH199-RHEL8.0-es-1-20190531 533
CAPÍTULO 14 | Acceso al almacenamiento conectado a la red
Este paquete contiene todo lo necesario para usar el servicio de automontaje para recursos
compartidos de NFS.
El nombre del archivo de asignación maestra es arbitrario (aunque suele tener un sentido),
pero debe tener una extensión de .autofs para que el subsistema lo reconozca. Puede
colocar varias entradas en un solo archivo de asignación maestra; como alternativa, puede
crear varios archivos de asignación maestra, cada uno con sus propias entradas agrupadas de
forma lógica.
/shares /etc/auto.demo
Esta entrada usa el directorio /shares como la base para futuros automontajes indirectos.
El archivo /etc/auto.demo contiene los detalles de montaje. Use un nombre de archivo
absoluto. El archivo auto.demo debe crearse antes de comenzar el servicio autofs.
3. Cree los archivos de asignación. Cada archivo de asignación identifica el punto de montaje,
las opciones de montaje y la ubicación de origen que se montará para un conjunto de
automontajes.
• Conocido como la "clave" en las páginas del manual, el punto de montaje se crea y elimina
automáticamente con el servicio autofs. En este caso, el punto de montaje totalmente
calificado es /shares/work (consulte el archivo de asignación maestra). El directorio /
shares y el directorio /shares/work se crean y eliminan según sea necesario mediante
el servicio autofs.
En este ejemplo, el punto de montaje local refleja la estructura de directorios del servidor,
pero esto no es necesario; el punto de montaje local puede tener cualquier nombre. El
servicio autofs no impone una estructura de nombres específica en el cliente.
• Las opciones de montaje comienzan con un carácter de guión (-) y se separan por comas
sin espacios en blanco. Las opciones de montaje disponibles para el montaje manual
de un sistema de archivos están disponibles al realizar el montaje automático. En este
534 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 14 | Acceso al almacenamiento conectado a la red
Algunas opciones útiles específicas del servicio de automontaje son -fstype= y -strict.
Use fstype para especificar el tipo de sistema de archivos, por ejemplo nfs4 o xfs, y use
strict para tratar errores como fatales cuando monte sistemas de archivos.
• La ubicación de origen para los recursos compartidos de NFS sigue el patrón host:/
pathname; en este ejemplo, &srvb;:/shares/work. Para que este montaje automático
tenga éxito, el servidor NFS, serverb, debe exportar el directorio con acceso de lectura
y escritura, y el usuario que solicita el acceso debe tener permisos de archivo estándar
de Linux en el directorio. Si serverb exporta el directorio con acceso de solo lectura,
entonces el cliente obtendrá acceso de solo lectura a pesar de que solicitó acceso de
lectura/escritura.
Asignaciones directas
Las asignaciones directas se usan para asignar un recurso compartido de NFS a un punto de
montaje de ruta absoluta existente.
Para usar puntos de montaje asignados directamente, el archivo de asignación maestra puede
tener la siguiente apariencia:
/- /etc/auto.direct
Todas las entradas de asignación directa usan /- como el directorio de base. En este caso, el
archivo de asignación que contiene los detalles de montaje es /etc/auto.direct.
El punto de montaje (o clave) es siempre una ruta absoluta. El resto del archivo de asignación usa
la misma estructura.
En este ejemplo, el directorio /mnt existe y no lo administra autofs. El servicio autofs creará y
eliminará automáticamente el directorio completo /mnt/docs.
RH199-RHEL8.0-es-1-20190531 535
CAPÍTULO 14 | Acceso al almacenamiento conectado a la red
Para continuar con el ejemplo anterior, si &srvb;:/shares exporta dos o más subdirectorios y
se puede acceder a estos usando las mismas opciones de montaje, el contenido del archivo /etc/
auto.demo podría verse del siguiente modo:
* -rw,sync serverb:/shares/&
Cuando un usuario intenta acceder a /shares/work, la clave * (que es work en este ejemplo)
reemplaza el símbolo & en la ubicación de origen y &srvb;:/shares/work se monta. Al igual
que con el ejemplo indirecto, autofs crea y elimina automáticamente el directorio work.
REFERENCIAS
Páginas del manual: autofs(5), automount(8), auto.master(5) y
mount.nfs(8)
536 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 14 | Acceso al almacenamiento conectado a la red
EJERCICIO GUIADO
MONTAJE AUTOMÁTICO DE
ALMACENAMIENTO CONECTADO A LA
RED
LISTA DE VERIFICACIÓN DE RENDIMIENTO
En este ejercicio, creará puntos de montaje de asignación directa y de asignación indirecta
administrados por automontaje que montan sistemas de archivos NFS.
RESULTADOS
Usted deberá ser capaz de realizar lo siguiente:
ANDES DE COMENZAR
Inicie sesión en workstation como student con la contraseña student.
Un proveedor de servicios de Internet usa un servidor central, serverb, para alojar directorios
compartidos que contienen documentos importantes que deben estar disponibles a pedido.
Cuando los usuarios inician sesión en servera necesitan acceso a los directorios compartidos
montados automáticamente.
Información importante:
• El grupo operators está compuesto por los usuarios operator1 y operator2. Tienen
acceso de lectura y escritura a los directorios compartidos /shares/indirect/west, /
shares/indirect/central y /shares/indirect/east.
RH199-RHEL8.0-es-1-20190531 537
CAPÍTULO 14 | Acceso al almacenamiento conectado a la red
1.2. Use el comando sudo -i para cambiar al usuario root. La contraseña del usuario
student es student.
2. Configure una asignación directa de montaje automático en servera con los recursos
compartidos de serverb. Cree la asignación directa con los archivos denominados /etc/
auto.master.d/direct.autofs para la asignación maestra y /etc/auto.direct
para el archivo de asignación. Use el directorio /external como el punto de montaje
principal en servera.
2.1. Pruebe el servidor NFS y comparta antes de proceder con la configuración del servicio
de automontaje.
538 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 14 | Acceso al almacenamiento conectado a la red
3. Configure una asignación indirecta de montaje automático en servera con los recursos
compartidos de serverb. Cree la asignación indirecta con los archivos denominados
/etc/auto.master.d/indirect.autofs para la asignación maestra y /etc/
auto.indirect para el archivo de asignación. Use el directorio /internal como el
punto de montaje principal en servera.
3.1. Pruebe el servidor NFS y comparta antes de proceder con la configuración del servicio
de automontaje.
RH199-RHEL8.0-es-1-20190531 539
CAPÍTULO 14 | Acceso al almacenamiento conectado a la red
5.1. Después de que la máquina servera haya terminado de arrancar, inicie sesión en
servera con el usuario student.
540 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 14 | Acceso al almacenamiento conectado a la red
NOTA
Notará que en una asignación indirecta de automontaje, incluso si se encuentra
en el punto de montaje asignado, debe llamar a cada uno de los subdirectorios
o archivos compartidos a pedido para obtener acceso a ellos. En una asignación
directa del servicio de automontaje, después de abrir el punto de montaje asignado,
obtendrá acceso a los directorios y al contenido configurado en el directorio
compartido.
RH199-RHEL8.0-es-1-20190531 541
CAPÍTULO 14 | Acceso al almacenamiento conectado a la red
Finalizar
En workstation, ejecute el script lab netstorage-autofs finish para terminar este
ejercicio.
542 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 14 | Acceso al almacenamiento conectado a la red
TRABAJO DE LABORATORIO
ACCESO AL ALMACENAMIENTO
CONECTADO A LA RED
LISTA DE VERIFICACIÓN DE RENDIMIENTO
En este trabajo de laboratorio, configurará el servicio de automontaje con una asignación
indirecta, usando recursos compartidos de un servidor NFSv4.
RESULTADOS
Usted deberá ser capaz de realizar lo siguiente:
ANDES DE COMENZAR
Inicie sesión en workstation como student con la contraseña student.
Una empresa de soporte de TI usa un servidor central, serverb, para alojar algunos directorios
compartidos en /remote/shares para sus grupos y usuarios. Los usuarios deben ser capaces
de iniciar sesión y tener sus directorios compartidos montados a pedido y listos para usar, en el
directorio /shares en servera.
Información importante:
• El grupo managers está compuesto por los usuarios manager1 y manager2. Tienen acceso de
lectura y escritura al directorio compartido /shares/management.
• El grupo production está compuesto por los usuarios dbuser1 y sysadmin1. Tienen acceso
de lectura y escritura al directorio compartido /shares/production.
• El grupo operators está compuesto por los usuarios contractor1 y consultant1. Tienen
acceso de lectura y escritura al directorio compartido /shares/operation.
RH199-RHEL8.0-es-1-20190531 543
CAPÍTULO 14 | Acceso al almacenamiento conectado a la red
Evaluación
En workstation, ejecute el comando lab netstorage-review grade para confirmar que ha
realizado correctamente este ejercicio.
Finalizar
En workstation, ejecute el comando lab netstorage-review finish para terminar este
ejercicio.
544 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 14 | Acceso al almacenamiento conectado a la red
SOLUCIÓN
ACCESO AL ALMACENAMIENTO
CONECTADO A LA RED
LISTA DE VERIFICACIÓN DE RENDIMIENTO
En este trabajo de laboratorio, configurará el servicio de automontaje con una asignación
indirecta, usando recursos compartidos de un servidor NFSv4.
RESULTADOS
Usted deberá ser capaz de realizar lo siguiente:
ANDES DE COMENZAR
Inicie sesión en workstation como student con la contraseña student.
Una empresa de soporte de TI usa un servidor central, serverb, para alojar algunos directorios
compartidos en /remote/shares para sus grupos y usuarios. Los usuarios deben ser capaces
de iniciar sesión y tener sus directorios compartidos montados a pedido y listos para usar, en el
directorio /shares en servera.
Información importante:
• El grupo managers está compuesto por los usuarios manager1 y manager2. Tienen acceso de
lectura y escritura al directorio compartido /shares/management.
• El grupo production está compuesto por los usuarios dbuser1 y sysadmin1. Tienen acceso
de lectura y escritura al directorio compartido /shares/production.
• El grupo operators está compuesto por los usuarios contractor1 y consultant1. Tienen
acceso de lectura y escritura al directorio compartido /shares/operation.
RH199-RHEL8.0-es-1-20190531 545
CAPÍTULO 14 | Acceso al almacenamiento conectado a la red
1.2. Use el comando sudo -i para cambiar al usuario root. La contraseña del usuario
student es student.
2. Use el comando nfsconf para configurar /etc/nfs.conf. Habilite el cliente NFS para que
funcione solo en la versión 4.X y para asegurarse de que el modo TCP esté habilitado y el
modo UDP esté deshabilitado.
2.1. Use la herramienta nfsconf para desactivar las claves udp , vers2, vers3.
2.2. Use la herramienta nfsconf para habilitar las claves tcp, vers4, vers4.0, vers4.1,
vers4.2.
546 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 14 | Acceso al almacenamiento conectado a la red
3. Configure una asignación indirecta de montaje automático en servera con los recursos
compartidos de serverb. Cree una asignación indirecta con los archivos denominados /
etc/auto.master.d/shares.autofs para la asignación maestra y /etc/auto.shares
para el archivo de asignación. Use el directorio /remote como el punto de montaje
principal en servera. Reinicie servera para determinar si el servicio autofs se inicia
automáticamente.
3.1. Pruebe el servidor NFS antes de proceder con la configuración del servicio de
automontaje.
4. Pruebe la configuración de autofs con los distintos usuarios. Cuando finalice, cierre sesión
en servera.
4.1. Después de que la máquina servera haya terminado de arrancar, inicie sesión en
servera con el usuario student.
4.2. Use el comando su - manager1 para cambiar al usuario manager1 y probar el acceso.
RH199-RHEL8.0-es-1-20190531 547
CAPÍTULO 14 | Acceso al almacenamiento conectado a la red
548 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 14 | Acceso al almacenamiento conectado a la red
4.5. Explore las opciones de mount para el recurso compartido NFS montado
automáticamente.
Evaluación
En workstation, ejecute el comando lab netstorage-review grade para confirmar que ha
realizado correctamente este ejercicio.
Finalizar
En workstation, ejecute el comando lab netstorage-review finish para terminar este
ejercicio.
RH199-RHEL8.0-es-1-20190531 549
CAPÍTULO 14 | Acceso al almacenamiento conectado a la red
RESUMEN
En este capítulo, aprendió cómo hacer lo siguiente:
• Configurar el servicio de automontaje con asignaciones directas e indirectas, así como describir
sus diferencias.
• Configurar clientes de NFS para usar NFSv4 con la nueva herramienta nfsconf.
550 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 15
ADMINISTRACIÓN DE LA
SEGURIDAD DE REDES
META Controlar las conexiones de red a los servicios
mediante el firewall del sistema.
RH199-RHEL8.0-es-1-20190531 551
CAPÍTULO 15 | Administración de la seguridad de redes
OBJETIVOS
Tras finalizar esta sección, usted deberá ser capaz de aceptar o rechazar las conexiones de red a
los servicios del sistema por medio de las reglas de firewalld.
Presentación de firewalld
Firewalld es un administrador de firewall dinámico, un front-end para el marco (framework)
nftables que usa el comando nft. Hasta la introducción de nftables, firewalld usaba el
comando iptables para configurar netfilter de forma directa, como una alternativa mejorada
del servicio de iptables. En RHEL 8, firewalld sigue siendo el front-end recomendado, ya
que gestiona conjuntos de reglas de firewall por medio de nft. Firewalld sigue siendo capaz
de leer y gestionar los archivos de configuración y los conjuntos de reglas de iptables y usa
xtables-nft-multi para traducir objetos de iptables directamente a reglas y objetos de
nftables. Si bien esto no se aconseja, firewalld se puede configurar para retornar al back-
end de iptables para casos de usos complejos en los que los conjuntos de reglas existentes de
iptables no se pueden procesar correctamente con traducciones de nft.
552 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 15 | Administración de la seguridad de redes
del firewall al clasificar todo el tráfico de la red en zonas. En función de los criterios (como la
dirección IP de la fuente de un paquete o la interfaz de red entrante), el tráfico se desvía a las
reglas de firewall para la zona adecuada. Cada zona tiene su propia lista de puertos y servicios que
están abiertos o cerrados.
NOTA
En el caso de equipos portátiles u otras máquinas que cambian regularmente las
redes, NetworkManager se puede usar para configurar automáticamente la zona
de firewall para una conexión. Las zonas se personalizan con reglas adecuadas para
conexiones particulares.
Firewalld verifica la dirección de origen para cada paquete que ingresa al sistema. Si esa dirección
de origen está asignada a una zona específica, rigen las reglas de esa zona. Si la dirección de
origen no está asignada a una zona, firewalld asocia el paquete con la zona para la interfaz de
red entrante, y rigen las reglas para esa zona. Si la interfaz de red no está asociada con una zona
por algún motivo, firewalld asocia el paquete con la zona predeterminada.
La zona predeterminada no es una zona separada, sino una designación para una zona existente.
Inicialmente, firewalld designa la zona public (pública) como la zona predeterminada y asigna
la interfaz de bucle invertido de lo a la zona trusted (de confianza).
La mayoría de las zonas permiten el tráfico a través del firewall que relaciona una lista de puertos
y protocolos particulares (como 631/udp) o servicios predefinidos (como ssh). Si el tráfico
no relaciona un puerto y protocolo o servicio permitidos, generalmente se rechaza. (La zona
trusted [de confianza], que permite todo el tráfico de forma predeterminada, es una excepción a
esto).
Zonas predefinidas
Firewalld cuenta con zonas predefinidas, cada una de las cuales se puede personalizar. De
forma predeterminada, todas las zonas permiten todo el tráfico entrante que sea parte de una
comunicación iniciada por el sistema y todo el tráfico saliente. En la siguiente tabla, se detalla esta
configuración de zona inicial.
home (inicio) Rechaza el tráfico entrante a menos que esté relacionado con tráfico
saliente o que relacione los servicios predefinidos ssh, mdns, ipp-
client, samba-client o dhcpv6-client.
RH199-RHEL8.0-es-1-20190531 553
CAPÍTULO 15 | Administración de la seguridad de redes
internal Rechaza el tráfico entrante a menos que esté relacionado con tráfico
(interna) saliente o que relacione los servicios predefinidos ssh, mdns, ipp-
client, samba-client o dhcpv6-client (lo mismo que la zona
home para empezar).
work (trabajo) Rechaza el tráfico entrante a menos que esté relacionado con tráfico
saliente o que relacione los servicios predefinidos ssh, ipp-client o
dhcpv6-client.
public Rechaza el tráfico entrante, a menos que esté relacionado con tráfico
(pública) saliente o que relacione los servicios predefinidos ssh o dhcpv6-
client. La zona predeterminada para interfaces de red recientemente
agregadas.
external Rechaza el tráfico entrante, a menos que esté relacionado con tráfico
(externa) saliente o que relacione el servicio predefinido ssh. El tráfico IPv4
saliente reenviado a través de esta zona es enmascarado para que
luzca como si se hubiera originado desde la dirección IPv4 de la
interfaz de red saliente.
dmz Rechaza el tráfico entrante, a menos que esté relacionado con tráfico
saliente o que relacione el servicio predefinido ssh.
block (bloqueo) Rechaza todo el tráfico entrante, a menos que esté relacionado con
tráfico saliente.
drop (caída) Deja caer todo el tráfico entrante, a menos que esté relacionado con
tráfico saliente (ni siquiera responde con errores ICMP).
Para conocer una lista de las zonas predefinidas disponibles y sus usos previstos, consulte
firewalld.zones(5).
Servicios predefinidos
Firewalld incluye un número de servicios predefinidos. Estas definiciones de servicio lo ayudan a
identificar servicios de red particulares que puede configurar. En lugar de tener que buscar los
puertos relevantes para el servicio samba-client, por ejemplo, puede especificar el servicio
samba-client compilado previamente para configurar los puertos y protocolos correctos. En la
siguiente tabla, se detallan los servicios predefinidos que se emplean en la configuración inicial de
zonas de firewall.
554 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 15 | Administración de la seguridad de redes
mdns Resolución del nombre del enlace local DNS (mDNS) multidifusión
(multicast). Tráfico a 5353/udp a las direcciones de multidifusión
(multicast) 224.0.0.251 (IPv4) o ff02::fb (IPv6).
NOTA
Muchos servicios predefinidos se incluyen en el paquete firewalld. Use firewall-
cmd --get-services para enumerarlos. Los archivos de configuración para los
servicios predefinidos se encuentran en /usr/lib/firewalld/services, en un
formato definido por firewalld.zone(5).
Haga clic en la opción Networking (Redes) en el menú de navegación izquierdo para mostrar la
sección Firewall en la página principal de redes. Haga clic en el enlace de Firewall para acceder a la
lista de servicios permitidos.
RH199-RHEL8.0-es-1-20190531 555
CAPÍTULO 15 | Administración de la seguridad de redes
Los servicios permitidos que se muestran en la lista son aquellos servicios que el firewall permite
actualmente. Haga clic en la flecha (>) a la izquierda del nombre del servicio para ver los detalles
del servicio. Para agregar un servicio, haga clic en el botón Add Services... (Agregar servicios) en la
esquina superior derecha de la página de Firewall Allowed Services (Servicios permitidos).
La página Add Services (Agregar servicios) muestra los servicios predefinidos disponibles.
556 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 15 | Administración de la seguridad de redes
Para seleccionar un servicio, desplácese por la lista o seleccione una opción en el cuadro de
texto Filter Services (Filtrar servicios). En el siguiente ejemplo, la cadena http se ingresa en el
cuadro de texto de búsqueda para buscar servicios que contengan esa cadena, es decir, servicios
relacionados con la web. Seleccione la casilla de verificación a la izquierda de los servicios para que
el firewall los permita. Haga clic en el botón Add Services (Agregar servicios) para completar el
proceso.
RH199-RHEL8.0-es-1-20190531 557
CAPÍTULO 15 | Administración de la seguridad de redes
La interfaz vuelve a la página de Firewall Allowed Services (Servicios permitidos), donde puede
revisar la lista actualizada de servicios permitidos.
558 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 15 | Administración de la seguridad de redes
RH199-RHEL8.0-es-1-20190531 559
CAPÍTULO 15 | Administración de la seguridad de redes
Los siguientes ejemplos de comandos configuran la zona predeterminada para dmz, asignan
todo el tráfico proveniente de la red 192.168.0.0/24 a la zona internal (interna) y abren los
puertos de red para el servicio mysql en la zona internal (interna).
NOTA
En situaciones donde la sintaxis básica de firewalld no es suficiente, también
puede agregar rich-rules (reglas enriquecidas), una sintaxis más expresiva, para
escribir reglas complejas. Si aun así la sintaxis de las reglas enriquecidas no es
suficiente, también puede usar reglas de Direct Configuration (Configuración
directa), la sintaxis de nft sin formato mezclada con las reglas de firewalld.
REFERENCIAS
Páginas del manual: firewall-cmd(1), firewalld(1), firewalld.zone(5),
firewalld.zones(5) y nft(8)
560 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 15 | Administración de la seguridad de redes
EJERCICIO GUIADO
RESULTADOS
Debe ser capaz de configurar reglas de firewall para controlar el acceso a los servicios.
ANDES DE COMENZAR
Inicie sesión en workstation como student con la contraseña student.
1. Desde workstation, use SSH para iniciar sesión en servera con el usuario student.
Los sistemas se configuran para que usen claves SSH para la autenticación, por lo que no
se necesita una contraseña.
2. En el sistema servera, asegúrese de que tanto el paquete httpd como el paquete mod_ssl
estén instalados. Estos paquetes proporcionan el servidor web Apache que usted protegerá
con un firewall, y las extensiones necesarias para que el servidor web sirva contenido
mediante SSL.
RH199-RHEL8.0-es-1-20190531 561
CAPÍTULO 15 | Administración de la seguridad de redes
5. Salga de servera.
6. Desde workstation, intente acceder a su servidor web en servera por medio del puerto
no cifrado 80/TCP y del puerto encapsulado SSL 443/TCP. Ambos intentos deberían fallar.
562 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 15 | Administración de la seguridad de redes
8.3. Verifique que el estado del servicio firewall esté habilitado y en ejecución.
9. Desde workstation, abra Firefox e inicie sesión en la consola web que se ejecuta en
servera para agregar el servicio httpd a la zona de red public (pública).
9.2. Seleccione la casilla de verificación junto a Reuse my password for privileged tasks
(Volver a usar mi contraseña para tareas con privilegios) para garantizar los privilegios
administrativos.
Inicie sesión como student con la contraseña student.
9.5. Haga clic en el botón Add Services... (Agregar servicios) ubicado en el margen superior
derecho de la página de Firewall.
RH199-RHEL8.0-es-1-20190531 563
CAPÍTULO 15 | Administración de la seguridad de redes
9.6. En la interfaz de usuario de Add Services (Agregar servicios), desplácese hacia abajo o
use Filter Services (Filtrar servicios) para ubicar y seleccionar la casilla de verificación
junto al servicio Secure WWW (HTTPS).
9.7. Haga clic en el botón Add Services (Agregar servicios) ubicado en el margen inferior
derecho de la interfaz de usuario de Add Services (Agregar servicios).
NOTA
Si usa Firefox para conectarse al servidor web, le solicitará la verificación del
certificado del host si pasa el firewall satisfactoriamente.
Finalizar
En workstation, ejecute el script lab netsecurity-firewalls finish para terminar este
ejercicio.
564 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 15 | Administración de la seguridad de redes
TRABAJO DE LABORATORIO
ADMINISTRACIÓN DE LA SEGURIDAD DE
REDES
LISTA DE VERIFICACIÓN DE RENDIMIENTO
En este trabajo de laboratorio, configurará un firewall y los ajustes de SELinux para permitir
el acceso a múltiples servidores web que se ejecutan en serverb.
RESULTADOS
Deberá ser capaz de configurar el firewall y los ajustes de SELinux en un host del servidor
web.
ANDES DE COMENZAR
Inicie sesión en workstation como student con la contraseña student.
Su empresa ha decidido ejecutar una nueva aplicación web. Esta aplicación escucha en puertos
80/TCP y 1001/TCP. El puerto 22/TCP para el acceso mediante ssh también debe estar
disponible. Todos los cambios que hace deben persistir en un reinicio.
RH199-RHEL8.0-es-1-20190531 565
CAPÍTULO 15 | Administración de la seguridad de redes
5. Inicie sesión en serverb para determinar si los puertos correctos están asignados al firewall.
6. Agregue el puerto 1001/TCP a la configuración permanente para la zona de red public
(pública). Confirme su configuración.
7. Desde workstation, confirme que el servidor web predeterminado en
serverb.lab.example.com vuelva a SERVER B y que el host virtual en
serverb.lab.example.com:1001 vuelva a VHOST 1.
Evaluación
En workstation, ejecute el comando lab netsecurity-review grade para confirmar que
ha realizado correctamente este ejercicio del trabajo de laboratorio.
Finalizar
En workstation, ejecute el script lab netsecurity-review finish para terminar este
ejercicio.
566 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 15 | Administración de la seguridad de redes
SOLUCIÓN
ADMINISTRACIÓN DE LA SEGURIDAD DE
REDES
LISTA DE VERIFICACIÓN DE RENDIMIENTO
En este trabajo de laboratorio, configurará un firewall y los ajustes de SELinux para permitir
el acceso a múltiples servidores web que se ejecutan en serverb.
RESULTADOS
Deberá ser capaz de configurar el firewall y los ajustes de SELinux en un host del servidor
web.
ANDES DE COMENZAR
Inicie sesión en workstation como student con la contraseña student.
Su empresa ha decidido ejecutar una nueva aplicación web. Esta aplicación escucha en puertos
80/TCP y 1001/TCP. El puerto 22/TCP para el acceso mediante ssh también debe estar
disponible. Todos los cambios que hace deben persistir en un reinicio.
RH199-RHEL8.0-es-1-20190531 567
CAPÍTULO 15 | Administración de la seguridad de redes
2. Inicie sesión en serverb para determinar qué está impidiendo el acceso a los servidores
web.
2.1. Desde workstation, abra una sesión de SSH en serverb como el usuario student.
Los sistemas se configuran para que usen claves SSH para la autenticación, por lo que
no se necesita una contraseña.
2.4. Investigue los motivos que hicieron que el servicio httpd.service no se haya podido
iniciar.
568 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 15 | Administración de la seguridad de redes
2.5. Use el comando sealert para verificar si SELinux está impidiendo que el servicio
httpd haga referencia al puerto 1001/TCP.
...output omitted...
3. Configure SELinux para que permita que el servicio httpd escuche en el puerto 1001/TCP.
3.2. Use el comando semanage para hacer referencia al puerto 1001/TCP con el tipo
http_port_t.
3.3. Confirme si ese puerto 1001/TCP está enlazado con el tipo de puerto http_port_t.
RH199-RHEL8.0-es-1-20190531 569
CAPÍTULO 15 | Administración de la seguridad de redes
5. Inicie sesión en serverb para determinar si los puertos correctos están asignados al firewall.
5.2. Verifique que la zona de firewall predeterminada esté configurada en public (pública).
570 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 15 | Administración de la seguridad de redes
5.3. Si el paso anterior no estableció la zona public (pública) nuevamente como la zona
predeterminada, corríjala con el siguiente comando:
5.4. Determine los puertos abiertos listados en la zona de red public (pública).
RH199-RHEL8.0-es-1-20190531 571
CAPÍTULO 15 | Administración de la seguridad de redes
icmp-blocks:
rich rules:
Evaluación
En workstation, ejecute el comando lab netsecurity-review grade para confirmar que
ha realizado correctamente este ejercicio del trabajo de laboratorio.
Finalizar
En workstation, ejecute el script lab netsecurity-review finish para terminar este
ejercicio.
572 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 15 | Administración de la seguridad de redes
RESUMEN
En este capítulo, aprendió lo siguiente:
• El subsistema netfilter permite a los módulos del kernel inspeccionar cada paquete
que atraviese el sistema. Se inspeccionan todos los paquetes de red entrantes, salientes o
reenviados.
RH199-RHEL8.0-es-1-20190531 573
574 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 16
REVISIÓN COMPLETA
META Revisar tareas de RHCSA Rapid Track .
RH199-RHEL8.0-es-1-20190531 575
CAPÍTULO 16 | Revisión completa
REVISIÓN COMPLETA
OBJETIVOS
Tras finalizar esta sección, los estudiantes deberán haber revisado y actualizado las habilidades y
los conocimientos aprendidos en RHCSA Rapid Track.
Los estudiantes pueden consultar las secciones anteriores en el libro de textos para lecturas
complementarias.
• Iniciar sesión en el sistema Linux en una consola de texto local y ejecutar comandos simples
mediante la shell.
• Configurar la autenticación basada en claves para que una cuenta de usuario inicie sesión en
sistemas remotos de forma segura y sin una contraseña.
• Describir cómo Linux organiza los archivos y los propósitos de diversos directorios en la
jerarquía del sistema de archivos.
• Hacer que varios nombres de archivo hagan referencia al mismo archivo con enlaces duros y
simbólicos (o "blandos").
576 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 16 | Revisión completa
• Cambiar los permisos y la propiedad de los archivos con las herramientas de línea de comandos.
• Controlar los permisos predeterminados de los nuevos archivos creados por los usuarios,
explicar el efecto de los permisos especiales y usar permisos especiales y permisos
predeterminados para configurar el propietario del grupo de archivos creados en un directorio
en particular.
• Describir cómo funciona SELinux y cómo cambiar un servidor entre sus diferentes modos de
cumplimiento.
• Ajustar el tipo SELinux de un archivo para controlar los procesos que pueden acceder a él.
• Realizar una investigación básica y resolución de problemas de los accesos bloqueados por
SELinux.
• Controlar y finalizar los procesos que no están asociados con su shell y forzar la finalización de
las sesiones y los procesos de los usuarios.
• Describir qué es el promedio de carga y determinar los procesos responsables del alto uso de
recursos en un servidor.
• Dar o quitar la prioridad a procesos específicos con los comandos nice y renice.
RH199-RHEL8.0-es-1-20190531 577
CAPÍTULO 16 | Revisión completa
• Enumerar daemons del sistema y los servicios de red iniciados por el servicio systemd y las
unidades socket.
• Controlar los daemons del sistema y los servicios de red con systemctl.
• Iniciar sesión en un sistema y cambiar la contraseña root cuando la actual se haya perdido.
• Probar e inspeccionar la configuración de red actual con las utilidades de la línea de comando
• Configurar el nombre de host estático del servidor y su resolución de nombre, y probar los
resultados
578 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 16 | Revisión completa
• Describir la arquitectura básica de registro que emplea Red Hat Enterprise Linux para registrar
eventos
• Interpretar eventos en archivos syslog relevantes a los fines de resolver problemas o revisar el
estado del sistema
• Buscar e interpretar entradas en el diario del sistema para resolver problemas o revisar el estado
del sistema
• Configurar el diario del sistema para resguardar el registro de eventos cuando se reinicia un
servidor
• Mantener una sincronización de hora precisa por medio de NTP y configurar la zona horaria para
garantizar marcas de tiempo correctas para los eventos registrados por el diario y los registros
del sistema
• Optimizar el uso del espacio de almacenamiento con VDO para comprimir y desduplicar datos
en dispositivos de almacenamiento.
• Montar, usar y desmontar una exportación de NFS desde la línea de comandos y en el arranque.
RH199-RHEL8.0-es-1-20190531 579
CAPÍTULO 16 | Revisión completa
• Aceptar o rechazar las conexiones de red a los servicios del sistema por medio de las reglas de
firewalld.
580 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 16 | Revisión completa
TRABAJO DE LABORATORIO
CORRECCIÓN DE PROBLEMAS DE
ARRANQUE Y MANTENIMIENTO DE
SERVIDORES
En esta revisión, solucionará y reparará los problemas de arranque y actualizará el destino
predeterminado del sistema. También programará tareas para que se ejecuten en un
cronograma recurrente como un usuario normal.
RESULTADOS
Usted deberá ser capaz de realizar lo siguiente:
ANDES DE COMENZAR
Copie los archivos o el trabajo que desee preservar en otros sistemas antes de restablecer el
sistema. Restablezca los sistemas workstation, servera y serverb ahora.
INSTRUCCIONES
Realice las siguientes tareas en serverb para completar la revisión completa:
RH199-RHEL8.0-es-1-20190531 581
CAPÍTULO 16 | Revisión completa
Use el comando sudo como el usuario student con student como contraseña para
ejecutar comandos con privilegios.
• Programe un trabajo recurrente con el usuario student que ejecuta el script /home/
student/backup-home.sh por hora entre las 7 p. m. y las 9 p. m. todos los días excepto
sábados y domingos.
Evaluación
En workstation, ejecute el script lab rhcsa-compreview1 grade para confirmar que ha
realizado correctamente este ejercicio. Corrija los errores informados y vuelva a ejecutar el script
hasta obtener un resultado satisfactorio.
Finalizar
En workstation, ejecute lab rhcsa-compreview1 finish para terminar este ejercicio. Este
script elimina los archivos y recursos creados durante el ejercicio para garantizar que el entorno
esté limpio.
Guarde los archivos o trabajos que desee conservar en otros sistemas y, luego, restablezca
workstation, servera y serverb antes del siguiente ejercicio.
582 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 16 | Revisión completa
SOLUCIÓN
CORRECCIÓN DE PROBLEMAS DE
ARRANQUE Y MANTENIMIENTO DE
SERVIDORES
En esta revisión, solucionará y reparará los problemas de arranque y actualizará el destino
predeterminado del sistema. También programará tareas para que se ejecuten en un
cronograma recurrente como un usuario normal.
RESULTADOS
Usted deberá ser capaz de realizar lo siguiente:
ANDES DE COMENZAR
Copie los archivos o el trabajo que desee preservar en otros sistemas antes de restablecer el
sistema. Restablezca los sistemas workstation, servera y serverb ahora.
INSTRUCCIONES
Realice las siguientes tareas en serverb para completar la revisión completa:
RH199-RHEL8.0-es-1-20190531 583
CAPÍTULO 16 | Revisión completa
Use el comando sudo como el usuario student con student como contraseña para
ejecutar comandos con privilegios.
• Programe un trabajo recurrente con el usuario student que ejecuta el script /home/
student/backup-home.sh por hora entre las 7 p. m. y las 9 p. m. todos los días excepto
sábados y domingos.
2. Una vez que serverb se haya iniciado, acceda a la consola y observe que el proceso de
arranque se detuvo antes de tiempo. Tómese un momento para especular sobre la posible
causa de este comportamiento.
2.1. Localice el icono de la consola de serverb, según corresponda para el entorno del aula.
Abra la consola.
2.2. Si observa el error, parece que al menos ciertas partes del sistema aún están
funcionando.
2.4. Edite la entrada predeterminada del cargador de arranque en la memoria para iniciar
sesión en modo de emergencia.
Presione e para editar la entrada actual.
2.5. Use las teclas de dirección para navegar hacia la línea que comienza con linux. Agregue
systemd.unit=emergency.target en el final de la línea.
3.1. Vuelva a montar el sistema de archivos / con acceso de lectura-escritura para editarlo.
584 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 16 | Revisión completa
3.2. Use el comando mount -a para intentar montar todos los demás sistemas de archivos.
Observe que uno de los sistemas de archivos no se puede montar.
3.3. Edite /etc/fstab para corregir el problema. Elimine o comente la línea incorrecta.
3.4. Actualice systemd para que el sistema registre la configuración de /etc/fstab nueva.
3.5. Intente montar todas las entradas para verificar que /etc/fstab ahora sea correcto.
3.6. Reinicie serverb y espere a que el arranque finalice. Ahora el sistema debería arrancar
normalmente.
5.1. Desde workstation, abra una sesión de SSH en serverb con el usuario student.
RH199-RHEL8.0-es-1-20190531 585
CAPÍTULO 16 | Revisión completa
5.3. Cambie al destino multi-user. Use el comando sudo y, si se le solicita, use student
como la contraseña.
5.4. Configure serverb para que use el destino multi-user como destino
predeterminado.
5.5. Reinicie serverb para verificar que el destino multi-user esté configurado como
destino predeterminado.
5.6. Después del reinicio, abra una sesión de SSH en serverb como el usuario student.
Verifique que el destino multi-user esté configurado como destino predeterminado.
6. Programe un trabajo recurrente con el usuario student que ejecuta el script /home/
student/backup-home.sh por hora entre las 7 p. m. y las 9 p. m. todos los días excepto
sábados y domingos.
Use el script backup-home.sh para programar el trabajo recurrente. Descargue el script de
copia de seguridad de http://materials.example.com/labs/backup-home.sh.
6.2. Use el comando crontab -e para abrir el archivo crontab con el editor de texto
predeterminado.
586 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 16 | Revisión completa
6.4. Use el comando crontab -l para enumerar los trabajos recurrentes programados.
Evaluación
En workstation, ejecute el script lab rhcsa-compreview1 grade para confirmar que ha
realizado correctamente este ejercicio. Corrija los errores informados y vuelva a ejecutar el script
hasta obtener un resultado satisfactorio.
Finalizar
En workstation, ejecute lab rhcsa-compreview1 finish para terminar este ejercicio. Este
script elimina los archivos y recursos creados durante el ejercicio para garantizar que el entorno
esté limpio.
Guarde los archivos o trabajos que desee conservar en otros sistemas y, luego, restablezca
workstation, servera y serverb antes del siguiente ejercicio.
RH199-RHEL8.0-es-1-20190531 587
CAPÍTULO 16 | Revisión completa
TRABAJO DE LABORATORIO
CONFIGURACIÓN Y ADMINISTRACIÓN
DE SISTEMAS DE ARCHIVOS Y
ALMACENAMIENTO
En esta revisión, creará un volumen lógico de LVM, montará un sistema de archivos de red,
creará una partición de intercambio que se activará automáticamente en el arranque y
configurará los archivos temporales no usados para que se limpien del sistema .
RESULTADOS
Usted deberá ser capaz de realizar lo siguiente:
• Configurar los archivos temporales no usados para que se limpien del sistema.
ANDES DE COMENZAR
Copie los archivos o el trabajo que desee preservar en otros sistemas antes de restablecer el
sistema. Restablezca los sistemas workstation, servera y serverb ahora, a menos que
recién los haya restablecido al final del último ejercicio.
INSTRUCCIONES
Realice las siguientes tareas en serverb para completar la revisión completa.
• El volumen lógico vol_home debe formatearse con el tipo de sistema de archivos XFS y
montarse en /home-directories de manera persistente.
• Cree una nueva partición de 512 MiB en el disco /dev/vdc para usarla como espacio de
intercambio. Este espacio de intercambio debe activarse automáticamente en el arranque.
588 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 16 | Revisión completa
• Configure su sistema para que use un nuevo directorio llamado /run/volatile para
almacenar archivos temporales. Los archivos en este directorio deben estar sujetos a una
limpieza basada en el tiempo si no se accede a ellos durante más de 30 segundos. Los
permisos octales para el directorio deben ser 0700. Asegúrese de utilizar el archivo /etc/
tmpfiles.d/volatile.conf para configurar la limpieza basada en el tiempo para los
archivos en /run/volatile.
Evaluación
En workstation, ejecute el script lab rhcsa-compreview2 grade para confirmar que ha
realizado correctamente este ejercicio. Corrija los errores informados y vuelva a ejecutar el script
hasta obtener un resultado satisfactorio.
Finalizar
En workstation, ejecute lab rhcsa-compreview2 finish para terminar este ejercicio. Este
script elimina los archivos y recursos creados durante el ejercicio para garantizar que el entorno
esté limpio.
RH199-RHEL8.0-es-1-20190531 589
CAPÍTULO 16 | Revisión completa
SOLUCIÓN
CONFIGURACIÓN Y ADMINISTRACIÓN
DE SISTEMAS DE ARCHIVOS Y
ALMACENAMIENTO
En esta revisión, creará un volumen lógico de LVM, montará un sistema de archivos de red,
creará una partición de intercambio que se activará automáticamente en el arranque y
configurará los archivos temporales no usados para que se limpien del sistema .
RESULTADOS
Usted deberá ser capaz de realizar lo siguiente:
• Configurar los archivos temporales no usados para que se limpien del sistema.
ANDES DE COMENZAR
Copie los archivos o el trabajo que desee preservar en otros sistemas antes de restablecer el
sistema. Restablezca los sistemas workstation, servera y serverb ahora, a menos que
recién los haya restablecido al final del último ejercicio.
INSTRUCCIONES
Realice las siguientes tareas en serverb para completar la revisión completa.
• El volumen lógico vol_home debe formatearse con el tipo de sistema de archivos XFS y
montarse en /home-directories de manera persistente.
• Cree una nueva partición de 512 MiB en el disco /dev/vdc para usarla como espacio de
intercambio. Este espacio de intercambio debe activarse automáticamente en el arranque.
590 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 16 | Revisión completa
• Configure su sistema para que use un nuevo directorio llamado /run/volatile para
almacenar archivos temporales. Los archivos en este directorio deben estar sujetos a una
limpieza basada en el tiempo si no se accede a ellos durante más de 30 segundos. Los
permisos octales para el directorio deben ser 0700. Asegúrese de utilizar el archivo /etc/
tmpfiles.d/volatile.conf para configurar la limpieza basada en el tiempo para los
archivos en /run/volatile.
4. Cree un volumen lógico llamado vol_home con la partición de 2 GiB que creó en /dev/vdb.
Asigne al grupo de volúmenes el nombre extra_storage.
RH199-RHEL8.0-es-1-20190531 591
CAPÍTULO 16 | Revisión completa
7. Cree una nueva partición de 512 MiB en el disco /dev/vdc para usarlo como espacio de
intercambio. Este espacio de intercambio debe activarse automáticamente en el momento
del arranque.
592 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 16 | Revisión completa
7.3. Active el espacio de intercambio para que persista después del reinicio. Use el UUID de
la estructura al crear la entrada en /etc/fstab.
9. Configure su sistema para que use un nuevo directorio llamado /run/volatile para
almacenar archivos temporales. Los archivos en este directorio deben estar sujetos a una
limpieza basada en el tiempo si no se accede a ellos durante más de 30 segundos. Los
permisos octales para el directorio deben ser 0700. Asegúrese de utilizar el archivo /etc/
tmpfiles.d/volatile.conf para configurar la limpieza basada en el tiempo para los
archivos en /run/volatile.
RH199-RHEL8.0-es-1-20190531 593
CAPÍTULO 16 | Revisión completa
Evaluación
En workstation, ejecute el script lab rhcsa-compreview2 grade para confirmar que ha
realizado correctamente este ejercicio. Corrija los errores informados y vuelva a ejecutar el script
hasta obtener un resultado satisfactorio.
Finalizar
En workstation, ejecute lab rhcsa-compreview2 finish para terminar este ejercicio. Este
script elimina los archivos y recursos creados durante el ejercicio para garantizar que el entorno
esté limpio.
594 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 16 | Revisión completa
TRABAJO DE LABORATORIO
CONFIGURACIÓN Y ADMINISTRACIÓN
DE SEGURIDAD DEL SERVIDOR
En esta revisión, configurará la autenticación basada en claves de SSH, cambiará la
configuración del cortafuegos, ajustará el modo de SELinux y un booleano de SELinux, y
solucionará problemas de SELinux.
RESULTADOS
Usted deberá ser capaz de realizar lo siguiente:
ANDES DE COMENZAR
Inicie sesión en workstation como student con la contraseña student.
INSTRUCCIONES
Realice las siguientes tareas para completar la revisión completa:
• Genere claves de SSH para el usuario student en serverb. No proteja la clave privada
con una frase de contraseña.
• Configure serverb para que monte automáticamente el directorio de inicio del usuario
production5 cuando el usuario inicie sesión, con el sistema de archivos de red /home-
directories/production5. Este sistema de archivos de red se exporta desde
servera.lab.example.com. Ajuste el booleano correspondiente de SELinux para que
production5 pueda usar el directorio de inicio montado en NFS en serverb después
de la autenticación basada en claves de SSH. La contraseña del usuario production5 es
redhat.
• En serverb, ajuste la configuración del firewall para que se rechacen las conexiones de
SSH que se originan en servera.
RH199-RHEL8.0-es-1-20190531 595
CAPÍTULO 16 | Revisión completa
Evaluación
En workstation, ejecute el script lab rhcsa-compreview3 grade para confirmar que ha
realizado correctamente este ejercicio. Corrija los errores informados y vuelva a ejecutar el script
hasta obtener un resultado satisfactorio.
Finalizar
En workstation, ejecute lab rhcsa-compreview3 finish para terminar este ejercicio. Este
script elimina los archivos y recursos creados durante el ejercicio para garantizar que el entorno
esté limpio.
Guarde los archivos o trabajos que desee conservar en otros sistemas y restablezca
workstation, servera y serverb.
596 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 16 | Revisión completa
SOLUCIÓN
CONFIGURACIÓN Y ADMINISTRACIÓN
DE SEGURIDAD DEL SERVIDOR
En esta revisión, configurará la autenticación basada en claves de SSH, cambiará la
configuración del cortafuegos, ajustará el modo de SELinux y un booleano de SELinux, y
solucionará problemas de SELinux.
RESULTADOS
Usted deberá ser capaz de realizar lo siguiente:
ANDES DE COMENZAR
Inicie sesión en workstation como student con la contraseña student.
INSTRUCCIONES
Realice las siguientes tareas para completar la revisión completa:
• Genere claves de SSH para el usuario student en serverb. No proteja la clave privada
con una frase de contraseña.
• Configure serverb para que monte automáticamente el directorio de inicio del usuario
production5 cuando el usuario inicie sesión, con el sistema de archivos de red /home-
directories/production5. Este sistema de archivos de red se exporta desde
servera.lab.example.com. Ajuste el booleano correspondiente de SELinux para que
production5 pueda usar el directorio de inicio montado en NFS en serverb después
de la autenticación basada en claves de SSH. La contraseña del usuario production5 es
redhat.
• En serverb, ajuste la configuración del firewall para que se rechacen las conexiones de
SSH que se originan en servera.
RH199-RHEL8.0-es-1-20190531 597
CAPÍTULO 16 | Revisión completa
2. Genere claves de SSH para el usuario student en serverb con el comando ssh-keygen.
No proteja la clave privada con una frase de contraseña.
3.1. Use el comando ssh-copy-id para transferir la clave pública del par de claves SSH de
student en serverb a student en servera. Use student como la contraseña para
el usuario student, si se le solicita.
598 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 16 | Revisión completa
3.2. Use el comando ssh para verificar que el usuario student pueda iniciar sesión en
servera desde serverb sin introducir una contraseña.
...output omitted...
#SELINUX=enforcing
SELINUX=permissive
...output omitted...
4.2. Use el comando sudo systemctl reboot para reiniciar el sistema como el
superusuario.
5. Configure serverb para que monte automáticamente el directorio de inicio del usuario
production5 cuando el usuario inicie sesión, con el sistema de archivos de red /home-
directories/production5. Este sistema de archivos de red se exporta desde
servera.lab.example.com. Ajuste el booleano correspondiente de SELinux para que
production5 pueda usar el directorio de inicio montado en NFS en serverb después
de la autenticación basada en claves de SSH. La contraseña del usuario production5 es
redhat.
5.1. En serverb, use el comando sudo -i para cambiar a la cuenta de usuario root.
RH199-RHEL8.0-es-1-20190531 599
CAPÍTULO 16 | Revisión completa
Complete!
/- /etc/auto.production5
6.1. Desde workstation, abra una sesión de SSH para servera como student.
6.3. Use el comando ssh-keygen para generar claves SSH como production5..
600 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 16 | Revisión completa
SHA256:zmin1nmCt4H8LA+4FPimtdg81nl7ATbInUFW3HSPxk4
production5@servera.lab.example.com
The key's randomart image is:
+---[RSA 2048]----+
| .oo.o. . |
| .. . .o o |
| . o o E .|
| . o * + |
| . . .So . |
| . + = . |
| *.*+=. . |
| Oo+***.o |
| o.=o.=** |
+----[SHA256]-----+
6.4. Use el comando ssh-copy-id para transferir la clave pública del par de claves SSH
de production5 en servera a production5 en serverb. Use redhat como la
contraseña para el usuario production5, si se le solicita.
6.5. Use la autenticación basada en clave pública SSH en lugar de la autenticación basada en
contraseña para iniciar sesión en serverb como production5. Este comando debería
fallar.
RH199-RHEL8.0-es-1-20190531 601
CAPÍTULO 16 | Revisión completa
7.2. Use la autenticación basada en clave pública SSH en lugar de la autenticación basada
en contraseña para iniciar sesión en serverb como production5. Este comando debe
arrojar resultados satisfactorios.
8. En serverb, ajuste la configuración del firewall para que se rechacen las conexiones de SSH
que se originan en servera. El sistema servera usa la dirección IPv4 172.25.250.10.
8.1. Use el comando firewall-cmd para agregar la dirección IPv4 de servera a la zona de
firewalld denominada block.
8.2. Use el comando firewall-cmd --reload para volver a cargar los cambios en la
configuración del firewall.
9. En serverb, investigue y corrija el problema con el daemon HTTPD de Apache, que está
configurado para escuchar en el puerto 30080/TCP, pero que no se puede iniciar. Ajuste la
configuración del firewall según corresponda para que el puerto 30080/TCP esté abierto
para conexiones entrantes.
9.1. Use el comando systemctl para reiniciar el servicio httpd. Este comando no puede
reiniciar el servicio.
9.2. Use el comando systemctl status para investigar el motivo del error del servicio
httpd.
602 RH199-RHEL8.0-es-1-20190531
CAPÍTULO 16 | Revisión completa
Observe el error de permiso en la salida anterior, lo que significa que el daemon httpd
no pudo vincularse con el puerto 30080/TCP. La política de SELinux puede ser una
restricción potencial para que una aplicación se vincule con un puerto. Presione q para
salir del comando systemctl anterior.
9.3. Use el comando sealert para determinar si una política de SELinux está impidiendo
que httpd se vincule con el puerto 30080/TCP.
9.4. Use el comando semanage port para establecer el contexto apropiado de SELinux en
el puerto 30080 para que httpd se vincule con él.
9.5. Use el comando systemctl para reiniciar httpd. Este comando debe reiniciar el
servicio correctamente.
RH199-RHEL8.0-es-1-20190531 603
CAPÍTULO 16 | Revisión completa
Evaluación
En workstation, ejecute el script lab rhcsa-compreview3 grade para confirmar que ha
realizado correctamente este ejercicio. Corrija los errores informados y vuelva a ejecutar el script
hasta obtener un resultado satisfactorio.
Finalizar
En workstation, ejecute lab rhcsa-compreview3 finish para terminar este ejercicio. Este
script elimina los archivos y recursos creados durante el ejercicio para garantizar que el entorno
esté limpio.
Guarde los archivos o trabajos que desee conservar en otros sistemas y restablezca
workstation, servera y serverb.
604 RH199-RHEL8.0-es-1-20190531