Administración, diagnóstico y auditoría

Tu centro de control para Linux.

Comandos prácticos para equipos, servidores y VPS. Aprende qué hace cada uno, evalúa tu sistema y ejecuta con criterio.

Prueba:

Biblioteca práctica

Comandos esenciales (66)

whoamiClave

Muestra el usuario con el que estás ejecutando comandos.

whoami
SistemaBásico#usuario#identidad
unameClave

Consulta kernel, arquitectura y datos del sistema operativo.

uname -a
SistemaBásico#kernel#sistema
uptime

Muestra tiempo encendido, usuarios y carga reciente.

uptime
SistemaBásico#carga#diagnóstico
dfClave

Muestra el espacio disponible en los sistemas de archivos.

df -h
SistemaBásico#disco#espacio
free

Consulta memoria RAM y swap disponible.

free -h
SistemaBásico#memoria#ram
lsClave

Lista archivos, permisos, propietarios y directorios ocultos.

ls -lah /var/log
ArchivosBásico#listar#directorios
find

Busca archivos y directorios usando nombre, fecha, tamaño o permisos.

find /var/www -type f -mtime -3
ArchivosAvanzado#buscar#recientes
grep

Busca texto o patrones dentro de archivos y salidas.

grep -Rni "failed" /var/log
ArchivosIntermedio#texto#logs
Evita compartir resultados que contengan credenciales.
stat

Muestra metadatos, fechas y permisos de un archivo.

stat /var/www/config.env
ArchivosBásico#metadatos#fechas
tail

Lee las últimas líneas o sigue un log en tiempo real.

tail -n 100 /var/log/auth.log
ArchivosBásico#logs#tiempo real
psClave

Muestra una instantánea de los procesos activos.

ps aux --sort=-%mem | head
ProcesosBásico#procesos#cpu
top

Monitoriza procesos, CPU y memoria en tiempo real.

top
ProcesosBásico#monitorizar#rendimiento
kill

Envía una señal a un proceso para solicitar su terminación.

kill 1234
ProcesosIntermedio#detener#señal
Prueba primero una terminación normal; kill -9 es forzado.
systemctlClave

Consulta y controla servicios gestionados por systemd.

sudo systemctl status nginx
ServiciosIntermedio#systemd#servicios
journalctl

Consulta logs de systemd por servicio, fecha o prioridad.

journalctl -u ssh --since "today"
ServiciosIntermedio#logs#systemd
crontab

Consulta tareas programadas del usuario actual.

sudo crontab -l
ServiciosIntermedio#cron#persistencia
Durante una auditoría revisa tareas que no reconozcas.
ssClave

Muestra puertos escuchando y conexiones de red actuales.

ss -tulpn
RedesIntermedio#puertos#conexiones
ip

Consulta interfaces, direcciones y rutas de red.

ip addr && ip route
RedesIntermedio#red#rutas
curl

Realiza solicitudes HTTP para comprobar endpoints y cabeceras.

curl -I https://example.com
RedesBásico#http#diagnóstico
dig

Consulta registros DNS de un dominio.

dig example.com
RedesBásico#dns#dominio
sshd -TClave

Muestra la configuración efectiva del servidor SSH.

sudo sshd -T | grep -E "^(port|permitrootlogin|passwordauthentication)"
SeguridadAvanzado#ssh#hardening
ufw

Consulta el estado y reglas del firewall UFW.

sudo ufw status numbered
SeguridadIntermedio#firewall#acceso
Confirma el puerto SSH antes de modificar reglas en un VPS remoto.
last

Muestra el historial de inicios de sesión registrados.

last -n 20
SeguridadBásico#accesos#usuarios
sudo -l

Muestra qué comandos puede ejecutar un usuario mediante sudo.

sudo -l
SeguridadIntermedio#sudo#privilegios
No ejecutes comandos como root sin comprender su efecto.
chmod

Modifica permisos de lectura, escritura y ejecución.

chmod 640 /etc/app/config.env
PermisosIntermedio#permisos#acceso
Evita chmod 777 salvo que exista una razón técnica clara.
chown

Cambia el propietario y grupo de un archivo o directorio.

sudo chown -R www-data:www-data /var/www
PermisosAvanzado#propietario#web
Verifica la ruta antes de usar la opción recursiva -R.
tar

Crea, inspecciona o extrae archivos comprimidos.

tar -czvf backup.tar.gz /etc/nginx
AuditoríaIntermedio#backup#compresión
Lista el contenido antes de extraer archivos de terceros.
du

