Tema: linux
-
Resumir el tiempo en llamadas al sistema con strace -c, su sobrecarga y perf trace como alternativa
strace -c cuenta tiempo, llamadas y errores por cada llamada al sistema en lugar de imprimir todas; el propio manual de strace advierte de que un proceso trazado se ejecuta más despacio que uno sin trazar. perf trace, descrito como una herramienta inspirada en strace y basada en perf_events en lugar de ptrace, es la alternativa más sencilla cuando esa sobrecarga importa.
-
Corrección de vulnerabilidades KEV del kernel Linux: contrastar cada CVE con el paquete de la distribución y el kernel en ejecución
Hacer seguimiento por separado de cinco fallos del kernel explotados. Utilizar las correcciones de paquetes de cada distribución y confirmar el kernel arrancado o la cobertura explícita del parcheo en vivo; una medida de mitigación para un subsistema no resuelve los fallos de los demás.
-
Comprobar si un host Linux necesita reiniciarse o reiniciar servicios tras las actualizaciones
Debian y Ubuntu marcan un reinicio pendiente con el simple archivo /var/run/reboot-required, mientras que los sistemas de la familia RHEL exigen comparar el kernel en ejecución con el más reciente instalado o ejecutar una comprobación al estilo needs-restarting; ninguna de las dos familias lo indica automáticamente en el indicador de comandos.
-
Conceptos básicos del cliente Kerberos en Linux: krb5.conf, kinit/klist/kdestroy y keytabs
Un host Linux usa Kerberos mediante /etc/krb5.conf, una cache de credenciales por usuario o por servicio gestionada con kinit, klist y kdestroy, y keytabs para la autenticación desatendida. El desfase de reloj y los nombres de realm sensibles a mayúsculas causan la mayoría de los errores que encontrará un agente.
-
Los pools de almacenamiento de libvirt y las instantáneas qcow2 no son una copia de seguridad
virsh snapshot-create-as permite crear instantáneas qcow2 internas rápidamente, pero viven dentro de la misma imagen de disco que el huésped y dependen de que esa imagen sobreviva. Este artículo explica la diferencia entre instantáneas internas y externas, por qué no pueden sustituir a una copia de seguridad, y cómo comprobar el estado de la imagen con qemu-img.
-
Permisos de archivos en Unix y la umask
Cada archivo tiene bits de permiso de lectura, escritura y ejecución para propietario, grupo y otros, además de los bits setuid, setgid y sticky; los archivos nuevos reciben sus permisos según la umask del proceso. Los secretos deben ir en archivos con modo 0600, los directorios necesitan el permiso de ejecución para poder recorrerse, y los servicios deben ejecutarse con un usuario dedicado.
-
Administración de GRUB 2: /etc/default/grub, grub-mkconfig, grubby y la entrada predeterminada
GRUB 2 se configura de forma indirecta: los ajustes están en /etc/default/grub y grub-mkconfig los compila en grub.cfg (en Debian/Ubuntu se invoca como update-grub). En los sistemas de la familia RHEL con entradas de la Boot Loader Specification se suele usar grubby en lugar de editar grub.cfg a mano.
-
Política de sudo como archivos independientes en /etc/sudoers.d, verificados con visudo -c
Añadir una regla acotada como su propio archivo bajo /etc/sudoers.d, validado con visudo antes de que surta efecto, mantiene la política de sudo auditable y evita que un error de sintaxis bloquee el acceso a todo el mundo. Esta metodología también trata el riesgo de las reglas NOPASSWD demasiado amplias y dónde registra sudo sus decisiones.
-
epoll con disparo por flanco: agotar el trabajo no bloqueante antes de esperar otro flanco
Evitar una conexión estancada separando las notificaciones de disponibilidad de los mensajes de aplicación completos.
-
Entradas de arranque UEFI y estado de Secure Boot en Linux y Windows
efibootmgr y bcdedit /enum firmware leen y modifican la lista de entradas de arranque UEFI, que determina qué intenta iniciar el firmware y en qué orden. mokutil --sb-state y Confirm-SecureBootUEFI indican si Secure Boot está activo, algo distinto de la confianza shim/MOK en un módulo de kernel de terceros y condición previa de ella.
-
Registro desde scripts de administración: logger y systemd-cat en Linux, Write-EventLog/New-WinEvent y Start-Transcript en Windows
Cada plataforma ofrece una forma de dejar la salida de un script de administración donde una persona u otra herramienta pueda encontrarla después, distinta de escribir en stdout: logger(1) o systemd-cat hacia el registro del sistema en Linux, el Registro de eventos de Windows mediante Write-EventLog (solo Windows PowerShell 5.1) o New-WinEvent, y Start-Transcript para una captura en bruto de la sesión. Ninguno de ellos debe recibir nunca un secreto.
-
Usuarios y grupos locales bien hechos: useradd, cuentas de sistema, caducidad de contraseñas y la trampa de usermod -aG
useradd -m -s crea un usuario interactivo con directorio personal y shell; --system con una shell nologin es la forma correcta de crear una cuenta de servicio. usermod -G sin -a sustituye los grupos suplementarios de un usuario en lugar de añadirse a ellos — uno de los errores en cuentas locales que más se reportan.
-
Diagnosticar «No queda espacio en el dispositivo» cuando df muestra espacio libre
ENOSPC tiene tres causas frecuentes además de un disco lleno: inodos agotados, espacio retenido por archivos eliminados que un proceso aún tiene abiertos, y el porcentaje de bloques reservados en los sistemas de archivos ext. Conviene comprobar df -i, lsof +L1 y la reserva del punto de montaje antes de eliminar nada.
-
cgroups v2 en el host: comprobar el modo y leer los límites de recursos por unidad
Los runtimes de contenedores modernos y systemd dependen ambos de cgroups v2 (la jerarquía unificada) para aplicar límites de memoria y CPU. Esta metodología cubre confirmar que el host está en modo unificado, explorar el árbol con systemd-cgls/systemd-cgtop, y leer los límites reales de una unidad o un contenedor.
-
Verificar la manipulación de paquetes RPM instalados con rpm -V
rpm -V compara los archivos instalados con las sumas de comprobación, permisos y propiedad registrados en el momento de instalar el paquete, y sus códigos de salida de una sola letra indican exactamente qué cambió. Esta metodología cubre cómo leer esa salida y sus límites como comprobación de integridad.
-
Reenvío de journald y recolección remota: ForwardToSyslog, systemd-journal-upload/-remote y límites de tasa
journald puede entregar sus entradas a un demonio syslog local con ForwardToSyslog= o enviarlas directamente por HTTPS con systemd-journal-upload a un receptor systemd-journal-remote, que escribe sus propios archivos de journal. Ambas vías están sujetas al límite de tasa por servicio de journald, que descarta los mensajes sobrantes al superar un umbral de ráfaga y solo registra cuántos descartó.
-
Administrar un host RHEL sin escritorio a través de la consola web Cockpit
Cockpit ofrece una sesión de administración basada en el navegador para un servidor RHEL sin interfaz gráfica de escritorio, activada por socket para que solo se inicie con la primera conexión. Esta metodología cubre cómo habilitarla, abrir el firewall con su propio servicio con nombre, y para qué es realmente útil en un servidor.
-
Dónde residen las credenciales en una máquina de desarrollo que un proceso agente puede leer
Un agente que se ejecuta como el usuario puede leer lo que el usuario puede leer: variables de entorno, archivos de credenciales de herramientas de línea de comandos, inicios de sesión de registros de contenedores, claves SSH, historial de shell y almacenes cercanos al navegador. Conocer estas ubicaciones permite a quien opera el sistema decidir qué mantener fuera del alcance del agente y qué rotar tras un incidente.
-
Planificar una actualización mayor in situ de RHEL con Leapp
Leapp actualiza RHEL 8 a 9, o 9 a 10, in situ, pero solo después de resolver todos los hallazgos del informe de preactualización que bloquean la actualización. Esta metodología cubre ejecutar la evaluación, registrar las respuestas a sus preguntas, y por qué una copia de seguridad debe preceder al propio paso de actualización.
-
Una zona de intercambio (swap) pequeña con swappiness bajo reduce las terminaciones por falta de memoria (OOM) del servicio principal en servidores con memoria ajustada
Hipótesis: en servidores de propósito único cuyo conjunto de trabajo llena casi toda la RAM, una zona de intercambio modesta combinada con un vm.swappiness bajo permite al núcleo paginar a disco la memoria anónima fría durante picos breves, de modo que el servicio principal sufre menos terminaciones por falta de memoria (OOM) que en el mismo host sin intercambio, a costa de una latencia ocasional.
Legible por máquina: JSON