Tutoriales

Cómo usar systemctl para administrar servicios de Linux

Suponga que está realizando cambios de configuración en un servidor Linux. Tal vez acaba de iniciar Vim y realizó modificaciones en el /etc/ssh/sshd_config archivo, y es hora de probar su nueva configuración. ¿Ahora que?

Los servicios como SSH extraen sus configuraciones de los archivos de configuración durante el proceso de inicio. Para informar al servicio sobre los cambios en el archivo, debe reiniciar el servicio para que vuelva a leer el archivo. Puedes usar el systemctl comando para administrar servicios y controlar cuándo se inician.

reiniciar un servicio

Después de editar el /etc/ssh/sshd_config archivo, utilice el systemctl restart Comando para hacer que el servicio recoja la nueva configuración:

$ sudo systemctl restart sshd

Puede verificar que el servicio se está ejecutando utilizando el status subcomando:

$ sudo systemctl status sshd

Detener e iniciar un servicio

Quizás durante la resolución de problemas necesite detener un servicio para determinar si es el culpable o si interfiere con algún otro proceso. Utilizar el stop subcomando para esto:

$ sudo systemctl stop sshd

Una vez que determine si este servicio está asociado con el problema, puede reiniciarlo:

$ sudo systemctl start sshd

Mientras que la restart El subcomando es útil para actualizar la configuración de un servicio, el stop y start Las características le brindan un control más granular.

Controlar si el servicio se inicia con el sistema

Una consideración con el uso stop y start es que los dos comandos se aplican solo al tiempo de ejecución actual. La próxima vez que inicie el sistema, el servicio se iniciará o no, según su configuración predeterminada. Puedes usar el enable y disable subcomandos para administrar esos valores predeterminados.

Cuando usted disable el servicio, no se inicia la próxima vez que se inicia el sistema. Puede usar esta configuración como parte de su proceso de fortalecimiento de la seguridad o para solucionar problemas:

$ sudo systemctl disable sshd

Reinicie el sistema con reboot sudo systemctl rebooty el servicio no se iniciará automáticamente.

Puede determinar que necesita que el servicio se inicie automáticamente. En ese caso, utilice el enable subcomando:

$ sudo systemctl enable sshd

Él enable El subcomando no inicia un servicio, solo lo marca para que se inicie automáticamente en el arranque. Para habilitar e iniciar un servicio al mismo tiempo, use el --now opción:

$ sudo systemctl enable --now sshd

[ Free download: Advanced Linux commands cheat sheet. ]

Enmascarar un servicio

Puede iniciar manualmente un servicio deshabilitado con el systemctl start comando después de que se inicia el sistema. Para evitar esto, utilice el mask subcomando Enmascarar el servicio vincula su configuración a /dev/null. Un usuario o proceso no podrá iniciar este servicio en absoluto (mientras que con un servicio deshabilitado, un usuario o proceso aún puede iniciarlo). Utilizar el unmask subcomando para invertir la configuración:

$ sudo systemctl mask sshd

Mostrar todos los subcomandos

La función de finalización de pestañas incorporada de Bash es uno de mis trucos favoritos para systemctl (y otros comandos). Al trabajar con comandos que admiten subcomandos, esta característica le ahorra mucho tiempo. Simplemente escriba systemctl y agrega un espacio, luego toca el Pestaña clave dos veces. Bash muestra todos los subcomandos disponibles.

El reto

¿Crees que estás listo para usar? systemctl para administrar sus servicios? Encienda una máquina virtual de laboratorio y elija un servicio con el que trabajar. ¡No haga esto en un sistema de producción! Asegúrese de que puede realizar las siguientes tareas:

  1. Consulta el estado de tu servicio. ¿Está iniciado? ¿Activado?

  2. Detenga el servicio y vuelva a verificar su estado.
  3. Deshabilite el servicio, reinicie el sistema y confirme que el servicio no se inició.
  4. Habilite el servicio, reinicie el sistema y confirme que el servicio se inició.
  5. Detenga el servicio y utilice el mask subcomando para evitar que se inicie. Utilizar el systemctl start comando para intentar iniciarlo. ¿Tuviste éxito?
  6. Use la función de finalización de pestañas de Bash para mostrar todos los subcomandos disponibles para systemctl.

Envolver

Muchas tareas de gestión implican la systemctl comando, pero los cubiertos arriba representan la mayoría de ellos. La gestión de servicios es fundamental, especialmente cuando se editan archivos de configuración y se fortalece un sistema. Plan para ser seguro, competente y rápido en el uso systemctl y sus subcomandos comunes.

LEER  Cómo instalar Discord en Fedora Linux

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba