02 05 Procesos y usuario raíz

 https://www.youtube.com/watch?v=b-7LEmbNIqg

Carpetas especiales del sistema – /proc, /root y /run

En este tutorial continuamos explorando el sistema de archivos de Linux, centrándonos en tres carpetas con funciones muy particulares: /proc (información de procesos), /root (el hogar del superusuario) y /run (archivos temporales de ejecución). Entenderlas te ayudará a diagnosticar el sistema, a mantener buenas prácticas de seguridad y a comprender cómo Linux gestiona los procesos y los archivos efímeros.


1. /proc – El sistema de archivos de procesos

¿Qué es?

/proc es un sistema de archivos virtual que no contiene archivos reales almacenados en disco, sino que refleja en tiempo real el estado del kernel y de los procesos en ejecución. Cada proceso en Linux tiene un ID (PID), y dentro de /proc verás una carpeta con el nombre de ese PID.

¿Qué contiene?

  • Directorios con números (ej. 1/, 1234/, 5678/) que corresponden a los PIDs de los procesos activos.

  • Archivos especiales que ofrecen información sobre el sistema: cpuinfo, meminfo, uptime, version, etc.

¿Cómo explorarlo?

bash
ls /proc               # Verás carpetas numéricas y archivos de sistema
cat /proc/cpuinfo      # Muestra información del procesador
cat /proc/meminfo      # Muestra el uso de memoria

Importante: ¡Son virtuales y temporales!

  • No debes crear, eliminar ni modificar archivos dentro de /proc (excepto algunos archivos de configuración del kernel que se escriben con echo bajo supervisión, pero eso es para usuarios avanzados).

  • Los datos cambian constantemente: un proceso que termina hace que su carpeta desaparezca.

  • Es una herramienta de diagnóstico, no de almacenamiento.

Ejemplo práctico: Ver los procesos en marcha

bash
# Listar los PIDs (carpetas numéricas)
ls /proc | grep -E '^[0-9]+$'   # Muestra solo los números
# Ver el estado de un proceso concreto, por ejemplo, el PID 1 (init/systemd)
cat /proc/1/status

2. /root – El hogar del superusuario

¿Qué es?

/root es el directorio personal del usuario root (el superadministrador). A diferencia de los usuarios normales, cuyo hogar está en /home/usuario, el root tiene su propia carpeta en la raíz.

Acceso restringido

Por defecto, solo el propio root (o usuarios con sudo) puede acceder a /root. Si intentas entrar como un usuario normal, obtendrás un error de permisos.

bash
cd /root               # Como usuario normal: "Permission denied"
sudo ls -la /root      # Con sudo, puedes ver su contenido

Buenas prácticas de seguridad

  • Nunca debes iniciar sesión directamente como root (aunque técnicamente es posible). Es altamente desaconsejado porque cualquier error podría dañar todo el sistema.

  • La práctica segura es trabajar siempre con tu usuario normal y usar sudo solo cuando necesites permisos de superusuario para una tarea concreta.

  • Usa sudo -i o sudo su solo para tareas de mantenimiento puntuales, y sal de esa sesión tan pronto como termines.

¿Qué suele contener?

En un servidor limpio, /root suele estar casi vacío, pero puede contener scripts de administración, copias de seguridad, logs de tareas de root, etc.


3. /run – Archivos temporales de ejecución

¿Qué es?

/run es un directorio que alberga archivos temporales necesarios para el funcionamiento de programas y servicios en ejecución. Por ejemplo, aquí se guardan los archivos de bloqueo, los sockets de comunicación entre procesos, la información de sesiones de usuario, etc.

Origen y evolución

Antiguamente, estos archivos se almacenaban en /var/run. Sin embargo, para mejorar el rendimiento y la modularidad, muchas distribuciones (incluyendo Ubuntu) han movido /run a la raíz, de modo que pueda montarse en un sistema de archivos en RAM (tmpfs) para un acceso más rápido.

Características

  • Es un sistema de archivos temporal: su contenido se borra al reiniciar el sistema.

  • No debes almacenar aquí datos permanentes.

  • Su uso está pensado para que los servicios escriban y lean información efímera durante su ejecución.

Ejemplo de contenido

bash
ls /run
# Verás archivos como utmp (usuarios conectados), systemd/ (información de systemd), etc.

Relación con /var/run

En muchos sistemas, /var/run es un enlace simbólico a /run. Puedes comprobarlo con:

bash
ls -l /var/run
# Salida: lrwxrwxrwx 1 root root 4 ... /var/run -> /run

4. Resumen y buenas prácticas

CarpetaPropósito¿Es real?¿Quién la usa?Recomendación
/procInformación de procesos y del kernel en tiempo realVirtual (en RAM)Administradores y herramientas de sistemaSolo leer, no modificar
/rootDirectorio personal del superusuarioReal (en disco)RootNo usar para trabajo diario; usar sudo en su lugar
/runArchivos temporales de ejecución de programasTemporal (en RAM o tmpfs)Servicios y aplicacionesNo almacenar datos permanentes; se borra al reiniciar

5. Comandos útiles para explorar estas carpetas

bash
# Ver información del sistema desde /proc
cat /proc/version      # Versión del kernel
cat /proc/uptime       # Tiempo desde el último arranque

# Acceder a /root con sudo (con precaución)
sudo ls -la /root

# Ver el contenido de /run
ls -l /run
# Ver el contenido de /var/run (que apunta a /run)
ls -l /var/run

6. Conclusión

Estas tres carpetas (/proc, /root, /run) cumplen funciones muy específicas que no tienen un equivalente directo en Windows. Mientras que /proc te da una ventana al interior del sistema, /root es el espacio privado del administrador y /run agiliza la ejecución de servicios. Conocerlas te permitirá:

  • Diagnosticar problemas de procesos y rendimiento.

  • Mantener una administración segura (evitando usar root directamente).

  • Entender dónde se almacenan los datos efímeros de las aplicaciones.

Próximo paso: Practica leyendo la información de /proc y familiarízate con los PIDs. Recuerda siempre usar sudo con responsabilidad

Comentarios

Entradas más populares de este blog

ejercicios-Crear Carpeta y Archivo de Texto en Ubuntu

Claves SSH en Ubuntu Server - Guía Completa

Tutorial de Carpetas y Directorios en Ubuntu Linux