Todos y cada uno de los sistemas operativos actuales están basados en diversos servicios que se encargan de entregar las mejores opciones para que los aplicativos y demás componentes del sistema funcionen de la forma adecuada. Gracias a los servicios será posible usar de forma íntegra cada funcionalidad disponible en el sistema operativo usado; y es importante, a nivel de tareas de administración y de auditoria, saber en detalle que servicios están activos en tiempo real, lo cual nos puede ayudar no solo a tener un listado completo de éstos sino también a determinar si alguno de ellos está causando un efecto negativo en el comportamiento general del sistema operativo.
Los servicios pueden definirse como programas que se inician modo de segundo plano es decir que no lo tenemos en un control primario por el usuario no tiene una interfaz la cual podamos interactuar. En función del servicio que que sea tendrá una importancia el sistema u otra. muchos servicios vitales para que el funcionamiento del equipo y del sistema sean totalmente correctos por eso debemos tener cuidado a la hora de hacer modificaciones en estos servicios Linux. una manera de saber qué servicios tenemos es la de listar servicios Linux y ver servicios activos Linux en este momento.
Por esta razón Solvetic explicará algunas de las diferentes formas para conocer los servicios activos en CentOS 7 y de este modo tener un mejor control sobre ellos.
- Enabled. Son los servicios que se están ejecutando actualmente.
- Disabled. Son los servicios que no están activos pero podrían activarse.
- Masked. Son los servicios que no se van a ejecutar si no les eliminamos esa característica.
- Static. Estos servicios solo se usan cuando otro servicio o una unidad lo necesite.
- Generated. Son servicios generados con systemd.
1. Listar servicios Linux
En caso de usar CentOS como sistema de administración, disponemos de las siguientes líneas para acceder al detalle de los servicios activos:
service --status-all service --status-all | more service --status-all | grep ntpd service --status-all | lesPor ejemplo, para imprimir el estado de los servicios de Apache ejecutamos lo siguiente:
service httpd statusSi el objetivo es listar todos los servicios conocidos ejecutaremos:
chkconfig –listPara listar los servicios y sus respectivos puertos abiertos ejecutamos:
netstat -tulpnPara activar o no el servicio disponemos de las siguientes líneas:
ntsysv chkconfig service off chkconfig service on chkconfig httpd off chkconfig ntpd on
Para este tutorial usaremos CentOS y para listar todos los servicios de la distribución ejecutamos:
Systemctl
- Nombre del servicio
- Tiempo de carga
- Estado de actividad
- Descripción del servicio
Si deseamos obtener más información ejecutaremos:
systemctl | moreVeremos lo siguiente. En la parte inferior podemos seleccionar la línea "Mas" para acceder a más registros de servicios.
Podemos listar un servicio o usuario en particular con la siguiente sintaxis:
systemctl | grep “servicio/usuario”
Para listar únicamente los servicios vamos a ejecutar lo siguiente:
systemctl list-units --type service
Ahora, si deseamos listar todos los registros que han sido montados en la unidad:
systemctl list-units --type mount
Para listar todos los servicios sin importar su estado vamos a ejecutar lo siguiente:
systemctl list-unit-filesEl resultado será el siguiente:
Es posible visualizar los procesos asociados con un servicio en particular como cgroup, para este caso debemos usar el comando Para ver los procesos asociados con un servicio en particular (cgroup), puede usar el comando systemd-cgtop, dentro de los resultados desplegados, podemos ver los procesos en ejecución según el tipo de servicio, para ello ejecutamos.
systemd-cgtopAllí podemos ver cada servicio con el respectivo uso de recursos como CPU, memoria, entradas y salidas, etc.
Otra de las opciones en las tareas sobre los servicios, es listar los servicios SysV en uso, esto no incluye los servicios nativos de systemd. Para realizar esta acción debemos ejecutar lo siguiente:
chkconfig –list
2. Ver servicios activos Linux
Para verificar el estado de un servicio en tiempo real vamos a ejecutar la siguiente sintaxis:
systemctl status “servicio”Por ejemplo, podemos validar el estado del servicio SSHD:
systemctl status sshd.serviceEn este caso podemos ver que su estado es activo y se listan todas las acciones que han sido ejecutadas con el servicio seleccionado.
Para verificar si un servicio se está ejecutando (activo) o no se está ejecutando (inactivo) en CentOS 7 podemos hacer uso de las siguientes opciones:
systemctl is-active sshd systemctl is-enabled sshd systemctl is-active nginx systemctl is-enabled nginx systemctl is-enabled httpdAllí podemos visualizar los diferentes estados incluyendo unknown el cual indica que el servicio es desconocido porque no existe en el sistema.
Así será posible llevar una administración mucho mas precisa sobre los servicios en CentOS 7.