EN
← Volver a RHCSA EX200

Publicado: 26/3/2026

Glosario RHCSA / RH134

Referencia rápida: rutas del sistema, systemd, cron, grep, logs y términos del curso.

Objetivo

Tener a mano definiciones cortas con las rutas que aparecen en RH124, RH134 y los labs de ROL. Lo voy ampliando según avanzo en el curso.

Términos repasados

TérminoEstado
journald✓ Repasado — RH134 cap. 5 (logs / journal)
journalctl✓ Repasado — RH134 cap. 5 (logs / journal)
rsyslog✓ En curso — RH134 cap. 5 (syslog / debug.conf)
logger✓ En curso — RH134 cap. 5 (lab messages-debug)

Rutas del sistema (base)

RutaPara qué sirve
/etcConfiguración del sistema: servicios, cron, red, usuarios, políticas. Archivos de texto editables por el admin.
/varDatos variables: logs, caché, colas de correo, bases de datos locales. Crece con el uso del sistema.
/var/logArchivos de log clásicos (syslog): eventos, autenticación, cron, servicios.
/usrProgramas y librerías instalados por el paquete (binarios en /usr/bin, unidades en /usr/lib/systemd/).
/homeDirectorios personales de usuarios (/home/usuario). Config del shell en ~/.bashrc.
/tmpArchivos temporales (a menudo borrados al reiniciar).
/rootHome del usuario root.
/bin, /sbinComandos esenciales del sistema (/sbin suele ser para admin/red). En RHEL muchos son enlaces a /usr/bin.

Shell y línea de comandos

Bash

Definición: Shell por defecto en RHEL. Interpreta comandos, variables y scripts.

Rutas relevantes:

RutaPara qué sirve
/bin/bashEjecutable del intérprete Bash.
~/.bashrcConfig del shell al abrir una terminal (alias, prompt, variables).
~/.bash_profileConfig al iniciar sesión de login.
/etc/profileConfig global de login para todos los usuarios.
/etc/profile.d/Scripts .sh que se cargan al login (variables, PATH, etc.).
/etc/bashrcConfig global para shells interactivos no login.

Shebang

Definición: Primera línea de un script (#!/bin/bash). Indica qué intérprete ejecuta el archivo.

Rutas relevantes:

RutaPara qué sirve
/bin/bashIntérprete habitual en scripts de administración en RHEL.
/usr/bin/env bashAlternativa portable: busca bash en el PATH.

Variable de entorno

Definición: Valor exportado (export VAR=valor) que heredan los procesos hijos.

Rutas relevantes:

RutaPara qué sirve
~/.bashrc, /etc/profile.d/Donde suelen definirse variables persistentes.
/proc/self/environMuestra las variables del proceso actual (diagnóstico).

Permisos, propietarios y roles (POSIX)

Permisos rwx (lectura, escritura, ejecución)

Definición: Cada archivo y directorio tiene permisos para tres categorías: dueño (user), grupo (group) y otros (others). Cada categoría puede tener r (read), w (write) y x (execute).

Cómo se lee en ls -l:

-rwxr-xr--  1 root root  1234 Mar 26 10:00 script.sh
│└┬┘└┬┘└┬┘
│ u  g  o   ← user, group, others
└ tipo: - archivo, d directorio, l enlace
BloqueLetrasSignificado
Usuario (u)rwxEl dueño puede leer, escribir y ejecutar.
Grupo (g)r-xEl grupo puede leer y ejecutar, no escribir.
Otros (o)r--El resto solo puede leer.

En el ejemplo: dueño = todo; grupo = leer + ejecutar; otros = solo leer → notación rwxr-xr--.

Valores numéricos (octal)

Cada letra vale un número; se suman por categoría:

PermisoValor
r (read)4
w (write)2
x (execute)1
- (ninguno)0
Notación rwxCálculoOctal
rwx4+2+17
rw-4+2+06
r-x4+0+15
r--4+0+04
---00

Ejemplo rwxr-xr-x → usuario 7, grupo 5, otros 5chmod 755.

Otros ejemplos habituales:

OctalNotaciónUso típico
644rw-r--r--Archivo de texto (dueño edita, resto lee).
600rw-------Archivo privado (solo dueño).
755rwxr-xr-xScript o programa ejecutable.
700rwx------Script privado del dueño.
1777rwxrwxrwtDirectorio compartido con sticky bit (p. ej. /tmp).

chmod — forma octal (numérica)

Definición: Asigna permisos con tres dígitos (usuario, grupo, otros).

chmod 755 script.sh      # rwxr-xr-x
chmod 644 config.conf    # rw-r--r--
chmod 600 clave.txt      # rw-------
chmod 1777 /tmp          # sticky en directorio (el 1 va delante del 777)

chmod — forma simbólica (letras)

Definición: Modifica permisos por quién y qué cambiar, sin recalcular el octal entero.

SímboloSignificado
uUsuario (dueño)
gGrupo
oOtros
aTodos (all)
+Agregar permiso
-Quitar permiso
=Dejar exactamente estos permisos
chmod u+x script.sh        # al dueño le sumo ejecución
chmod g-w archivo            # al grupo le quito escritura
chmod o=r archivo            # otros solo lectura
chmod a+r archivo            # todos pueden leer
chmod u=rwx,g=rx,o= script.sh   # asignación explícita por categoría
chmod +x script.sh           # ejecutable para todos (u,g,o)

Propietario y grupo: chown / chgrp

Definición: Cambian quién es el dueño y a qué grupo pertenece el archivo (no los bits rwx).

chown usuario:grupo archivo
chown root:root /etc/miapp.conf
chgrp developers proyecto/
chown -R www:www /var/www/html/   # recursivo en directorio

Rutas relevantes:

RutaPara qué sirve
/etc/passwdUsuarios del sistema (UID, shell, home).
/etc/groupGrupos y miembros (GID).
/etc/shadowContraseñas (solo root puede leer).

umask

Definición: Máscara que resta permisos a archivos y directorios nuevos (lo que queda después de crear un fichero).

umask          # ver máscara actual (ej. 0022)
umask 077      # archivos nuevos muy restrictivos para el dueño

Rutas relevantes:

RutaPara qué sirve
~/.bashrc, /etc/profileDonde suele definirse umask por usuario o global.

Permisos especiales (resumen EX200)

BitOctal extraEn ls -lPara qué sirve
SUID4xxxs en lugar de x del usuarioEl proceso corre con UID del dueño del archivo (ej. passwd).
SGID2xxxs en el grupoEn directorios: archivos nuevos heredan el grupo del directorio.
Sticky1xxxt en otrosEn directorios: solo el dueño del archivo puede borrarlo (ej. /tmp).
chmod u+s /usr/bin/comando    # SUID simbólico
chmod g+s /srv/compartido      # SGID en directorio
chmod +t /tmp                  # sticky bit
chmod 4755 archivo             # SUID + 755

ACL (permisos extendidos)

Definición: Listas de control de acceso más finas que solo u/g/o (usuario concreto, permisos extra). Comandos: getfacl, setfacl.

setfacl -m u:maria:rwx /srv/proyecto
getfacl /srv/proyecto

Rutas de ejemplo: Directorios compartidos bajo /srv/ o /home/ en labs de RH124.


Lectura y búsqueda de texto

less

Definición: Paginador en terminal para recorrer archivos largos sin volcar todo en pantalla (q para salir).

Rutas de ejemplo:

RutaPara qué sirve
/var/log/messagesLog general del sistema; típico para practicar less.
/etc/passwdLista de usuarios; archivo corto pero útil para repasar permisos de lectura.

tail

Definición: Muestra las últimas líneas de un archivo. tail -f sigue el archivo en tiempo real (ideal para logs).

Rutas de ejemplo:

RutaPara qué sirve
/var/log/secureIntentos de login, sudo, SSH.
/var/log/cronEjecución de tareas cron.
/var/log/messagesEventos generales del sistema.

grep

Definición: Busca patrones de texto en archivos o en pipes. grep -E usa expresiones regulares extendidas.

Rutas de ejemplo:

RutaPara qué sirve
/var/log/messagesFiltrar errores o servicios concretos.
/etc/passwdBuscar usuarios (grep root /etc/passwd).
/etc/crontabRevisar entradas de cron del sistema.

Expresión regular (regex)

Definición: Patrón para coincidir texto (., *, [], ^, $). En RH134 se usa sobre todo con grep -E.

Rutas de ejemplo: Cualquier archivo bajo /etc/ o /var/log/ al filtrar configs o logs.


Logs y registro del sistema

syslog

Definición: Modelo clásico de registro: servicios y kernel escriben mensajes en archivos de log.

Rutas relevantes:

RutaPara qué sirve
/var/log/messagesMensajes generales (kernel, servicios diversos).
/var/log/secureAutenticación, PAM, sudo.
/var/log/cronSalida y eventos de cron.
/var/log/maillogCorreo (si está instalado).
/var/log/boot.logArranque (según configuración).

rsyslog

Definición: Servicio que recibe y enruta mensajes syslog hacia archivos, sockets u otros destinos.

Rutas relevantes:

RutaPara qué sirve
/etc/rsyslog.confConfiguración principal de enrutado de logs.
/etc/rsyslog.d/Fragmentos de config adicionales (solo se cargan *.conf).
/var/log/Destino habitual de los archivos generados.

Lab guiado: redirigir debug a /var/log/messages-debug

Objetivo del ejercicio (RH134 / logs-syslog): que rsyslog escriba todos los mensajes con prioridad debug o superior (cualquier facility) en /var/log/messages-debug.

Para qué practico esto

Practicar syslog no es solo “pasar un lab”: es aprender dónde mirar cuando algo falla en un servidor y cómo hacer que el sistema registre lo que importa.

En la prácticaQué ganás
DiagnosticarServicios que no arrancan, cron que no corre, scripts que fallan → casi siempre la respuesta está en /var/log/ con tail, grep o less.
Separar ruidoEnrutar por prioridad (*.debug a un archivo aparte) enseña a no mezclar todo en un log gigante.
Auditar scriptsCon logger tus backups/cron dejan huella en el log oficial, no en un /tmp/mi.log que nadie revisa.
Entender RHELServicios escriben → rsyslog enruta → vos leés o mandás con logger. Ese flujo se repite en firewall, cron, systemd, etc.
RHCSA EX200Patrón del examen: configurar → reiniciar servicio → probar → verificar (debug.conf, systemctl restart rsyslog, logger, tail).

Analogía desde desarrollo: syslog es la “observabilidad del servidor” — niveles (debug, info, err), filtrado (grep/tail) y reglas centralizadas (/etc/rsyslog.d/), como Sentry o logs estructurados pero a nivel de sistema operativo.

En una frase: controlar qué registra el sistema, dónde queda escrito y cómo lo leés cuando algo se rompe — base para sysadmin, DevOps y cualquier backend que toque Linux.

Regla (en /etc/rsyslog.d/debug.conf):

*.debug /var/log/messages-debug
ParteSignificado
*Cualquier facility (user, mail, cron, etc.).
.debugPrioridad debug y todas las más altas (info, notice, warning, err…).

Pasos (orden del lab):

# En workstation
lab start logs-syslog

ssh student@servera
sudo -i

# Crear el archivo (nombre exacto: debug.conf)
vi /etc/rsyslog.d/debug.conf
# contenido: *.debug /var/log/messages-debug

rsyslogd -N1                    # validar sintaxis
systemctl restart rsyslog

logger -p user.debug "Debug Message Test"
tail /var/log/messages-debug    # debe verse "Debug Message Test"

Salida esperada (ejemplo):

Feb 13 18:27:58 servera root[25416]: Debug Message Test

(También pueden aparecer líneas de systemd/rsyslogd al reiniciar el servicio.)

Errores frecuentes:

ErrorCausa
No such file or directory en messages-debugArchivo llamado debug-conf en vez de debug.conf → rsyslog no carga la regla.
logger sin efectoReiniciar después de crear la regla; probar grep "Debug Message Test" /var/log/messages.
$'\E[200~cat' al pegarPegado “bracketed” del navegador; escribir el comando a mano.

Cerrar el lab:

exit   # root → student → workstation
lab finish logs-syslog

journald · ✓ Repasado {#journald—repasado}

Estado: repasado en RH134 (syslog, journal y labs de logging).

Definición: Daemon de systemd que recibe mensajes del kernel, de systemd y de los servicios, y los guarda en el journal (registro binario e indexado, no un .log de texto plano).

De dónde viene: Integrado en systemd. Se gestiona como servicio/unidad; la configuración principal está en journald.conf.

Para qué sirve:

RolDetalle
Centralizar logsUn solo lugar para kernel + servicios + systemd.
Alimentar journalctlSin journald no hay journal que consultar.
Complementar syslogPuede reenviar a rsyslog (ForwardToSyslog) y así generar también /var/log/messages.
PersistenciaDecide si el journal sobrevive reinicios (/var/log/journal/).

Relación con journalctl: journald escribe; journalctl lee. Siempre van juntos en la práctica.

Rutas relevantes:

RutaPara qué sirve
/usr/lib/systemd/systemd-journaldProceso del daemon (referencia; se administra con systemctl).
/var/log/journal/Journal persistente en disco (si está habilitado).
/run/log/journal/Journal volátil hasta reinicio.
/etc/systemd/journald.confRetención, tamaño máximo, reenvío a syslog, almacenamiento.

Comandos útiles (servicio):

systemctl status systemd-journald
systemctl restart systemd-journald   # tras cambiar journald.conf

journalctl · ✓ Repasado {#journalctl—repasado}

Estado: repasado en RH134 (syslog, journal y labs de logging).

Definición: Comando para leer y filtrar logs del journal de systemd (journald). No abre archivos de texto en /var/log/ directamente: consulta el registro estructurado que guarda el kernel, systemd y los servicios.

De dónde viene: Parte de systemd. El daemon journald escribe el journal; journalctl es la herramienta de consulta. Complementa (no reemplaza) syslog/rsyslog y archivos como /var/log/messages.

Utilidad más fuerte: Diagnosticar por qué un servicio no arranca o qué pasó en el último reinicio, filtrando por unidad, tiempo o prioridad sin buscar a mano en varios archivos.

Usos habituales:

UsoComandoPara qué sirve
Todo el journal recientejournalctlVista general (puede ser larga; combiná con filtros).
Seguir en vivojournalctl -fComo tail -f pero del journal (eventos nuevos al instante).
Logs de un serviciojournalctl -u httpd.serviceTodo lo que registró Apache/Nginx u otra unidad.
Últimas N líneasjournalctl -u httpd -n 50 --no-pagerLas 50 entradas más recientes, sin paginador.
Solo erroresjournalctl -p errPrioridad err y más graves (crit, alert, emerg).
Desde / hastajournalctl --since "1 hour ago"Ventana de tiempo (--until "2026-03-26 12:00").
Boot actualjournalctl -bSolo mensajes desde el último arranque.
Boot anteriorjournalctl -b -1Qué pasó en el reinicio previo (muy útil si algo falló al boot).
Kerneljournalctl -kMensajes del kernel (hardware, drivers, montajes).
Diagnóstico rápidojournalctl -xeÚltimas entradas con contexto extra; clásico tras un fallo.
Estado del serviciosystemctl status httpdMuestra un resumen y últimas líneas del journal de esa unidad.
Espacio del journaljournalctl --disk-usageCuánto disco ocupa el journal.
Liberar espaciojournalctl --vacuum-time=7dBorra entradas más viejas que 7 días (admin).

Ejemplos combinados (los más usados en labs y EX200):

journalctl -u rsyslog.service -n 30 --no-pager
journalctl -u sshd.service --since today
journalctl -p warning -b
journalctl -xe
grep -i fail <<< "$(journalctl -u miapp -n 20 --no-pager)"

Prioridades (-p): de menor a mayor gravedad — debug, info, notice, warning, err, crit, alert, emerg.
journalctl -p err incluye err y todo lo más grave.

Rutas relevantes:

RutaPara qué sirve
/usr/bin/journalctlEjecutable del comando.
/var/log/journal/Journal persistente en disco (si está habilitado).
/run/log/journal/Journal volátil hasta reinicio.
/etc/systemd/journald.confRetención, tamaño máximo, reenvío a syslog.

journalctl vs. tail /var/log/messages:

journalctltail + /var/log/
OrigenJournal de journaldArchivos de rsyslog
Filtro por servicio-u nombre.servicegrep en el archivo
Por arranque-b, -b -1Más manual
Tiempo realjournalctl -ftail -f /var/log/messages

En RHEL conviene dominar ambos: muchos servicios escriben en journal y también en syslog según la config.

logger

Definición: Comando de shell para enviar mensajes al sistema de logs (syslog/rsyslog y, según config, también al journal). No escribe un archivo a mano: delega en la infraestructura de logging del sistema.

De dónde viene: Parte del ecosistema syslog en RHEL (paquete util-linux / herramientas de logging). El mensaje entra por la API syslog; rsyslog (o el daemon de logs activo) lo enruta según facilidad, prioridad y reglas en /etc/rsyslog.conf.

Utilidad más fuerte: Desde scripts, cron y one-liners registrar eventos en el mismo canal que el resto del sistema — con marca de tiempo, etiqueta y prioridad — sin crear logs sueltos por ahí. Ideal para auditar backups, tareas programadas o automatismos propios.

Cómo se usa:

logger "Backup terminado correctamente"
logger -t mi-script "Inicio de la tarea"
logger -p user.info "Proceso OK"
logger -p user.warning "Espacio en disco bajo"
logger -p local0.err "Fallo al copiar archivos"
echo "Salida del comando" | logger -t cron-lab -p info
OpciónPara qué sirve
-t TAGEtiqueta del proceso (aparece en el log; facilita grep).
-p FACILITY.PRIORITYFacilidad y prioridad (user.info, user.warning, local0.err, etc.).
-f ARCHIVOLee líneas de un archivo y las manda al log.
-iIncluye el PID del proceso que llama a logger.

Prioridades habituales (de menor a mayor): debug, info, notice, warning, err, crit, alert, emerg.

Rutas relevantes:

RutaPara qué sirve
/usr/bin/loggerEjecutable del comando.
/etc/rsyslog.conf, /etc/rsyslog.d/Reglas que deciden a qué archivo va cada mensaje.
/var/log/messagesDestino habitual de mensajes user.* e info general.
/var/log/cronDonde suelen verse eventos ligados a tareas programadas.
/var/log/secureSi el mensaje se enruta a autenticación/seguridad (según reglas).

Ver el resultado:

logger -t prueba-rh134 -p user.info "Mensaje de prueba desde el glosario"
grep prueba-rh134 /var/log/messages
# o en tiempo real:
tail -f /var/log/messages

Cuándo usarlo vs. echo a un archivo: echo >> /tmp/mi.log queda aislado; logger integra el evento en el logging centralizado del servidor, alineado con RH134 (syslog, cron, scripts de administración).


systemd

systemd

Definición: Init y gestor de servicios en RHEL. Arranca el sistema, montajes, targets y dependencias entre unidades.

Rutas relevantes:

RutaPara qué sirve
/usr/lib/systemd/system/Unidades instaladas por paquetes (no editar a mano).
/etc/systemd/system/Overrides y unidades custom del admin (prioridad sobre /usr/lib).
/run/systemd/system/Unidades transientes en runtime.

Unidad (unit)

Definición: Archivo .service, .timer, .target, etc. que describe qué ejecutar y cuándo.

Rutas relevantes:

RutaPara qué sirve
/etc/systemd/system/miapp.serviceServicio definido por el admin.
/etc/systemd/system/miapp.timerTimer asociado a un servicio.
/usr/lib/systemd/system/crond.serviceEjemplo: unidad del daemon cron.

systemctl

Definición: Comando para start, stop, enable, disable, status, daemon-reload, list-timers, etc.

Rutas relacionadas: Opera sobre unidades en /etc/systemd/system/ y /usr/lib/systemd/system/.

Target

Definición: Agrupa unidades para un estado del sistema (similar a runlevels antiguos).

Rutas de ejemplo:

RutaPara qué sirve
/usr/lib/systemd/system/multi-user.targetModo multiusuario (consola/red, sin GUI obligatoria).
/usr/lib/systemd/system/graphical.targetEntorno gráfico.

Timer (systemd)

Definición: Unidad .timer que dispara un .service en horarios (OnCalendar) o intervalos.

Rutas relevantes:

RutaPara qué sirve
/etc/systemd/system/backup.timerCuándo ejecutar el job.
/etc/systemd/system/backup.serviceQué comando ejecutar cuando el timer dispara.

systemd-tmpfiles

Definición: Crea, limpia y fija permisos de archivos/directorios temporales según reglas.

Rutas relevantes:

RutaPara qué sirve
/usr/lib/tmpfiles.d/Reglas del paquete.
/etc/tmpfiles.d/Reglas custom del admin.
/tmp, /var/tmpDirectorios que suelen gestionarse con estas reglas.

Programación de tareas

at

Definición: Programa un solo trabajo en una fecha/hora futura.

Rutas relevantes:

RutaPara qué sirve
/var/spool/at/Cola de trabajos pendientes (spool).
/etc/at.allow, /etc/at.denyQuién puede o no usar at.

batch

Definición: Como at, pero ejecuta cuando baja la carga del sistema.

Rutas relevantes: Misma cola y permisos que at (/var/spool/at/, at.allow/at.deny).

crontab

Definición: Tabla de tareas recurrentes del usuario (crontab -e, crontab -l).

Rutas relevantes:

RutaPara qué sirve
/var/spool/cron/Crontabs por usuario (p. ej. /var/spool/cron/root).
/etc/cron.allow, /etc/cron.denyControl de acceso a crontab.

crond

Definición: Daemon que ejecuta crontabs de usuarios y jobs del sistema en los directorios cron.

Rutas relevantes:

RutaPara qué sirve
/usr/sbin/crondBinario del daemon.
/var/spool/cron/Crontabs de usuarios.
/etc/cron.d/Jobs del sistema con usuario en cada línea.
/etc/cron.daily/, /etc/cron.hourly/, /etc/cron.weekly/, /etc/cron.monthly/Scripts ejecutados en esos intervalos.
/etc/crontabCrontab del sistema (formato clásico con usuario).

/etc/cron.d/

Definición: Archivos de cron a nivel sistema; cada línea incluye usuario y comando.

Para qué sirve: Tareas recurrentes de paquetes o del admin sin editar el crontab personal de un usuario.


Otros términos útiles

RHEL

Red Hat Enterprise Linux. Base de labs oficiales y examen RHCSA.

ROL / LMS

Portal de cursos Red Hat (RH124, RH134) y máquinas de lab en la nube.

Lab

Entorno RHEL provisto por el curso; no es una VM casera local.


Cómo uso este glosario