Iniciar sesión
Iniciar sesión

Cómo montar una compartición SMB en Linux

Cómo montar una compartición SMB en Linux
Shahid Ali
Redactor técnico
Sistema Linux
16.07.2025
Reading time: 5 min

El protocolo Server Message Block (SMB) facilita el intercambio de archivos en red, permitiendo que las aplicaciones lean, escriban archivos y soliciten servicios a programas del servidor. Este protocolo es clave para una comunicación fluida entre distintos dispositivos de una red, especialmente en entornos mixtos como Windows y Linux.

Montar una compartición SMB en Linux permite a los usuarios acceder a archivos en un servidor Windows u otro dispositivo con SMB directamente desde su sistema Linux. Este tutorial te guía paso a paso para montar una compartición SMB en Linux, garantizando un uso compartido de archivos y comunicación en red sin problemas.

Requisitos previos para montar comparticiones SMB

Antes de montar una compartición SMB, asegúrate de cumplir con los siguientes requisitos:

  • Un sistema Linux, como un servidor en la nube económico de Hostman, con privilegios de root o sudo.
  • El paquete cifs-utils instalado en tu sistema Linux.

  • Credenciales de acceso (nombre de usuario y contraseña) para la compartición SMB.

  • Conectividad de red entre tu sistema Linux y el servidor SMB.

Instalar los paquetes necesarios

El paquete cifs-utils es esencial para montar comparticiones SMB en Linux. Además, el paquete psmisc proporciona el comando fuser, útil para gestionar y monitorear el uso de archivos.

Actualizar la lista de paquetes y el sistema

Primero, actualiza la lista de paquetes y mejora tu sistema:

sudo apt update

Instalar cifs-utils y psmisc

Instala los paquetes necesarios:

sudo apt install cifs-utils psmisc

Verificar la instalación

Verifica la instalación de cifs-utils y la disponibilidad del comando fuser:

mount -t cifs
fuser

Encontrar los detalles de la compartición SMB

Identifica los detalles de la compartición SMB, incluyendo el nombre del servidor o la dirección IP y el nombre de la carpeta compartida. Puede que necesites consultar con tu administrador de red o revisar la configuración del servidor.

Ejemplo:

  • Servidor: servidor-smb.ejemplo.com
  • Carpeta SMB-Freigabe: carpetacompartida

Montar comparticiones SMB usando el comando mount

Para montar la compartición SMB, usa el comando mount con la opción -t cifs, especificando el protocolo SMB.

Crear un directorio como punto de montaje:

sudo mkdir /mnt/comparticion_smb

Montar la compartición SMB con el siguiente comando:

sudo mount -t cifs -o username=tu_usuario,password=tu_contraseña //192.0.2.17/SharedFiles /mnt/comparticion_smb

Reemplaza tu_usuario y tu_contraseña con tus credenciales reales. Asegúrate de que /mnt/comparticion_smb exista.

Verificar el montaje

Para confirmar que la compartición SMB se ha montado correctamente, usa:

mount -t cifs

Navega al punto de montaje y lista los archivos:

cd /mnt/comparticion_smb
ls

Crear un archivo de credenciales

Para evitar ingresar credenciales cada vez, crea un archivo de credenciales. Este archivo debe estar oculto y seguro.

Crear el archivo:

nano ~/.smbcredentials

Agregar el contenido (sustituyendo por tus datos reales):

username=tu_usuario
password=tu_contraseña

Establecer los permisos adecuados:

sudo chown tu_usuario: ~/.smbcredentials
sudo chmod 600 ~/.smbcredentials

Montar usando el archivo de credenciales

sudo mount -t cifs -o credentials=~/.smbcredentials //192.168.2.12/SharedFiles /mnt/comparticion_smb

Automatizar el montaje de comparticiones SMB

Para automatizar el montaje, añade una entrada en el archivo /etc/fstab. Esto asegurará que la compartición SMB se monte al iniciar el sistema.

1. Abre /etc/fstab para editarlo:

sudo nano /etc/fstab

2. Añade la siguiente línea:

//servidor-smb.ejemplo.com/carpetacompartida /mnt/comparticion_smb cifs username=tu_usuario,password=tu_contraseña,iocharset=utf8,sec=ntlm 0 0

3. Guarda y cierra el archivo.

4. Prueba la entrada de fstab:

sudo mount -a

Asegúrate de que no aparezcan errores.

Solución de problemas comunes

Permiso denegado

Verifica tus credenciales y los permisos en el servidor SMB.

No existe el archivo o directorio

Confirma que la IP del servidor, la ruta compartida y el punto de montaje sean correctos.

Error de montaje 13 = Permiso denegado

Revisa que el nombre de usuario y la contraseña sean correctos.

Error de montaje 112 = El host no responde

Verifica la conectividad de red y la disponibilidad del servidor.

Desmontar una compartición SMB

Para desmontar la compartición SMB, utiliza el comando umount seguido del punto de montaje:

sudo umount /mnt/comparticion_smb

Conclusión

Montar una compartición SMB en Linux es un proceso sencillo que mejora la capacidad de compartir archivos entre sistemas operativos distintos. Siguiendo esta guía, podrás configurar y solucionar problemas de montaje de SMB de forma eficiente, facilitando así la comunicación en red y el acceso a archivos.

¡No olvides revisar cómo configurar una imagen de servidor en Linux!

Preguntas frecuentes

¿Qué es Samba en Linux y cómo se relaciona con SMB?

Samba es una implementación de código abierto del protocolo SMB/CIFS en Linux. Permite que los sistemas Linux compartan archivos e impresoras con dispositivos Windows a través de la red.

¿Cuál es el comando para montar una carpeta compartida de Windows en Linux?

Usa mount -t cifs //servidor/carpeta /mnt/punto_montaje -o username=tu_usuario.

¿Cómo puedo montar automáticamente una compartición SMB al iniciar Linux?

Agrega la configuración del montaje en /etc/fstab con las credenciales adecuadas.

¿Necesito acceso root para montar una compartición SMB?

Para el montaje tradicional, sí. Pero también existen herramientas en espacio de usuario como gio mount que pueden usarse sin permisos de root.

Sistema Linux
16.07.2025
Reading time: 5 min

Similares

Servicios de Webmail

Cómo enviar correos electrónicos en Linux desde la línea de comandos con Sendmail y Mailx

