StudyToCert

Lecciones en español / Linux+ / Hoja de repaso · English

Hoja de repaso de Linux+ XK0-006

Cada consejo para el examen y término clave de las lecciones gratuitas de Linux+, por dominio. Usa la opción Imprimir de tu navegador para guardarla como PDF.

Dominio 1: System management (23%)

Consejos para el examen

Términos clave

UEFI
Unified Extensible Firmware Interface: firmware moderno que arranca ejecutables EFI desde una partición del sistema EFI y admite Secure Boot.
ESP
EFI System Partition (partición del sistema EFI): una pequeña partición FAT, normalmente montada en /boot/efi, que contiene los gestores de arranque UEFI.
GRUB2
El gestor de arranque estándar de Linux; se configura mediante /etc/default/grub y un grub.cfg generado.
initramfs
Un sistema de archivos raíz temporal y comprimido que se carga en RAM y contiene los controladores y scripts necesarios para montar el sistema de archivos raíz real.
dracut / mkinitramfs
Herramientas que construyen la imagen initramfs: dracut en la familia Red Hat y SUSE, mkinitramfs/update-initramfs en la familia Debian.
target de systemd (systemd target)
Una unidad que agrupa otras unidades en un estado del sistema, como multi-user.target o graphical.target, y que reemplaza a los runlevels de SysV.
Secure Boot
Una función de UEFI que solo ejecuta gestores de arranque y kernels firmados con claves de confianza.
FHS
Filesystem Hierarchy Standard (estándar de jerarquía del sistema de archivos): la convención que define el propósito de los directorios de nivel superior de Linux.
/etc
El directorio para los archivos de configuración específicos del host.
/var
El directorio para datos variables como logs, colas, cachés y estado de las aplicaciones.
/usr/local
El área reservada para el software instalado localmente, que el gestor de paquetes no tocará.
/proc
Un sistema de archivos virtual que expone información de procesos y del kernel, incluidos los parámetros ajustables bajo /proc/sys.
/sys
Sysfs, un sistema de archivos virtual que expone dispositivos, controladores y objetos del kernel.
/dev
El directorio de archivos de dispositivo, como /dev/sda y /dev/null, mantenido por udev.
Módulo del kernel (kernel module)
Un fragmento cargable de código del kernel (archivo .ko), como un controlador, que se puede insertar o quitar mientras el sistema funciona.
modprobe
Carga o quita (-r) un módulo junto con sus dependencias, leyendo las opciones de /etc/modprobe.d.
modinfo
Muestra la ruta del archivo de un módulo, su descripción, sus dependencias y los parámetros que admite.
depmod
Construye el mapa de dependencias modules.dep que modprobe usa para cargar dependencias.
Lista negra (blacklist)
Una directiva de modprobe.d que impide que un módulo se cargue automáticamente por su alias.
sysctl
Una herramienta para ver y establecer parámetros de tiempo de ejecución del kernel bajo /proc/sys; los valores persistentes van en /etc/sysctl.d/*.conf.
Inodo (inode)
La estructura en disco que guarda los metadatos de un archivo y los punteros a sus datos; las entradas de directorio asocian nombres con números de inodo.
Enlace duro (hard link)
Una entrada de directorio adicional para el mismo inodo; no puede cruzar sistemas de archivos y sobrevive a la eliminación de los demás nombres.
Enlace simbólico (symbolic link)
Un archivo independiente que guarda una ruta a un destino; puede cruzar sistemas de archivos, pero se rompe si se elimina el destino.
mtime vs ctime
mtime cambia cuando cambia el contenido del archivo; ctime cambia cuando cambian metadatos como los permisos o la propiedad.
find -exec
Una acción de find que ejecuta un comando sobre cada archivo encontrado, reemplazando {} por el nombre del archivo.
locate
Una búsqueda rápida por nombre de archivo que usa una base de datos construida por updatedb, por lo que puede no encontrar archivos creados recientemente.
GPT
GUID Partition Table: esquema de particiones moderno que admite discos muy grandes, muchas particiones y una tabla de respaldo.
MBR
Master Boot Record: esquema de particiones heredado limitado a cuatro particiones primarias y a discos de unos 2 TiB.
UUID
Un identificador único guardado en un sistema de archivos, que se usa en /etc/fstab para que los montajes no dependan de los nombres de dispositivo.
partprobe
Le pide al kernel que vuelva a leer la tabla de particiones de un disco para que los cambios surtan efecto sin reiniciar.
nofail
Una opción de fstab que permite que el arranque continúe si el dispositivo no está presente.
noexec
Una opción de fstab que impide ejecutar binarios guardados en ese sistema de archivos.
PV / VG / LV
Volumen físico (un disco preparado para LVM), grupo de volúmenes (un conjunto de PV) y volumen lógico (un volumen utilizable recortado de ese conjunto).
Extent (extensión)
La unidad de espacio de tamaño fijo que LVM asigna desde un grupo de volúmenes a los volúmenes lógicos.
lvextend -r
Extiende un volumen lógico y redimensiona su sistema de archivos en el mismo comando.
vgextend
Añade un nuevo volumen físico a un grupo de volúmenes existente para aumentar su espacio libre.
mdadm
La herramienta de Linux para crear, supervisar y administrar arreglos RAID por software (/dev/mdN).
/proc/mdstat
Un archivo de estado del kernel que muestra cada arreglo RAID por software, sus miembros y el progreso de cualquier reconstrucción.
RAID 5
Franjas con paridad distribuida entre al menos tres discos, que sobrevive a la pérdida de un disco.
Journaling (registro por diario)
Una técnica en la que un sistema de archivos registra los cambios de metadatos pendientes para poder recuperarse de forma consistente después de una caída.
XFS
Un sistema de archivos con journaling de alto rendimiento, predeterminado en RHEL, que puede crecer en línea pero no se puede reducir.
Btrfs
Un sistema de archivos de copia en escritura con subvolúmenes, instantáneas, sumas de verificación y soporte multidispositivo integrado.
resize2fs
Agranda o reduce un sistema de archivos ext2/3/4 para ajustarlo a su dispositivo.
xfs_growfs
Agranda un sistema de archivos XFS montado, indicado por su punto de montaje.
df vs du
df informa el espacio libre y usado por sistema de archivos; du suma el espacio usado por archivos y directorios.
Agotamiento de inodos (inode exhaustion)
Cuando un sistema de archivos se queda sin inodos y no se pueden crear archivos nuevos aunque queden bloques libres; se observa con df -i.
iproute2 (ip)
El conjunto moderno para ver y cambiar interfaces, direcciones, rutas y vecinos; los cambios no son persistentes.
nmcli
Cliente de línea de comandos de NetworkManager que administra perfiles de conexión persistentes.
netplan
El sistema de configuración de red de Ubuntu basado en YAML que genera ajustes para systemd-networkd o NetworkManager.
hostnamectl
Herramienta de systemd que muestra y establece de forma permanente el nombre de host del sistema.
/etc/resolv.conf
Lista los servidores de nombres DNS y los dominios de búsqueda que usa el resolvedor del sistema.
nsswitch.conf
Define el orden de las fuentes de búsqueda (files, dns, sss, etc.) para hosts, usuarios, grupos y más.
Descriptor de archivo (file descriptor)
Un número que identifica un flujo abierto: 0 es stdin, 1 es stdout y 2 es stderr.
Tubería (pipe)
El operador | que envía la salida estándar de un comando a la entrada estándar de otro.
export
Marca una variable del shell para que se pase a los procesos hijos como variable de entorno.
tee
Copia su entrada estándar a un archivo y a la salida estándar al mismo tiempo.
sed
Un editor de flujo que se usa principalmente para buscar y reemplazar y para filtrar líneas; -i edita archivos en el lugar.
awk
Un lenguaje de búsqueda de patrones que divide las líneas en campos ($1, $2 ...) para filtrar y generar informes.
tar
Herramienta de archivado que agrupa archivos conservando los metadatos; -c crear, -x extraer, -t listar, -f archivo, con -z/-j/-J para gzip/bzip2/xz.
rsync
Herramienta de sincronización incremental de archivos que transfiere solo las diferencias, de forma local o sobre SSH.
dd
Herramienta de copia a nivel de bloques que se usa para imágenes de disco y para escribir dispositivos en bruto; if= entrada, of= salida.
cpio
Archivador que recibe listas de archivos por stdin, comúnmente combinado con find; se usa en initramfs y en el contenido de los RPM.
xz
Un compresor que suele lograr una compresión mayor que gzip o bzip2 a costa de la velocidad.
rsync --delete
Elimina del destino los archivos que ya no existen en el origen, produciendo un espejo exacto.
KVM
Kernel-based Virtual Machine: módulos del kernel que usan las extensiones de virtualización de la CPU para convertir a Linux en un hipervisor.
QEMU
El emulador que aporta el hardware virtual y, junto con KVM, ejecuta invitados a una velocidad casi nativa.
libvirt / virsh
Una API y un demonio de administración para hipervisores, y su cliente de línea de comandos para controlar invitados.
qcow2
Un formato de disco de QEMU con aprovisionamiento ligero que admite instantáneas, archivos base y compresión.
Imagen raw (raw image)
Una imagen de disco simple byte a byte sin funciones de metadatos, valorada por su sencillez y rendimiento.
virtio
Controladores de dispositivos paravirtualizados que dan a los invitados E/S de disco y red rápida.
Archivo base (backing file)
Una imagen base de solo lectura a la que hace referencia una capa qcow2, que guarda solo los cambios de la capa.

Dominio 2: Services and user management (20%)

Consejos para el examen

Términos clave

UID / GID
Identificadores numéricos de usuario y de grupo que el kernel usa realmente para la propiedad y las comprobaciones de permisos.
Grupo primario (primary group)
El grupo asignado a un usuario en /etc/passwd y que se asigna a los archivos que crea el usuario.
Grupo suplementario (supplementary group)
Grupos adicionales a los que pertenece un usuario, listados en /etc/group, que otorgan acceso extra.
usermod -aG
Añade un usuario a grupos suplementarios sin quitar las pertenencias existentes.
chage
Comando que muestra y establece el envejecimiento de contraseñas y la expiración de la cuenta de un usuario.
Cuenta de sistema (system account)
Una cuenta de pocos privilegios creada con useradd -r para ejecutar un servicio, normalmente sin shell de inicio de sesión.
/etc/passwd
Base de datos de cuentas legible por todos con siete campos: nombre, x, UID, GID, GECOS, directorio personal y shell.
/etc/shadow
Archivo que solo root puede leer y que contiene los hashes de contraseñas y los campos de envejecimiento y expiración.
/etc/group
Base de datos de grupos que lista el nombre del grupo, el GID y los miembros suplementarios.
/etc/skel
Directorio plantilla cuyos archivos se copian en los directorios personales de los usuarios nuevos.
/etc/login.defs
Configuración de los valores predeterminados de las herramientas de cuentas, como los rangos de UID y el envejecimiento de contraseñas.
vipw / vigr
Herramientas que bloquean y editan de forma segura los archivos passwd y group (y sus versiones shadow con -s).
Unidad (unit)
Un objeto de configuración de systemd, como un .service, .socket, .timer, .mount o .target.
enable vs start
enable configura una unidad para que se inicie en el arranque; start la ejecuta ahora. Ninguno implica al otro.
mask
Enlaza una unidad con /dev/null para que no se pueda iniciar manualmente ni como dependencia.
Anulación drop-in (drop-in override)
Un archivo .conf en /etc/systemd/system/<unit>.d/ que anula ajustes seleccionados de una unidad.
daemon-reload
Le indica a systemd que vuelva a leer los archivos de unidad después de que cambian en el disco.
WantedBy=
Un ajuste de [Install] que indica el target que debe activar la unidad cuando está habilitada.
crontab
Una tabla por usuario de tareas programadas, que se edita con crontab -e, con cinco campos de tiempo más un comando.
at
Programa un comando para que se ejecute una sola vez en el futuro; se administra con atq y atrm y lo ejecuta atd.
Timer de systemd (systemd timer)
Una unidad .timer que activa la unidad .service correspondiente según un horario.
OnCalendar
Un ajuste de timer que define horarios de reloj, como Mon..Fri *-*-* 02:30:00.
Persistent=true
Una opción de timer que ejecuta una tarea perdida en la siguiente oportunidad después de un apagado.
cron.allow / cron.deny
Archivos que controlan qué usuarios pueden crear crontabs; si existe cron.allow, solo pueden hacerlo los usuarios listados.
PID / PPID
Identificador de proceso e identificador del proceso padre, que se usan para identificar los procesos y sus relaciones.
SIGTERM vs SIGKILL
SIGTERM (15) le pide a un proceso que termine de forma limpia; SIGKILL (9) fuerza la terminación y no se puede capturar.
SIGHUP
La señal 1, que se envía al colgarse la terminal y que muchos demonios usan como petición para recargar la configuración.
Valor nice (nice value)
Un ajuste de prioridad de -20 (el más favorecido) a 19 (el menos favorecido); solo root puede bajarlo.
Proceso zombi (zombie process)
Un proceso terminado cuyo estado de salida todavía no ha recogido su padre; se muestra con el estado Z.
nohup
Ejecuta un comando inmune a las señales de colgado para que siga ejecutándose después de que el usuario cierre sesión.
rpm / dpkg
Herramientas de paquetes de bajo nivel que instalan y consultan archivos de paquete individuales sin resolver dependencias.
dnf / apt
Gestores de paquetes de alto nivel que descargan desde repositorios y resuelven dependencias.
Repositorio (repository)
Un servidor o ubicación que aloja paquetes y metadatos firmados, configurado en /etc/yum.repos.d o /etc/apt/sources.list(.d).
rpm -qf / dpkg -S
Consultas que informan qué paquete instalado es dueño de un archivo determinado.
dnf provides
Busca en los repositorios el paquete que aporta un archivo o comando determinado.
rpm -V
Verifica los archivos de los paquetes instalados contra la base de datos de paquetes e informa los cambios.
gpgcheck
Un ajuste de repositorio que exige firmas GPG válidas en los paquetes antes de instalarlos.
make
Una herramienta de compilación que lee un Makefile y ejecuta los pasos para compilar software; make install lo copia a su lugar.
./configure
Un script que comprueba las dependencias de compilación y genera un Makefile, a menudo con --prefix para establecer la ruta de instalación.
pip
El instalador de paquetes de Python, que conviene usar dentro de un entorno virtual.
Entorno virtual (virtual environment)
Un entorno de Python aislado creado con python3 -m venv para que los paquetes del proyecto no afecten al sistema.
Flatpak
Un formato de paquetes universal aislado, principalmente para aplicaciones de escritorio, que comúnmente se instala desde Flathub.
Snap
El formato de paquetes aislado de Canonical administrado por snapd, con actualizaciones automáticas y modos de confinamiento.
Imagen (image)
Una plantilla de solo lectura construida en capas (name:tag) a partir de la cual se crean los contenedores.
Contenedor (container)
Un proceso aislado que se ejecuta a partir de una imagen con su propia capa escribible y comparte el kernel del host.
Namespaces y cgroups
Funciones del kernel que dan a los contenedores vistas aisladas del sistema y limitan su uso de recursos.
Publicación de puertos (port publishing)
La opción -p host:contenedor que asocia un puerto del host con un puerto dentro del contenedor.
Volumen (volume)
Almacenamiento persistente administrado por el motor de contenedores o montado por enlace desde el host, que sobrevive a la eliminación del contenedor.
Contenedor sin root (rootless container)
Un contenedor ejecutado por un usuario sin privilegios, como admite Podman, que limita el impacto de un compromiso.
Pod
La unidad más pequeña de Kubernetes: uno o más contenedores que comparten una dirección IP y volúmenes.
Deployment
Un objeto que declara una imagen y un número de réplicas, mantiene esa cantidad de pods y realiza actualizaciones progresivas.
Service
Una IP virtual y un nombre DNS estables que reparten el tráfico entre los pods seleccionados por etiquetas.
kubectl
El cliente de línea de comandos que se comunica con el servidor de API de Kubernetes.
Configuración declarativa (declarative configuration)
Describir el estado deseado en manifiestos y dejar que los controladores reconcilien el clúster para que coincida.
Secret
Un objeto de Kubernetes para valores sensibles, codificado en base64 de forma predeterminada en lugar de cifrado.
systemd-journald
El servicio de registro de systemd que guarda datos de log estructurados que se consultan con journalctl.
rsyslog
Un demonio syslog que dirige los mensajes por facilidad y prioridad hacia archivos o servidores remotos.
Facilidad y prioridad (facility and priority)
Categorías de syslog para el origen del mensaje (auth, cron, kern, local0...) y su gravedad (de debug a emerg).
logrotate
Una utilidad que rota, comprime y depura archivos de log según reglas en /etc/logrotate.d.
Journal persistente (persistent journal)
Almacenamiento del journal bajo /var/log/journal que sobrevive a los reinicios.
logger
Un comando que escribe un mensaje de prueba en el log del sistema con la facilidad y prioridad elegidas.

Dominio 3: Security (18%)

Consejos para el examen

Términos clave

Permisos octales (octal permissions)
Notación numérica en la que r=4, w=2, x=1 se suman para usuario, grupo y otros, como en 750.
Permisos simbólicos (symbolic permissions)
Notación que usa u, g, o, a con +, - o = y r, w, x para cambiar bits concretos.
Ejecución en un directorio
Permiso para entrar en un directorio y acceder a su contenido por nombre.
X mayúscula (capital X)
Un bit simbólico de chmod que añade ejecución solo a directorios y a archivos que ya son ejecutables para alguien.
chown
Cambia el propietario y/o el grupo propietario de un archivo, por ejemplo chown alice:devs file.
umask
Una máscara de bits de permiso que se quitan de los valores predeterminados (666 para archivos, 777 para directorios) al crear archivos nuevos.
SUID
Bit especial (4000) que hace que un ejecutable se ejecute con los privilegios de su propietario; se muestra como s en la posición de ejecución del usuario.
SGID
Bit especial (2000) que ejecuta un programa con el grupo del archivo o hace que los archivos nuevos de un directorio hereden su grupo.
Sticky bit
Bit de directorio (1000) que solo permite al propietario del archivo, al propietario del directorio o a root borrarlo o renombrarlo.
ACL
Lista de control de acceso (access control list): entradas de permisos adicionales por usuario o por grupo que se administran con setfacl y getfacl.
ACL predeterminada (default ACL)
Una ACL en un directorio que heredan los archivos y subdirectorios nuevos cuando se crean.
Máscara de ACL (ACL mask)
La entrada de ACL que limita los permisos efectivos máximos de los usuarios con nombre, los grupos con nombre y el grupo propietario.
MAC
Control de acceso obligatorio (mandatory access control): una política aplicada por el sistema que restringe los programas sin importar la propiedad de los archivos.
Contexto de SELinux (SELinux context)
La etiqueta user:role:type:level de archivos y procesos; el tipo determina la mayoría de las decisiones de la política targeted.
restorecon
Restablece las etiquetas de SELinux de los archivos a los valores predeterminados definidos en la política.
semanage fcontext
Define una etiqueta de SELinux predeterminada y persistente para un patrón de rutas, que aplica restorecon.
Booleano de SELinux (SELinux boolean)
Un interruptor de la política que se activa con setsebool (-P para que sea persistente) para permitir comportamientos opcionales.
Denegación AVC (AVC denial)
Un mensaje de access vector cache en el log de auditoría que registra una acción que SELinux bloqueó o bloquearía.
Perfil de AppArmor (AppArmor profile)
Una política basada en rutas para un programa, que funciona en modo enforce o complain.
netfilter
El marco del kernel de Linux que realiza el filtrado de paquetes y la NAT, configurado por las herramientas de firewall.
Zona de firewalld (firewalld zone)
Un nivel de confianza con nombre, con sus propios servicios y puertos permitidos, vinculado a interfaces o direcciones de origen.
--permanent
Opción de firewall-cmd que guarda un cambio en la configuración; surte efecto después de --reload.
Regla enriquecida (rich rule)
Una regla de firewalld con condiciones más finas, como permitir un servicio solo desde una subred de origen concreta.
ufw
Uncomplicated Firewall, la interfaz simplificada de Ubuntu con reglas persistentes.
nftables
El marco moderno de reglas de netfilter que se administra con nft y reemplaza a iptables.
DROP vs REJECT
DROP descarta un paquete sin avisar; REJECT lo descarta y devuelve un error al remitente.
Autenticación basada en claves (key-based authentication)
Iniciar sesión demostrando la posesión de una clave privada cuya mitad pública figura en el archivo authorized_keys del servidor.
ssh-copy-id
Una utilidad que agrega tu clave pública al authorized_keys de una cuenta remota y establece los permisos correctos.
PermitRootLogin
La opción de sshd_config que controla si root puede iniciar sesión directamente por SSH (no, prohibit-password o yes).
PasswordAuthentication
La opción de sshd_config que habilita o deshabilita los inicios de sesión con contraseña; se pone en no una vez que las claves funcionan.
StrictModes
Una verificación de sshd que rechaza las claves cuando el directorio home, ~/.ssh o authorized_keys son escribibles por otros usuarios.
sshd -t
Prueba la sintaxis de la configuración de sshd sin reiniciar el demonio.
known_hosts
El archivo del cliente que registra las claves de host de los servidores que has aceptado, usado para detectar ataques de intermediario.
sudo
Ejecuta un comando como root u otro usuario después de revisar las reglas de sudoers, usando la contraseña propia de quien lo invoca y registrando el comando.
visudo
Edita los archivos sudoers con bloqueo y verificación de sintaxis para que un error no pueda romper sudo.
/etc/sudoers.d
Un directorio de archivos sudoers drop-in, cada uno editado con visudo -f e ignorado si su nombre contiene un punto o termina en ~.
su -
Cambia a otro usuario, root por defecto, con un entorno de inicio de sesión completo, usando la contraseña de la cuenta de destino.
Grupo wheel / sudo
Grupos que reciben derechos completos de sudo en sistemas de la familia RHEL y de la familia Debian, respectivamente.
NOPASSWD
Una etiqueta de sudoers que permite ejecutar una regla sin solicitud de contraseña, útil para la automatización pero más débil.
polkit
Un framework que autoriza a procesos sin privilegios a realizar acciones privilegiadas específicas a través de servicios del sistema, usando reglas en /etc/polkit-1/rules.d/.
PAM
Pluggable Authentication Modules, el framework mediante el cual los programas de Linux delegan la autenticación, las verificaciones de cuenta, los cambios de contraseña y la preparación de la sesión.
Bandera de control (control flag)
La palabra clave de PAM (required, requisite, sufficient, optional) que decide cómo afecta el resultado de un módulo a la pila.
pam_faillock
Un módulo PAM que bloquea una cuenta tras un número definido de inicios de sesión fallidos; se administra con el comando faillock.
pam_pwquality
Un módulo PAM que impone las reglas de solidez de contraseñas de /etc/security/pwquality.conf cuando las contraseñas cambian.
SSSD
El System Security Services Daemon, que conecta Linux con LDAP, FreeIPA o Active Directory y guarda en caché identidades y credenciales.
TGT de Kerberos
Un ticket-granting ticket emitido por el KDC tras el inicio de sesión, usado para obtener tickets de servicio sin volver a escribir la contraseña.
MFA
Autenticación multifactor, que exige dos o más tipos de factor distintos, como una contraseña y un código TOTP.
Hash
Un resumen unidireccional de longitud fija de los datos que cambia por completo si los datos cambian; se usa para verificar la integridad.
Firma GPG (GPG signature)
Un valor creado con una clave privada que cualquiera con la clave pública correspondiente puede verificar, lo que demuestra integridad y autenticidad.
Certificado X.509
Un documento firmado por una CA que vincula una clave pública con un nombre, usado por los servidores TLS.
CSR
Una solicitud de firma de certificado (certificate signing request) que contiene una clave pública y datos de identidad, enviada a una CA para que la firme.
SAN
Subject Alternative Name, el campo del certificado que lista los nombres de host para los que el certificado es válido.
LUKS
Linux Unified Key Setup, el formato estándar para el cifrado completo de dispositivos de bloque, administrado con cryptsetup.
Ranura de clave (key slot)
Una de varias entradas de LUKS que pueden desbloquear el mismo volumen, cada una con una frase de contraseña o archivo de clave distinto.
Superficie de ataque (attack surface)
El conjunto total de servicios, software e interfaces que un atacante podría intentar explotar.
systemctl mask
Enlaza una unidad a /dev/null para que no pueda iniciarse manualmente ni como dependencia hasta que se desenmascare.
Secure Boot
Una función de UEFI que solo permite ejecutar cargadores de arranque, kernels y módulos firmados.
MOK
Machine Owner Key, una clave inscrita localmente que se usa para firmar kernels o módulos para que se carguen con Secure Boot.
AIDE
Advanced Intrusion Detection Environment, una herramienta de integridad de archivos que compara los archivos con una línea base almacenada de hashes y atributos.
Gestión de parches (patch management)
El proceso de encontrar, probar, aplicar y verificar actualizaciones de software, dando prioridad a las correcciones de seguridad.
Defensa en profundidad (defense in depth)
Superponer varios controles independientes para que la falla de uno no deje expuesto el sistema.
auditd
El demonio de auditoría de Linux que registra eventos de seguridad a nivel del kernel en /var/log/audit/audit.log.
Clave de regla de auditoría (-k)
Una etiqueta asociada a las reglas de auditoría para que los eventos relacionados puedan encontrarse con ausearch -k.
auid
El audit user ID, la identidad de inicio de sesión original que se conserva incluso después de sudo o su.
ausearch / aureport
Herramientas que buscan eventos específicos en los logs de auditoría y producen informes resumidos.
CVE / CVSS
Identificadores estándar de vulnerabilidades conocidas y el sistema de puntuación usado para calificar su gravedad.
CIS Benchmark
Una guía de configuración segura, consensuada y priorizada, para un sistema operativo o aplicación específicos.
OpenSCAP
Una herramienta que evalúa sistemas contra perfiles de cumplimiento SCAP, puede corregirlos y produce informes.

Dominio 4: Automation, orchestration, and scripting (17%)

Consejos para el examen

Términos clave

Shebang
La primera línea #! que nombra el intérprete que el kernel debe usar para ejecutar un script.
Parámetros posicionales (positional parameters)
Los argumentos del script, disponibles como $1, $2 y así sucesivamente, con $# como la cantidad y $@ como la lista completa.
Expansión de parámetros (parameter expansion)
Sintaxis del shell como ${var:-default} o ${file%.txt} que sustituye o transforma los valores de las variables.
Sustitución de comandos (command substitution)
$(command), que se reemplaza a sí misma por la salida del comando.
Estado de salida ($?)
El código de 0 a 255 que devuelve un comando, donde 0 significa éxito; $? contiene el más reciente.
source
Ejecuta un script en el shell actual para que sus variables y cambios de directorio persistan.
test / [ ]
El comando que evalúa expresiones de archivos, cadenas y enteros y devuelve 0 si es verdadera.
[[ ]]
La prueba extendida de Bash, con coincidencia de patrones, expresiones regulares =~ y un manejo más seguro de las variables sin comillas.
case
Una instrucción que compara un valor con patrones, con ;; al final de cada rama y esac al final del bloque.
Bucle while read
while IFS= read -r line; do ...; done < file, la forma segura de procesar un archivo línea por línea.
local
Declara una variable visible solo dentro de la función actual.
Arreglo asociativo (associative array)
Un arreglo de Bash indexado por cadenas, creado con declare -A.
set -e
Termina el script cuando un comando falla fuera de una condición o de una lista con ||.
set -u
Trata el uso de una variable no definida como un error que detiene el script.
pipefail
Hace que el estado de salida de un pipeline refleje el último comando que falló en lugar de solo el final.
trap
Registra un comando para ejecutarlo ante una señal o en EXIT, usado comúnmente para la limpieza.
mktemp
Crea de forma segura un archivo o directorio temporal con un nombre único.
Validación de entradas (input validation)
Verificar los argumentos y los datos contra formatos esperados o listas de permitidos antes de usarlos.
ShellCheck
Una herramienta de análisis estático que informa errores comunes en scripts de shell con códigos como SC2086.
list vs tuple (lista frente a tupla)
Ambas son secuencias ordenadas; las listas pueden modificarse, las tuplas no.
set
Una colección desordenada de elementos únicos que admite unión, intersección y diferencia.
dict
Una asociación de claves con valores, que se lee con d[key] o d.get(key, default).
venv
Un entorno virtual de Python que aísla los paquetes instalados de un proyecto del Python del sistema.
pip
El instalador de paquetes de Python, usado dentro de un venv para instalar bibliotecas.
requirements.txt
Un archivo que lista las versiones exactas de los paquetes para que un entorno pueda recrearse con pip install -r.
Commit
Una instantánea registrada de los cambios preparados, con autor, mensaje e ID único.
Área de preparación (staging area)
El índice donde se preparan los cambios con git add antes de hacer commit.
Rama (branch)
Un puntero móvil a una línea de commits, usado para trabajar en cambios de forma aislada.
merge frente a rebase
merge une historiales, posiblemente con un commit de merge; rebase vuelve a aplicar commits sobre una nueva base para obtener un historial lineal con nuevos ID.
git revert
Crea un nuevo commit que deshace uno anterior sin reescribir el historial.
git reset
Mueve el puntero de la rama a un commit anterior, reescribiendo el historial local; --hard además descarta los cambios.
Pull request
Una solicitud en la plataforma de hospedaje para revisar y fusionar una rama publicada, a menudo condicionada a verificaciones y aprobaciones.
Inventario (inventory)
La lista de hosts administrados y grupos, en INI o YAML, opcionalmente con variables de host y de grupo.
Módulo (module)
Una pequeña unidad de trabajo, como dnf o copy, que Ansible envía a un host y ejecuta.
Comando ad hoc
Un solo módulo ejecutado desde la línea de comandos contra un patrón de host, como ansible all -m ping.
Playbook
Un archivo YAML de plays y tareas que describe el estado deseado de los hosts de destino.
Handler
Una tarea que se ejecuta solo cuando un cambio la notifica, normalmente para reiniciar o recargar un servicio.
Idempotencia (idempotence)
La propiedad de que repetir una operación deja sin cambios un sistema que ya está correcto.
ansible-vault
La herramienta que cifra archivos o cadenas que contienen secretos para usarlos en playbooks.
Gestión de configuración basada en agentes
Un modelo en el que el software de cada nodo descarga e impone su configuración desde un servidor central.
Catálogo de Puppet (catalog)
La descripción compilada del estado deseado de un nodo que el servidor de Puppet envía al agente.
Facter
La herramienta de Puppet que recopila datos (facts) sobre un nodo, como el sistema operativo y las direcciones IP.
Infraestructura como código (IaC)
Definir servidores, redes y otros recursos en archivos declarativos bajo control de versiones.
plan
El comando de OpenTofu/Terraform que previsualiza creaciones, cambios y destrucciones sin aplicarlos.
Archivo de estado (state file)
El registro que asocia la configuración con los ID reales de los recursos, guardado en un backend protegido y con bloqueo.
Deriva (drift)
Las diferencias entre la configuración declarada y el sistema real, a menudo causadas por cambios manuales.
Integración continua (continuous integration)
Fusionar cambios pequeños con frecuencia, con cada cambio compilado y probado automáticamente.
Entrega continua frente a despliegue continuo
La entrega mantiene cada cambio que pasa las pruebas listo para publicarse tras una aprobación manual; el despliegue publica automáticamente.
Pipeline
Una definición bajo control de versiones de etapas y trabajos que compilan, prueban y despliegan los cambios.
Artefacto (artifact)
Un resultado de un trabajo del pipeline, como un paquete o una imagen de contenedor, que pasa a las etapas posteriores.
GitOps
Operar sistemas declarando el estado deseado en Git y haciendo que un agente reconcilie el entorno en vivo con él.
Publicación canary (canary release)
Enviar una pequeña parte del tráfico a una nueva versión antes de desplegarla por completo.
Humano en el circuito (human in the loop)
Una persona revisa y aprueba la salida de la IA antes de usarla o ejecutarla.
Alucinación (hallucination)
Salida de IA segura en apariencia pero incorrecta, como una opción o un paquete inexistente.
Fuga de datos en prompts (prompt data leakage)
Información sensible expuesta al pegarla en un servicio de IA externo.
Sanitización (sanitization)
Reemplazar los secretos y los detalles identificadores por marcadores antes de compartir un texto.
Política de uso aceptable (acceptable use policy)
Las reglas de una organización sobre cómo pueden usarse herramientas como los asistentes de IA y con qué datos.
Ejecución de prueba (dry run)
Un modo que muestra lo que haría un script o una herramienta sin realizar cambios.

Dominio 5: Troubleshooting (22%)

Consejos para el examen

Términos clave

Inodo (inode)
La estructura en disco que contiene los metadatos de un archivo; cada archivo necesita uno.
Agotamiento de inodos (inode exhaustion)
Quedarse sin inodos, de modo que no se pueden crear archivos nuevos aunque queden bloques libres.
Archivo eliminado pero abierto (deleted-but-open file)
Un archivo eliminado cuyos datos siguen asignados porque un proceso todavía lo tiene abierto.
lsof +L1
Lista los archivos abiertos con un contador de enlaces menor que uno, es decir, que han sido eliminados.
fsck / e2fsck
Verifican y reparan sistemas de archivos ext2/3/4; se ejecutan sobre dispositivos desmontados.
xfs_repair
Verifica y repara sistemas de archivos XFS sobre un dispositivo desmontado; -L pone a cero el log como último recurso.
Bloques reservados (reserved blocks)
La parte de un sistema de archivos ext4 reservada para root, ajustable con tune2fs -m.
Carga promedio (load average)
Los promedios de 1, 5 y 15 minutos de los procesos ejecutables más los no interrumpibles, interpretados en relación con el número de núcleos.
Espera de E/S (wa, I/O wait)
Tiempo de CPU inactivo mientras se espera que termine la E/S de disco o de red.
Memoria disponible (available)
La estimación en free de la memoria que puede entregarse a las aplicaciones sin recurrir al swap.
vmstat
Informa la cola de ejecución, los procesos bloqueados, la actividad de swap, la E/S y la CPU en muestras periódicas.
iostat
Informa las tasas de E/S, el await y el %util por dispositivo; forma parte de sysstat.
sar
La herramienta de sysstat que registra e informa datos históricos de CPU, memoria, E/S y red.
OOM killer
El mecanismo del kernel que termina un proceso para liberar memoria cuando la RAM y el swap se agotan.
Ruta predeterminada (default route)
La ruta usada para los destinos sin una entrada más específica, que aparece como default via en ip route.
ss
La herramienta de estadísticas de sockets que lista los puertos en escucha, las conexiones y los procesos dueños.
dig
Una herramienta de consultas DNS que muestra las respuestas, los TTL y el servidor que respondió.
resolvectl
El cliente de systemd-resolved, que muestra los servidores DNS por enlace y resuelve nombres a través del resolvedor del sistema.
mtr
Una herramienta que combina ping y traceroute para mostrar continuamente la pérdida y la latencia por salto.
tcpdump
Una herramienta de captura de paquetes de línea de comandos con filtros, capaz de guardar archivos pcap.
nmap
Un escáner de puertos que informa los puertos abiertos, cerrados y filtrados y puede identificar servicios.
Prompt de rescate de GRUB (grub rescue)
Un shell mínimo de GRUB que aparece cuando el cargador de arranque no encuentra su configuración o sus módulos.
Kernel anterior (previous kernel)
Un kernel más antiguo instalado que se puede seleccionar en el menú de GRUB, usado cuando uno nuevo falla.
initramfs
El sistema de archivos inicial en RAM con los drivers y herramientas necesarios para montar el sistema de archivos raíz real.
rescue.target
Un target monousuario de systemd con los sistemas de archivos locales montados y servicios mínimos.
emergency.target
El target más mínimo de systemd, con la raíz montada en solo lectura y casi nada más iniciado.
chroot
Ejecuta comandos con otro directorio como raíz; se usa para reparar un sistema instalado desde un medio de rescate.
nofail
Una opción de fstab que permite que el arranque continúe si ese sistema de archivos no puede montarse.
203/EXEC
Un estado de salida de systemd que significa que el programa de ExecStart no pudo ejecutarse.
start-limit-hit
Un resultado que significa que systemd dejó de reiniciar una unidad después de demasiadas fallas en un período corto.
Requires= / After=
Requires incorpora una dependencia estricta; After solo ordena el arranque y no incorpora nada.
daemon-reload
systemctl daemon-reload, que hace que systemd vuelva a leer los archivos de unidad modificados.
Address already in use
El error de bind que aparece cuando otro proceso ya escucha en la dirección y el puerto solicitados.
Prueba de configuración (config test)
El verificador de sintaxis propio de una aplicación, como nginx -t o apachectl configtest, que se ejecuta antes de reiniciar.
Denegación AVC (AVC denial)
Un mensaje de la access vector cache de SELinux que registra un acceso bloqueado; se encuentra con ausearch -m avc.
restorecon
Restablece las etiquetas de SELinux de los archivos a los valores definidos por la política.
semanage fcontext
Agrega una regla persistente de etiquetado de SELinux para una ruta, que se aplica con restorecon.
Booleano de SELinux (SELinux boolean)
Un interruptor de política de encendido/apagado como httpd_can_network_connect, que se define de forma persistente con setsebool -P.
StrictModes
La verificación de sshd que rechaza las claves cuando los permisos del home, de ~/.ssh o de authorized_keys son demasiado abiertos.
namei -l
Muestra los permisos de cada componente de una ruta, lo que revela un bit de ejecución faltante en un directorio padre.
passwd -S
Muestra el estado de la contraseña de una cuenta, incluido si está bloqueada.
dmesg
Imprime el búfer circular del kernel con los mensajes de detección de hardware, de los drivers y de errores.
lspci -k
Lista los dispositivos PCI junto con el driver del kernel en uso para cada uno.
lsusb
Lista los dispositivos USB, con -t para una vista de árbol.
SMART
Self-Monitoring, Analysis and Reporting Technology, los datos de salud que los discos guardan sobre sí mismos, leídos con smartctl.
Sectores reasignados (reallocated sectors)
Sectores defectuosos que un disco ha reasignado a sectores de reserva; un conteo creciente indica una unidad que está fallando.
Arreglo degradado (degraded array)
Un arreglo RAID que sigue sirviendo datos después de perder un miembro, pero sin redundancia.
mdadm
La herramienta para crear, monitorear y reparar arreglos RAID por software de Linux.
NTP
Network Time Protocol, que sincroniza los relojes con servidores de hora por el puerto UDP 123.
chrony
La implementación de NTP más común en Linux, con chronyd como demonio y chronyc como cliente.
timedatectl
Muestra y define la hora del sistema, la zona horaria y si la sincronización NTP está habilitada.
RTC
El reloj de tiempo real (de hardware) que mantiene la hora mientras el sistema está apagado.
Estrato (stratum)
La distancia de un servidor NTP respecto a un reloj de referencia; los números más bajos están más cerca.
Desfase de reloj (clock skew)
La diferencia entre los relojes de distintos sistemas, que rompe los protocolos sensibles al tiempo.
Conflicto de dependencias (dependency conflict)
Una situación en la que no se pueden satisfacer a la vez todas las versiones de paquetes requeridas.
apt --fix-broken install
Intenta completar o reparar las dependencias rotas en sistemas de la familia Debian.
dpkg --configure -a
Termina de configurar los paquetes que una interrupción dejó a medio instalar.
NO_PUBKEY
Un error de apt que significa que la clave de firma del repositorio no está instalada.
apt-mark hold
Impide que un paquete se actualice en sistemas de la familia Debian.
dnf versionlock
Un plug-in de dnf que bloquea los paquetes en su versión actual.
dnf history undo
Revierte una transacción de dnf registrada.
Código de salida 137 (exit code 137)
La terminación de un contenedor causada por SIGKILL (128 + 9), a menudo por el OOM killer o por un límite de memoria.
podman ps -a
Lista todos los contenedores, incluidos los detenidos, con su estado.
podman inspect
Muestra la configuración y el estado detallados del contenedor, incluidos el código de salida, OOMKilled, los montajes y los puertos.
registries.conf
El archivo que define los registros y cómo se resuelven los nombres cortos de imágenes.
podman system df
Resume el espacio en disco que usan las imágenes, los contenedores y los volúmenes.
Opción de volumen Z (Z volume option)
El sufijo :Z o :z en -v que reetiqueta un bind mount para que el contenedor pueda acceder a él bajo SELinux.
Contenedor sin root (rootless container)
Un contenedor ejecutado por un usuario sin privilegios, con los UID asignados a ID subordinados en el host.
Estudia Linux+ gratis
Plan semana a semana con lecciones, cuestionarios, simulaciones de examen y práctica, en español.
Abrir el plan de estudio