Identifica qué directorios están consumiendo espacio.

sudo du -xhd1 / | sort -h
AuditoríaIntermedio#disco#diagnóstico
cat /etc/os-release

Identifica distribución y versión del sistema.

cat /etc/os-release
AuditoríaBásico#inventario#sistema
rm

Elimina archivos o directorios de forma permanente.

rm -i archivo-temporal.txt
ArchivosIntermedio#eliminar#limpiar
Antes de borrar: pwd, ls -lah, confirma la ruta y realiza backup.
rmdir

Elimina únicamente directorios vacíos.

rmdir /tmp/carpeta-vacia
ArchivosBásico#eliminar#directorios
Confirma la ruta antes de ejecutar.
userdel

Elimina una cuenta local; con --remove también elimina su directorio personal.

sudo userdel usuario-prueba
SeguridadAvanzado#usuarios#eliminar
Acción destructiva: revisa sesiones, procesos, cron, grupos y realiza backup.
usermod --lock

Bloquea temporalmente una cuenta sin eliminarla, útil para contención.

sudo usermod --lock usuario-sospechoso
SeguridadIntermedio#usuarios#contención
Conserva la cuenta para investigación y documenta el cambio.
loginctl terminate-user

Cierra las sesiones activas de un usuario.

sudo loginctl terminate-user usuario-sospechoso
ProcesosIntermedio#sesiones#usuarios
Puede interrumpir trabajo legítimo.
who

Muestra quién está conectado ahora mismo al servidor.

who
IncidentesBásico#ataque#accesos
lastlog

Consulta el último acceso registrado de cada usuario local.

sudo lastlog
IncidentesBásico#ataque#usuarios
lsof

Relaciona archivos, puertos y procesos abiertos.

sudo lsof -i -P -n
IncidentesAvanzado#ataque#puertos
ausearch

Busca eventos registrados por auditd durante una investigación.

sudo ausearch -ts recent -m USER_LOGIN
IncidentesAvanzado#ataque#logs
Requiere auditd y permisos de administrador.
apt

Instala, actualiza y elimina paquetes en Debian y Ubuntu.

sudo apt update && sudo apt upgrade
PaquetesBásico#instalar#actualizar
dnf

Gestiona paquetes en Fedora, RHEL y derivados modernos.

sudo dnf install nginx
PaquetesBásico#fedora#rhel
which

Indica qué ejecutable se usará para un comando.

which nginx
SistemaBásico#ruta#binario
mount

Monta un sistema de archivos en un directorio.

findmnt && lsblk
AlmacenamientoIntermedio#discos#montaje
lsblk

Lista discos, particiones y puntos de montaje.

lsblk -f
AlmacenamientoBásico#discos#particiones
docker

Administra contenedores, imágenes, redes y volúmenes Docker.

docker ps -a
ContenedoresIntermedio#containers#devops
docker compose

Levanta y administra aplicaciones definidas con Compose.

docker compose up -d
ContenedoresIntermedio#compose#deploy
git status

Muestra cambios y estado del repositorio actual.

git status --short
GitBásico#código#cambios
git log

Consulta el historial de commits de un repositorio.

git log --oneline -10
GitBásico#historial#commits
nmap

Descubre puertos y servicios expuestos en sistemas propios o autorizados.

nmap -sV --top-ports 100 {{objetivo}}
SeguridadIntermedio#redes#inventario
Escanea únicamente objetivos propios o con autorización explícita.
nmap scripts

Ejecuta comprobaciones NSE seleccionadas para identificar versiones y configuraciones comunes.

nmap --script http-title,http-headers -p 80,443 {{objetivo}}
SeguridadAvanzado#nmap#web
Usa scripts de descubrimiento no intrusivos y valida el alcance.
wpscan

Audita instalaciones WordPress autorizadas: versión, plugins y temas visibles.

wpscan --url {{url}} --enumerate vp,vt --no-update
SeguridadAvanzado#wordpress#web
Requiere autorización del propietario del sitio y una API token para algunas funciones.
nikto

Revisa configuraciones y archivos potencialmente expuestos en un servidor web autorizado.

nikto -h {{url}} -output {{archivo}}
SeguridadAvanzado#web#headers
Puede generar muchas peticiones; evita usarlo contra terceros.
tcpdump

Captura tráfico para diagnosticar una interfaz o investigar un incidente autorizado.

sudo tcpdump -i {{interfaz}} -nn -c {{paquetes}} -w {{archivo}}
RedesAvanzado#tráfico#redes
Las capturas pueden contener credenciales o datos sensibles. Protégelas.
getent passwd

