
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 sshdPuede verificar que el servicio se está ejecutando utilizando el status subcomando:
$ sudo systemctl status sshdDetener 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 sshdUna vez que determine si este servicio está asociado con el problema, puede reiniciarlo:
$ sudo systemctl start sshdMientras 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 sshdReinicie 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 sshdMostrar 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:
Consulta el estado de tu servicio. ¿Está iniciado? ¿Activado?
- Detenga el servicio y vuelva a verificar su estado.
- Deshabilite el servicio, reinicie el sistema y confirme que el servicio no se inició.
- Habilite el servicio, reinicie el sistema y confirme que el servicio se inició.
- Detenga el servicio y utilice el
masksubcomando para evitar que se inicie. Utilizar elsystemctl startcomando para intentar iniciarlo. ¿Tuviste éxito? - 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.