Para quienes administran servidores o trabajan en tareas de automatización, saber cómo enviar correos electrónicos desde la terminal de Linux es esencial. Esto permite un control total sobre las funciones de correo y elimina la necesidad de programas complejos. Es especialmente útil en escenarios donde la rapidez y la simplicidad son fundamentales. Herramientas comunes como sendmail y mailx se utilizan frecuentemente para enviar mensajes, verificar configuraciones SMTP, automatizar alertas e integrarse con scripts. Son herramientas simples pero muy efectivas, ideales para tareas como informar al equipo sobre actualizaciones del servidor, generar informes automatizados o probar configuraciones de correo. Esta guía está diseñada para usuarios que desean gestionar su correo directamente desde la terminal. Incluye la instalación de las herramientas esenciales y también tareas avanzadas, como el envío de adjuntos y la configuración de herramientas de correo. Por qué elegir herramientas de correo por línea de comandos Las dos herramientas más utilizadas —sendmail y mailx— son soluciones confiables para enviar correo en Linux. Sus principales ventajas son: Eficiencia Los clientes de correo tradicionales pueden ser lentos y consumir muchos recursos. Estas herramientas permiten enviar correos de forma rápida y ligera directamente desde la terminal. Automatización Se integran fácilmente con scripts shell, procesos cron y herramientas de monitoreo. Esto permite automatizar notificaciones y alertas para tareas repetitivas. Solución de problemas SMTP Configurar y depurar SMTP se vuelve más sencillo. Estos comandos permiten inspeccionar mensajes, registros y errores con mayor claridad. Flexibilidad Desde enviar alertas hasta generar informes automáticos, sendmail y mailx ofrecen una amplia versatilidad. Requisitos previos Antes de utilizar estas herramientas de correo en Linux, asegúrate de tener: Acceso a terminal: En algunos casos pueden requerirse permisos de root. Un servidor SMTP: Necesario para realizar pruebas de envío. Herramientas instaladas: Comprueba que sendmail y mailx estén instalados correctamente. Configuración de un servidor SMTP Los servidores SMTP son esenciales para enviar correos. Se dividen en dos tipos: Servidores SMTP externos Servidores SMTP locales Servidores SMTP externos Son servidores de correo proporcionados por un tercero. Permiten enviar correos a destinatarios fuera de la red local. Ofrecen: Entrega global Autenticación Cifrado Prevención de spam Ejemplos Gmail Dirección: smtp.gmail.com Puerto: 587 (TLS) o 465 (SSL) Outlook Dirección: smtp.office365.com Puerto: 587 Estos servidores requieren autenticación adecuada (usuario, contraseña o contraseñas específicas de aplicación) y cifrado (TLS/SSL). Nota: ya proporcionamos una guía para configurar servidores SMTP externos. El comando para enviar correos mediante Postfix es el mismo. Solo debes configurar los parámetros SMTP y sustituir la dirección por tu cuenta de Gmail u otro proveedor. Servidores SMTP locales Funcionan exclusivamente dentro de una red privada. Son ideales para: Enviar correos entre usuarios internos (por ejemplo: tom@office.local → jerry@office.local) Pruebas y desarrollo locales Comunicación interna No requieren acceso a Internet Cómo configurar un servidor SMTP local 1. Instalar Postfix sudo apt install postfix 2. Editar la configuración de Postfix sudo nano /etc/postfix/main.cf Ajusta o confirma estos parámetros: myhostname = mail.office.local mydomain = office.local myorigin = $mydomain inet_interfaces = loopback-only local_recipient_maps = proxy:unix:passwd.byname mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain Guarda los cambios y reinicia: sudo systemctl restart postfix 3. Crear usuarios de correo sudo adduser linux sudo adduser hostman Esto permite direcciones como linux@office.local. Resumen de sendmail sendmail es un conocido agente de transferencia de correo (MTA) en Linux. Funciona perfectamente con servidores SMTP y permite enviar correos desde sistemas locales o scripts. Instalación de sendmail Debian/Ubuntu sudo apt install sendmail CentOS/Red Hat sudo yum install sendmail Iniciar y habilitar el servicio sudo systemctl start sendmail sudo systemctl enable sendmail Probar la configuración echo "Testing sendmail setup" | sendmail -v your-email@example.com Verificar el correo recibido: mail Si mail no está instalado: sudo apt install mailutils O utilizar: cat /var/mail/user Editar archivo de configuración de sendmail sudo nano /etc/mail/sendmail.mc Ejemplo de ajuste del nombre de dominio: define(`confDOMAIN_NAME', `your_domain.com')dnl Regenerar el archivo de configuración: sudo m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf Si aparece un error de permisos: sudo sh -c "m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf" Reiniciar el servicio: sudo systemctl restart sendmail Enviar correo con sendmail 1. Crear un archivo con el mensaje nano email.txt Contenido: Subject: Test Email from Hostman This is a test email sent using sendmail on Linux. 2. Enviar el correo sendmail recipient@example.com < email.txt 3. Verificar mail Enviar adjuntos con sendmail sendmail no admite adjuntos de forma nativa. Debes usar uuencode: sudo apt install sharutils Enviar archivo adjunto: ( echo "Subject: Email with attachment"; uuencode file.txt file.txt ) | sendmail recipient@example.com Verificación: mail Resumen de mailx mailx es una utilidad de terminal simple y eficaz para gestionar correo electrónico. Forma parte del paquete mailutils. Instalar mailx Debian/Ubuntu sudo apt install mailutils Red Hat sudo yum install mailx Enviar correo con mailx echo "This is the body of the email" | mailx -s "Test Email from Mailx" recipient@example.com Enviar adjuntos con mailx echo "Please find the attached document" | mailx -s "Email with Attachment" -A email.txt recipient@example.com Conclusión Enviar correos desde la línea de comandos en Linux es una forma eficaz de automatizar tareas de comunicación, solucionar problemas de servidores o probar configuraciones. Con herramientas como sendmail y mailx, puedes gestionar mensajes simples o configuraciones complejas con adjuntos. Esta guía ofrece instrucciones claras para comenzar sin dificultad y mejorar tu flujo de trabajo.
26 November 2025 · 6 min to read
Sistema Linux

Cómo abrir un puerto en Linux

Abrir puertos en Linux es una tarea esencial que permite que ciertos servicios o aplicaciones intercambien datos a través de la red.  Los puertos actúan como canales de comunicación, permitiendo el acceso a servicios autorizados y bloqueando las conexiones no deseadas. Una correcta gestión de los puertos es clave para mantener seguridad, rendimiento estable y funcionamiento fiable del sistema. Comprender los puertos y su función Los puertos son puntos finales lógicos de comunicación de red, donde los dispositivos envían y reciben información. Ejemplos comunes: HTTP usa el puerto 80 HTTPS usa el puerto 443 SSH usa el puerto 22 Un puerto abierto indica que hay un servicio escuchando y aceptando tráfico entrante a través de él. Un puerto cerrado bloquea la comunicación. Gestionar correctamente los puertos abiertos en Linux es fundamental para mantener disponibilidad y seguridad. Cómo comprobar los puertos abiertos en Linux Antes de abrir un puerto, conviene verificar qué puertos están actualmente activos. Existen varias herramientas y comandos de Linux para hacerlo. Con netstat Ejecuta el siguiente comando para mostrar los puertos abiertos: netstat -tuln La opción -tuln limita la salida a puertos TCP y UDP, sin resolver nombres de host. netstat ofrece una vista en tiempo real de las conexiones de red activas. Nota: si netstat no está instalado: sudo apt install net-tools Con ss El comando ss es una versión moderna y más rápida de netstat: ss -tuln Muestra los puertos en uso y la información de los sockets activos. Con nmap Para un análisis más detallado de los puertos abiertos: nmap localhost nmap analiza el host especificado (en este caso, localhost) y muestra los puertos accesibles. Es útil para identificar qué servicios están expuestos a la red pública. Nota: instala nmap con: sudo apt install nmap Cómo abrir puertos en Linux Para permitir el acceso a través de un puerto específico, es necesario modificar las reglas del firewall. Linux ofrece varias herramientas para gestionar esto: iptables, ufw y firewalld. A continuación, te mostramos cómo usarlas. Método 1: con iptables iptables es una herramienta potente y de bajo nivel que proporciona control detallado sobre el tráfico de red. Añadir una regla para permitir tráfico en un puerto Ejemplo: habilitar acceso HTTP en el puerto 8080: sudo iptables -A INPUT -p tcp --dport 8080 -j ACCEPT Explicación: sudo: ejecuta el comando con privilegios de administrador -A INPUT: agrega la regla a la cadena de entrada (tráfico entrante) -p tcp: aplica la regla al protocolo TCP --dport 8080: especifica el puerto 8080 -j ACCEPT: acepta el tráfico que cumpla la regla Estas reglas no son permanentes: se pierden al reiniciar el sistema. sudo apt install iptables iptables-persistent Guardar la configuración Para hacer que las reglas persistan después del reinicio: sudo netfilter-persistent save Esto almacena las reglas actuales para que se apliquen automáticamente al reiniciar. Recargar la configuración sudo netfilter-persistent reload Método 2: con ufw (Uncomplicated Firewall) ufw es una interfaz simplificada para iptables que facilita la gestión de reglas del firewall. Activar ufw sudo ufw enable Si no está instalado: sudo apt install ufw Permitir tráfico por un puerto específico Ejemplo: abrir la puerta 22 (SSH): sudo ufw allow 22/tcp Esto permite conexiones TCP entrantes al puerto 22, generalmente usadas para acceso remoto SSH. Ver el estado del firewall sudo ufw status Muestra todas las reglas activas y los puertos abiertos. Método 3: con firewalld firewalld es un servicio de firewall dinámico más flexible y fácil de configurar que iptables. Agregar una regla permanente Ejemplo: abrir la puerta 443 (HTTPS): sudo firewall-cmd --permanent --add-port=443/tcp Instala y activa firewalld con: sudo apt install firewalld sudo systemctl enable firewalld sudo systemctl start firewalld Recargar las reglas sudo firewall-cmd --reload Comprobar si el puerto está abierto sudo firewall-cmd --list-all Muestra todas las zonas y reglas activas, incluidas las puertas abiertas. Cómo probar el puerto abierto Después de abrir un puerto, verifica si realmente está accesible. Con telnet telnet localhost port_number Si la conexión se establece, el puerto está abierto y operativo. Con nmap nmap -p port_number localhost Verifica si el puerto especificado está accesible en el host local. Con curl curl localhost:port_number Si el servicio responde, significa que está activo en esa puerta. Solución de problemas comunes Si el puerto no se abre correctamente: Verifica las reglas del firewall: iptables -L ufw status Comprueba el estado del servicio: systemctl status <nombre_del_servicio> Abrir puertos según el protocolo Dependiendo del servicio, puede ser necesario usar TCP o UDP. Abrir un puerto TCP Ejemplo: permitir tráfico MySQL en el puerto 3306: sudo ufw allow 3306/tcp Abrir un puerto UDP Ejemplo: permitir tráfico SNMP en el puerto 161: sudo ufw allow 161/udp UDP proporciona comunicación más rápida y sin conexión, ideal para herramientas de monitoreo. Gestionar el acceso a los puertos Restringir el acceso a una IP específica sudo ufw allow from 192.168.1.100 to any port 22 Esto permite acceso SSH al puerto 22 solo desde esa dirección IP, mejorando la seguridad. Cerrar un puerto sudo ufw deny 80/tcp Bloquea el tráfico entrante por el puerto 80 (HTTP). Conclusión Comprobar y abrir puertos en Linux es fundamental para optimizar el funcionamiento de red y mantener la seguridad de los servicios. Con herramientas como iptables, ufw y firewalld, puedes controlar el tráfico de forma segura y flexible. Siempre prueba tus configuraciones con nmap, curl o telnet para confirmar que el puerto está correctamente abierto. Una buena gestión de puertos garantiza servidores estables, conexiones seguras y un rendimiento confiable.
29 October 2025 · 5 min to read
Sistema Linux

¿Qué es un daemon en informática?

El término daemon proviene de la mitología griega antigua, donde hacía referencia a un ser inmaterial que influía en el mundo humano. En informática, especialmente en los sistemas operativos tipo UNIX, un daemon es un proceso en segundo plano que se ejecuta sin interacción directa del usuario. No depende de una terminal o interfaz de usuario y normalmente se inicia con el arranque del sistema o bajo ciertas condiciones. Qué es un daemon La función principal de un daemon es proporcionar servicios específicos a otros procesos o usuarios. Por ejemplo, un daemon puede escuchar en puertos de red esperando conexiones, supervisar eventos del sistema y responder cuando se cumplen ciertas condiciones, gestionar tareas programadas (como cron), enviar correos electrónicos (sendmail) y mucho más. En Windows, el equivalente más cercano a un daemon es un servicio (Service). La diferencia radica principalmente en cómo se inician, registran, gestionan y configuran dentro del sistema operativo. Sin embargo, su propósito es el mismo: garantizar la operación continua en segundo plano de ciertas funciones o servicios. Características clave de un daemon Se ejecuta en segundo plano: los usuarios normalmente no ven la interfaz del daemon; no escribe en la salida estándar (o la redirige a los registros) ni solicita entrada por teclado. Autónomo: un daemon se inicia al arrancar el sistema cuando lo activa un sistema de inicio (como systemd) o manualmente por el usuario (mediante scripts, cron, etc.). Larga duración: idealmente, un daemon se ejecuta indefinidamente a menos que ocurra un error crítico o reciba una señal de detención explícita. Aislado: generalmente se ejecuta bajo una cuenta de usuario o grupo separada para minimizar privilegios, lo que hace que los servicios sean más seguros y fáciles de administrar. Registro: en lugar de usar la entrada/salida estándar, los daemons registran información en archivos de registro o en el registrador del sistema (journald, syslog, etc.), lo cual es útil para la depuración y el diagnóstico. Daemons en Linux Históricamente, casi todas las tareas del sistema en segundo plano en Linux se implementan como daemons. El sistema operativo incluye docenas de ellos, cada uno responsable de una función específica. Aquí algunos ejemplos: sshd (Secure Shell Daemon): escucha en el puerto 22 (por defecto) y permite que los usuarios remotos se conecten mediante SSH cifrado. Sin sshd, el acceso remoto por terminal sería casi imposible. cron: un daemon planificador de tareas. Revisa las entradas del crontab y ejecuta scripts o comandos en horarios establecidos, como limpieza de registros, envío de informes, comprobaciones del sistema, etc. syslogd / rsyslog / journald: daemons de registro del sistema que recopilan mensajes del kernel, utilidades, otros daemons y aplicaciones, y los guardan en archivos de registro o en el journal. NetworkManager o Wicd: daemons que gestionan la configuración de red, automatizando conexiones a redes cableadas o inalámbricas, cambios, configuración de VPN y más. Estos daemons se inician con el arranque del sistema y están registrados en el gestor de servicios (por ejemplo, systemd). Se ejecutan hasta que el sistema se apaga o reinicia. Los usuarios interactúan con ellos de forma indirecta, mediante archivos de configuración, comandos de terminal (service, systemctl) o solicitudes de red (si el daemon ofrece una interfaz HTTP/S, SSH u otra). Cómo crear y gestionar daemons Para implementar un daemon, siga estos pasos: Creación del proceso (fork): el proceso padre llama a fork() y continúa ejecutando el código del daemon en el proceso hijo. Desvincular del terminal de control (setsid): para evitar la interferencia del usuario (por ejemplo, cerrar la terminal), el daemon llama a setsid() para iniciar una nueva sesión y convertirse en su líder. Cerrar descriptores de entrada/salida estándar: como el daemon no debe escribir en la pantalla ni esperar entrada, stdin, stdout y stderr se cierran o se redirigen a archivos de registro. Manejo de señales y registro: para permitir un apagado limpio o la recarga de configuración, el daemon debe manejar señales (SIGTERM, SIGHUP, etc.). El registro suele realizarse mediante syslog o archivos. Bucle principal: tras la inicialización, el daemon entra en su bucle principal: espera eventos, los maneja y repite el ciclo hasta que se detiene. Veamos cómo crear un daemon en Ubuntu 22.04 utilizando un servidor en la nube de Hostman. 1. Escribir el daemon en C Cree un archivo llamado mydaemon.c e inserte el siguiente código: #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <syslog.h> int main() { // Abrir syslog     openlog("mydaemon", LOG_PID, LOG_DAEMON); syslog(LOG_NOTICE, "Daemon started"); // Bucle infinito principal     while (1) { // Tareas en segundo plano: monitoreo, gestión de colas, etc. syslog(LOG_NOTICE, "Performing task..."); sleep(60); } // Si el bucle termina     syslog(LOG_NOTICE, "Daemon stopped"); closelog(); return 0; } 2. Compilar el programa Primero, actualice sus paquetes: sudo apt update && sudo apt upgrade Instale el compilador GCC si no está instalado: sudo apt install gcc Compile el daemon: gcc mydaemon.c -o mydaemon 3. Mover el ejecutable Mueva el binario a /usr/local/bin/, una ubicación estándar para utilidades personalizadas: mv mydaemon /usr/local/bin/mydaemon 4. Crear un servicio systemd Cree un archivo de unidad llamado mydaemon.service: sudo nano /etc/systemd/system/mydaemon.service Inserte el siguiente contenido: [Unit] Description=My Daemon After=network.target [Service] Type=simple ExecStart=/usr/local/bin/mydaemon Restart=on-failure [Install] WantedBy=multi-user.target Explicación de los campos: Description: descripción mostrada en systemctl status. After=network.target: asegura que el daemon se inicie después de que la red esté activa. Type=simple: el daemon no crea subprocesos, se ejecuta como un solo proceso. ExecStart: ruta al ejecutable del daemon. Restart=on-failure: reinicia automáticamente si el daemon falla. WantedBy=multi-user.target: hace que el servicio se inicie en el entorno estándar multiusuario. 5. Iniciar y supervisar el daemon sudo systemctl daemon-reload # Recargar configuración de systemd sudo systemctl start mydaemon # Iniciar el daemon sudo systemctl status mydaemon # Verificar estado Si todo funciona correctamente, el estado mostrará active. Para ver los registros: journalctl -u mydaemon.service -e Ejemplos de uso de daemons Servidores web Su función es escuchar en un puerto de red (normalmente 80 o 443), aceptar solicitudes HTTP/HTTPS, generar una respuesta (una página HTML, datos JSON, etc.) y enviarla de vuelta al cliente. En la mayoría de los casos, un servidor web se inicia con el sistema y continúa ejecutándose hasta que el servidor se apaga o se detiene manualmente (por ejemplo, systemctl stop nginx). Daemons de bases de datos MySQL/MariaDB, PostgreSQL, MongoDB: todos son daemons. Se inician con el sistema y se ejecutan en segundo plano, aceptando solicitudes de aplicaciones cliente o servicios web. Estos daemons registran su actividad, admiten configuración mediante archivos y se gestionan con utilidades especiales (o systemd). Planificadores de tareas (cron, atd) El daemon cron revisa la tabla de planificación (crontab) y ejecuta programas en los horarios o intervalos definidos por el usuario. Esto permite automatizar copias de seguridad, actualizaciones del sistema, verificaciones de estado y muchas otras tareas rutinarias. atd es un daemon similar, pero ejecuta tareas solo una vez en un momento específico (a diferencia de cron, que las ejecuta regularmente). Servicios de acceso y control (sshd, xrdp) sshd (Secure Shell Daemon) ofrece acceso remoto mediante el protocolo SSH. xrdp habilita conexiones de escritorio remoto utilizando el protocolo RDP. Actúa como un daemon que escucha conexiones de red en un puerto determinado. Daemons del sistema de inicio (systemd, init, Upstart) En los sistemas modernos, el papel del “daemon principal” lo cumple systemd (que reemplaza al antiguo sistema SysV init). systemd es el primer proceso que se inicia después del kernel y se encarga de lanzar y gestionar todos los demás servicios y procesos. Los inicia en paralelo y maneja sus dependencias. En resumen, systemd es en sí mismo un daemon que “orquesta” a todos los demás en el sistema. Ventajas y desventajas de los daemons Ventajas: Automatización: los daemons permiten automatizar el comportamiento del sistema, desde responder a solicitudes de red hasta programar tareas, sin intervención del usuario. Aislamiento: al ejecutarse bajo cuentas de usuario o grupo separadas y desligarse del terminal, aumentan la seguridad al limitar los daños potenciales en caso de compromiso. Operación continua: un daemon puede seguir prestando servicios (como un servidor web) sin interrupción, incluso si el usuario cierra sesión o la consola. Manejabilidad: Linux ofrece herramientas del sistema (por ejemplo, systemd, scripts init) para gestionar todos los daemons de forma centralizada: iniciar, detener, reiniciar y registrar. Desventajas: Complejidad de depuración: dado que los daemons se ejecutan en segundo plano y no muestran salida en la consola, la depuración requiere registros detallados y configuraciones más complejas (banderas de depuración, trazas, etc.). Riesgos de seguridad: si un daemon se ejecuta con privilegios elevados (por ejemplo, como root), cualquier vulnerabilidad puede comprometer el sistema completo. Es recomendable ejecutarlos con permisos limitados. Gestión de dependencias: algunos daemons pueden fallar si, por ejemplo, necesitan acceso a la red antes de que esté disponible. Los sistemas init modernos resuelven esto, pero con los scripts clásicos SysV era un problema común. Mayor uso de recursos: cualquier proceso en ejecución constante consume recursos del sistema (memoria, CPU). Si hay demasiados daemons, el rendimiento puede verse afectado, especialmente en sistemas con recursos limitados. Conclusión Los daemons son fundamentales en la arquitectura de los sistemas operativos Linux, ya que ofrecen amplias capacidades de automatización y servicios en segundo plano. Permiten a los administradores configurar de manera flexible operaciones de red, tareas programadas, registros, sistemas de seguridad y muchos otros componentes. Escribir su propio daemon requiere comprender procesos, señales, llamadas al sistema y prestar especial atención al registro y la seguridad. Los sistemas init modernos (especialmente systemd) han simplificado la gestión de daemons y la lógica de servicios, haciendo que la creación de servicios personalizados sea más estructurada y flexible. Sin embargo, sigue siendo un campo complejo que exige diseño cuidadoso, depuración y mantenimiento continuo. Si busca una solución confiable, de alto rendimiento y económica para sus flujos de trabajo, Hostman le ofrece opciones de Hosting VPS Linux, incluidas Debian VPS, Ubuntu VPS y VPS CentOS.
23 October 2025 · 10 min to read

¿Tienes preguntas,
comentarios o inquietudes?

Nuestros profesionales están disponibles para asistirte en cualquier momento,
ya sea que necesites ayuda o no sepas por dónde empezar.
Hostman's Support