Consulta el inventario de cuentas locales y de directorio configuradas.

getent passwd | cut -d: -f1
IncidentesBásico#usuarios#intrusión
find -mtime

Localiza archivos modificados dentro de un periodo para apoyar una investigación.

sudo find /var/www -type f -mtime -3
IncidentesIntermedio#documentos#intrusión
kill -TERM

Solicita a un proceso confirmado que termine de forma ordenada.

sudo kill -TERM 1234
ProcesosIntermedio#procesos#contención
Confirma el PID y el impacto antes de detenerlo. Reserva SIGKILL para una última medida.
systemctl list-timers

Lista tareas programadas de systemd que pueden iniciar procesos automáticamente.

sudo systemctl list-timers --all
IncidentesIntermedio#persistencia#intrusión
openssl s_client

Inspecciona certificado, protocolo y cadena TLS de un endpoint autorizado.

echo | openssl s_client -connect {{dominio}}:443 -servername {{dominio}} 2>/dev/null | openssl x509 -noout -dates -issuer -subject
SeguridadAvanzado#tls#certificado
Usa dominios propios o autorizados.
sha256sum

Calcula hashes para comprobar si un archivo cambió.

sha256sum {{ruta}}
AuditoríaBásico#integridad#forense
rsync

Sincroniza archivos y directorios conservando metadatos, útil para backups controlados.

rsync -aH --info=progress2 {{origen}} {{destino}}
AlmacenamientoIntermedio#backup#copias
Comprueba origen y destino antes de usar --delete.
restorecon

Restaura contextos SELinux según las políticas del sistema.

sudo restorecon -Rv {{ruta}}
SeguridadAvanzado#selinux#permisos
aa-status

Consulta perfiles AppArmor activos y su estado.

sudo aa-status
SeguridadIntermedio#apparmor#hardening
vmstat

Resume CPU, memoria, procesos y espera de I/O.

vmstat 1 5
SistemaIntermedio#rendimiento#memoria
iostat

Mide actividad y latencia de dispositivos de almacenamiento.

iostat -xz 1 5
AlmacenamientoAvanzado#disco#rendimiento
docker inspect

Muestra configuración, redes, montajes y estado de un contenedor.

docker inspect {{contenedor}}
ContenedoresIntermedio#docker#forense
docker diff

Muestra archivos modificados dentro de un contenedor desde su creación.

docker diff {{contenedor}}
ContenedoresIntermedio#docker#cambios
journalctl export

Exporta eventos del journal para preservar evidencia o compartirla de forma controlada.

sudo journalctl --since "24 hours ago" > {{archivo}}
AuditoríaIntermedio#logs#evidencia
Seguridad primero

Evalúa sin romper nada.

Estas comprobaciones están pensadas para tus propios servidores o entornos con autorización expresa. Recoge evidencia antes de borrar o modificar.

Reglas de oro

  • • Confirma usuario, ruta y servidor antes de ejecutar.
  • • En SSH, conserva una vía alternativa de acceso.
  • • Revisa primero; cambia después.
  • • No compartas secretos de logs o archivos .env.

Piensa dos veces

rm -rf, kill -9, chmod -R, chown -R, ufw reset, reboot, shutdown, dd, mkfs, fdisk y parted pueden causar pérdida de datos o acceso.

Haz backup y valida el impacto.

Checklist de evaluación

Triage rápido de un VPS

Si sospechas una intrusión, no borres inmediatamente. Identifica, documenta y considera aislar a nivel de red.

1

Identifica el servidor

hostname && date && uptime
2

Revisa usuarios y accesos

who && last -n 20 && lastlog
3

Inspecciona conexiones

ss -tunap
4

Observa procesos

ps aux --sort=-%cpu | head -30
5

Revisa persistencia

crontab -l && sudo crontab -l
6

Consulta logs

journalctl --since "24 hours ago" -p warning
Laboratorio de comandos

Genera el comando completo.

Elige una tarea y completa la ruta, nombre, servicio, puerto o días. El resultado se actualiza al instante.

linuxkit — laboratorio

Comando generado

ls -lah /var/log
Verifica los valores y permisos antes de ejecutar.

Sintaxis explicada

Entiende cada opción, argumento y nivel de riesgo.

Auditoría autorizada

Inventario, logs, puertos y triage para tus propios sistemas.

De local a VPS

Una referencia rápida para aprender y administrar con confianza.