Dentro de las tareas cotidianas que tenemos como administradores o apoyo al área de sistemas está el supervisar y gestionar las actividades que cada usuario realiza dentro de la infraestructura organizacional. También es útil recolectar información del sistema y de la red, para ello puedes visitar el siguiente tutorial: Monitorix en Linux.
Existen muchas herramientas que nos ayudan a analizar y llevar un control sobre dichas actividades pero hoy vamos a analizar las herramientas acct y psacct.
1. ¿Qué es acct y psacct?
Ambas utilidades son herramientas de código abierto que nos ayudan a llevar un control específico sobre las actividades que realizan los usuarios en el equipo o sistema y una de las grandes ventajas es que se ejecutan en segundo plano y por ende no se ve afectado el rendimiento de la máquina.
- Monitorea las actividades del usuario.
- Despliega los comandos que se usan.
- Despliega un informe sobre los recursos que están siendo usados en el sistema.
- Nos permite observar cuanto tiempo llevan los usuarios conectados en el sistema.
- Acct y psacct no consume recursos de la máquina mejorando el rendimiento.
Como vemos con estas herramientas tenemos una gran ayuda para las tareas administrativas que diariamente debemos realizar. Podemos combinar acct o psacct con algunos parámetros que ya veremos más adelante.
Para este análisis nosotros usaremos Debian 8, pero se indica también cómo realizar la instalación en otros entornos.
2. Actualizar los paquetes
Como siempre hemos recomendado es importante antes de realizar alguna tarea sobre el sistema actualizar los paquetes porque casi a diario aparecen novedades que pueden ser muy útiles para nuestra labor.
En entornos CentOS y RedHat usaremos el siguiente comando:
yum updateEn entornos Debian, Fedora y demás podemos usar el comando:
apt-get updateUna vez tengamos actualizado el sistema operativo, procedemos a instalar los paquetes necesarios.
3. Descargar e instalar los paquetes de acct o psacct
Algo muy importante que debemos tener en cuenta es que la utilidad acct es para entornos Fedora, Debian, Mint, etc y la herramienta psacct es para entornos CentOS y RedHat. Para proceder con la descarga y respectiva instalación de los paquetes mencionados vamos a ingresar el siguiente comando:
En entornos CentOS y Redhat:
yum install psacctEn entornos con Fedora o Debian:
sudo apt-get install acct o apt-get install acctAceptamos la descarga y esperamos que las mismas sean instaladas en el Sistema.
4. Iniciar el servicio acct o psacct
Una vez descargados e instalados los paquetes respectivos procedemos a iniciar el servicio el cual por defecto está deshabilitado en entornos CentOS y RedHat. Para ver el estado de la herramienta podemos usar el siguiente comando:
En entornos CentOS y RedHat:
/etc/init.d/psacct statusEn entornos Fedora y Debian:
/etc/init.d/acct status
Por defecto esta active en Debian o Fedora. Para habilitarlo en RedHat y CentOS vamos a ingresar los siguientes comandos:
chkconfig psacct on /etc/init.d/psacct startCon este proceso hemos habilitado la herramienta acct en Fedora o Debian o la herramienta psacct en CentOS o RedHat.
5. Cómo usar las herramientas acct y psacct
El comportamiento de las herramientas es exactamente el mismo, vamos a analizar los parámetros que podemos implementar y ver el respectivo resultado.
Si usamos el parámetro ac sin ningún parámetro adicional podemos ver el tiempo total en horas de inicios y cierres de sesión de los usuarios tomando como base la información almacenada en el archivo wtmp del sistema.
Podemos añadir algunos parámetros al comando ac para obtener una información más detallada.
Podemos usar la sintaxis ac -d para ver el tiempo total por día.
Si usamos la sintaxis ac -p podemos ver la información de cada usuario en particular:
Si deseamos ver el tiempo total de horas de un usuario en particular usamos la sintaxis ac nombre_usuario:
De la misma manera podemos ver la cantidad de horas incluyendo los días de un usuario en particular usando la sintaxis ac -d nombre_usuario:
Para ver un resumen de todos los comandos que han sido ejecutados por los usuarios usamos el comando sa sin ningún parámetro adicional.
Cada columna indica lo siguiente (Tomamos como ejemplo la primera fila):
- 544: Cantidad de veces que se ha ejecutado el comando.
- 4.16: Tiempo real en minutos.
- 0.34: Es el total de los minutos en formato de CPU del sistema de cada usuario.
- 764 k: Cantidad de núcleo usado.
- En la última columna vemos el comando ejecutado.
Si deseamos ver información de manera individual podemos usar la sintaxis sa -u:
Si queremos ver el número de proceso con el tiempo de usa de CPU usaremos la sintaxis sa -m:
Esto nos permite ver un control sobre los procesos que se están ejecutando ya que si estos valores se incrementan es señal que algo anda mal. Si estos valores los queremos ver en formato de porcentaje podemos usar la sintaxis sa -c:
Para ver los comandos que ha usado un usuario en particular podemos usar la sintaxis lastcomm nombre_usuario:
Si usamos la sintaxis lastcomm ls podremos ver el uso de cada comando:
Con el comando accton podemos habilitar o deshabilitar los procesos de un usuario.
Gracias a este comando podremos ver los últimos inicios de sesión de un usuario indicando fecha, hora y dirección IP.
Como hemos visto estas utilidades nos permiten llevar un control general o personalizado sobre las tareas que cada usuario realiza dentro del sistema y de esta manera determinar si están incurriendo en fallas o procesos que no corresponden para tomar las acciones necesarias y así velar por un óptimo rendimiento y estabilidad de nuestros sistemas, ya sea CentOS, Fedora, Debian o de cualquier otro y de esta manera cumplir minuciosamente con nuestros roles de administración.
Un tutorial que puede resultarte útil es cómo realizar una auditoría en CentOS 7: