Cómo gestionar servicios enmascarados en Linux: Cómo ocultar y mostrar servicios systemD

¿Alguna vez intentaste iniciar o detener un servicio en Linux utilizando el comando systemctl solo para ver una advertencia como esta?:

Error al iniciar postgresql.service: La unidad postgresql.service está enmascarada

Sabes que instalaste el servidor de base de datos Postgresql y que funcionaba correctamente, pero de alguna manera ya no tienes control sobre el servicio. No puedes gestionarlo de ninguna manera. ¿Qué sucedió?

En primer lugar, las máscaras son una forma diferente de deshabilitar un servicio. Aquí está la diferencia: cuando deshabilitas un servicio con sudo systemctl disable, se eliminan todos los enlaces simbólicos del servicio. Cuando enmascaras un servicio, los enlaces simbólicos se mueven y apuntan a /dev/null. Cuando simplemente deshabilitas un servicio, aún se puede iniciar manualmente. Cuando enmascaras un servicio, no se puede iniciar manualmente. En otras palabras, enmascarar un servicio hace que el servicio sea permanentemente inutilizable hasta que se desenmascare.

Esto podría tener implicaciones de seguridad potenciales. Por ejemplo, supongamos que instalas un software con un servicio de systemd y descubres que existe una vulnerabilidad en el servicio. Es posible que no quieras eliminar la aplicación, pero definitivamente no quieres que se ejecute hasta que se corrija la vulnerabilidad. Podrías enmascarar el servicio, esperar a que se solucione la vulnerabilidad, parchear el software y desenmascarar el servicio.

Una cosa a tener en cuenta es que a veces un servicio puede terminar siendo enmascarado por la instalación de otro software. Con esto en mente, ¿cómo puedes saber si un servicio está enmascarado? Puedes utilizar un comando como este:

Cómo crear una lista en Microsoft 365 utilizando datos de Excel

systemctl list-unit-files | grep enmasc

Ejecuta el comando anterior y probablemente te sorprenderás de cuántos servicios están enmascarados en tu sistema. Encontré 23 servicios enmascarados en mi instancia de Pop!_OS, uno de los cuales era mysql.service. Si quiero usar MySQL en esa máquina, primero tendré que desenmascarar el servicio.

Índice de Contenido
  1. Cómo enmascarar un servicio en Linux
  2. Cómo desenmascarar un servicio en Linux

Cómo enmascarar un servicio en Linux

Lo primero que haremos es aprender cómo enmascarar un servicio en Linux. Sigamos con nuestro ejemplo de MySQL. Abre una ventana de terminal y enmascara el servicio MySQL con el siguiente comando:

sudo systemctl mask mysql

Si MySQL no estaba enmascarado previamente, ahora aparecerá así si vuelves a ejecutar el comando systemctl list-unit-files | grep enmasc. En este punto, el servicio MySQL no puede iniciar automáticamente ni manualmente. Intenta iniciar el servicio con el siguiente comando:

sudo systemctl start mysql

Cómo sincronizar Asana con Google Calendar: guía paso a paso

Deberías ver el error:

Error al iniciar mysql.service: La unidad mysql.service está enmascarada

Cómo desenmascarar un servicio en Linux

Ahora que has enmascarado un servicio, ¿cómo lo desenmascaras? Como probablemente habrás adivinado, el comando sería:

sudo systemctl unmask mysql

Ahora, cuando inicies MySQL, funcionará como se espera.

Y ahí lo tienes, casi todo lo que necesitas saber para gestionar servicios enmascarados en Linux. Es posible que no necesites esta habilidad a diario, pero estarás contento de tenerla cuando llegue el momento.

Cómo utilizar las colecciones de Microsoft Edge para organizar tus marcadores

En Newsmatic nos especializamos en tecnología de vanguardia, contamos con los artículos mas novedosos sobre Software, allí encontraras muchos artículos similares a Cómo gestionar servicios enmascarados en Linux: Cómo ocultar y mostrar servicios systemD , tenemos lo ultimo en tecnología 2023.

Artículos Relacionados

Subir

Utilizamos cookies para mejorar su experiencia de navegación, mostrarle anuncios o contenidos personalizados y analizar nuestro tráfico. Al hacer clic en “Aceptar todo” usted da su consentimiento a nuestro uso de las cookies.