Cómo monitorear la actividad de los usuarios de Linux con herramientas PSACCT o ACCT

Cómo monitorear la actividad de los usuarios de Linux con herramientas PSACCT o ACCT

psacct o accidente Ambos son utilidades de código abierto para monitorear las actividades de los usuarios en el sistema Linux. Estas utilidades se ejecutan en segundo plano y realizan un seguimiento de la actividad de cada usuario en su sistema, así como en qué recursos se están consumiendo.

Personalmente usé estas herramientas en nuestra empresa, tenemos un equipo de desarrollo donde nuestros desarrolladores trabajan continuamente en servidores. Entonces, estas son las mejores utilidades para vigilarlos.

Estos programas proporcionan una excelente manera de monitorear lo que están haciendo los usuarios, qué comandos están ejecutando, cuántos recursos están consumiendo por ellos y cuánto tiempo están activos los usuarios en el sistema. Otra característica útil es que proporciona recursos totales consumidos por servicios como Apache, MySQL, FTP, SSH, etc.

[También puede gustar: Cómo monitorear los comandos de Linux ejecutados por usuarios del sistema en tiempo real]

Creo que esta es una de las utilidades excelentes y más necesarias para cada administrador del sistema Linux/UNIX, que quería realizar un seguimiento de las actividades de usuario en sus servidores/sistemas.

El psacct o accidente El paquete proporciona varias características para monitorear actividades de procesos.

  • C.A El comando imprime las estadísticas de los inicios de sesión/sesión de inicio de sesión del usuario (tiempo de conexión) en horas.
  • Lastcomm El comando imprime la información de los comandos ejecutados previamente del usuario.
  • Accton Los comandos se usan para activar/apagar el proceso para contabilidad.
  • SA El comando resume la información de los comandos ejecutados previamente.
  • último y último Los comandos muestran una lista de los últimos usuarios registrados.

Instalación de paquetes PSACCT o ACCT en Linux

psacct y accidente Ambos son paquetes similares y no hay mucha diferencia entre ellos, pero el psacct El paquete solo está disponible para distribuciones basadas en RPM como Rhel, Cento, y Fedora, mientras que el accidente El paquete está disponible para distribuciones como Ubuntu, Debian, y Menta Linux.

Para instalar el psacct Paquete bajo el problema de distribuciones basadas en RPM El siguiente comando YUM.

# yum install PSACCT 

Para instalar el accidente paquete usando el comando apt en Ubuntu / Debian / Menta Linux.

$ sudo apt instalación acct 

En otras distribuciones de Linux, puede instalarlo como se muestra.

$ sudo apk agregar psacct [en Alpine Linux] $ sudo pacman -s acct [on Arch Linux] $ sudo zypper instalación acct [en Usura de apertura] 
Iniciar servicio PSACCT o ACCT

Por defecto, el psacct El servicio está en modo deshabilitado y debe iniciarlo manualmente bajo distribuciones basadas en RHEL. Use el siguiente comando para verificar el estado del servicio.

$ sudo systemctl status PSACCT 

Ve el estado que se muestra como deshabilitado, así que comencemos manualmente utilizando los siguientes comandos, lo que creará un /var/cuenta/PACCT archivo.

$ sudo SystemCTL Start PSACCT $ sudo SystemCTL Habilitar PSACCT $ SUDO SystemCTL Status PSACCT 
Iniciar servicio PSACCT

Bajo Ubuntu, Debian, y menta El servicio se inicia automáticamente, no necesita comenzarlo nuevamente.

Mostrar estadísticas de usuarios El tiempo de conexión

C.A El comando sin especificar ningún argumento mostrará estadísticas totales de tiempo de conexión en horas basadas en los inicios de sesión/inicio de sesión del usuario desde la actualidad WTMP archivo.

# AC Total 11299.15 
Imprimir el tiempo de conexión total del usuario de Linux

Mostrar estadísticas de los usuarios de Linux en cuanto a día

Usando el comando "AC -D"Imprimirá el tiempo total de inicio de sesión en horas para el día.

# AC -D 25 de junio total 0.19 oct 13 de octubre Total 14.45 Oct 27 Total 672.00 Oct 28 Total 15.82 3 de noviembre Total 4.29 de noviembre 5 Total 10.13 de diciembre 7 Total 14.04 de diciembre 10 Total 23.60 dic 27 Total 808.93 3 de enero Total 12.31 Mar 3 Total 1438.67 22 de julio Total 6767.81 hoy total 1517.09 
Imprima el usuario de inicio de sesión total del usuario de Linux

Mostrar tiempo de inicio de sesión total de todos los usuarios de Linux

Usando el comando "AC -P"Imprimirá el tiempo total de inicio de sesión de cada usuario de Linux en horas.

# AC -P Rockylinux 425.61 Tecmint 702.29 raíz 10171.54 Total 11299.44 
Imprimir el tiempo total de inicio de sesión de los usuarios

Mostrar tiempo de inicio de sesión del usuario de Linux

Para obtener el tiempo total de estadísticas de inicio de sesión del usuario "tecmenta"En horas, use el comando como.

# AC TECMINT
 Total 702.29

Muestra la hora de inicio de sesión del usuario en el día

El siguiente comando imprimirá la hora de inicio de sesión total del usuario "tecmenta" En horas.

# AC -D TECMINT
11 de octubre Total 8.01 Oct 12 Total 24.00 Oct 15 Total 70.50 Oct 16 Total 23.57 Oct 17 Total 24.00 Oct 18 Total 18.70 Nov 20 Total 0.18 

Imprima todos los comandos de Linux ejecutados por los usuarios

El "SAEl comando se utiliza para imprimir el resumen de los comandos que fueron ejecutados por los usuarios.

# SA
 2 9.86re 0.00CP 2466K SSHD* 8 1.05re 0.00cp 1064k hombre 2 10.08re 0.00CP 2562K SSHD 12 0.00re 0.00CP 1298K PSACCT 2 0.00re 0.00CP 1575K Troff 14 0.00re 0.00CP 503K AC 10 0.00re 0.00CP 1264K PSACCT* 10 0.00re 0.00CP 466K Consoletype 9 0.00re 0.00CP 509K SA 8 0.02re 0.00CP 769K UDISKS-HELPER-A 6 0.00re 0.00cp 1057k touch 6 0.00re 0.00CP 592K GZIP 6 0.00re 0.00CP 465K Accton 4 1.05re 0.00CP 1264K SH* 4 0.00re 0.00CP 1264K nroff* 2 1.05re 0.00CP 1264K SH 2 1.05re 0.00cp 1120k menos 2 0.00re 0.00CP 1346K Groff 2 0.00re 0.00CP 1383K GRUTTY 2 0.00re 0.00CP 1053K mktemp 2 0.00re 0.00CP 1030K iconv 2 0.00re 0.00CP 1023K RM 2 0.00re 0.00CP 1020K CAT 2 0.00re 0.00CP 1018K LOCALE 2 0.00re 0.00CP 802K GTBL 

Explicación de la salida del comando anterior:

  • 9.86re es un "tiempo real"Según los minutos del reloj de pared
  • 0.01CP es una suma del tiempo del sistema/usuario en los minutos de la CPU
  • 2466k es un uso de núcleo promedio de tiempo de CPU, yo.mi. 1k unidades
  • SSHD nombre de comando

Imprimir información del usuario de Linux

Para obtener la información de un usuario individual, use las opciones -u.

# sa -u
raíz 0.00 CPU 465K MEM Accton Root 0.00 CPU 1057K MEM Touch Root 0.00 CPU 1298K MEM PSACCT Root 0.00 CPU 466K MEM Consoletype Root 0.00 CPU 1264K MEM PSACCT * Root 0.00 CPU 1298K MEM PSACCT Root 0.00 CPU 466K MEM Consoletype Root 0.00 CPU 1264K MEM PSACCT * Root 0.00 CPU 1298K MEM PSACCT Root 0.00 CPU 466K MEM Consoletype Root 0.00 CPU 1264K MEM PSACCT * Root 0.00 CPU 465K MEM Accton Root 0.00 CPU 1057K MEM Touch

Imprimir número de procesos de Linux

Este comando imprime el número total de procesos y minutos de la CPU. Si ve un aumento continuo en estos números, entonces es hora de analizar el sistema sobre lo que está sucediendo.

# sa -m
SSHD 2 9.86re 0.00cp 2466k raíz 127 14.29re 0.00CP 909K

Imprimir y clasificar el uso por porcentaje

El comando "SA -C"Muestra el porcentaje más alto de usuarios.

# SA -C
 132 100.00% 24.16re 100.00% 0.01CP 100.00% 923K 2 1.52% 9.86re 40.83% 0.00CP 53.33% 2466K SSHD* 8 6.06% 1.05re 4.34% 0.00CP 20.00% 1064K hombre 2 1.52% 10.08re 41.73% 0.00CP 13.33% 2562k SSHD 12 9.09% 0.00re 0.01% 0.00CP 6.67% 1298K PSACCT 2 1.52% 0.00re 0.00% 0.00CP 6.67% 1575K Troff 18 13.64% 0.00re 0.00% 0.00CP 0.00% 509K SA 14 10.61% 0.00re 0.00% 0.00CP 0.00% 503K AC 10 7.58% 0.00re 0.00% 0.00CP 0.00% 1264K PSACCT* 10 7.58% 0.00re 0.00% 0.00CP 0.00% 466K Consoletype 8 6.06% 0.02re 0.07% 0.00CP 0.00% 769K UDISKS-HELPER-A 6 4.55% 0.00re 0.00% 0.00CP 0.00% 1057k touch 6 4.55% 0.00re 0.00% 0.00CP 0.00% 592K GZIP 6 4.55% 0.00re 0.00% 0.00CP 0.00% 465K Accton 4 3.03% 1.05re 4.34% 0.00CP 0.00% 1264k sh* 4 3.03% 0.00re 0.00% 0.00CP 0.00% 1264K nroff* 2 1.52% 1.05re 4.34% 0.00CP 0.00% 1264k sh 2 1.52% 1.05re 4.34% 0.00CP 0.00% 1120k menos 2 1.52% 0.00re 0.00% 0.00CP 0.00% 1346K Groff 2 1.52% 0.00re 0.00% 0.00CP 0.00% 1383k Mirón 2 1.52% 0.00re 0.00% 0.00CP 0.00% 1053k mktemp

Lista de los últimos comandos ejecutados del usuario

El 'LATCOMM'El comando se utiliza para buscar y mostrar información de comando de usuario previamente ejecutada. También puede buscar comandos de nombres de usuario individuales. Por ejemplo, vemos comandos del usuario (tecmenta).

# Lastcomm TecMint
Su Tecmint Pts/0 0.00 segundos mié 13 de febrero 15:56 LS Tecmint PTS/0 0.00 segundos mié 13 de febrero 15:56 LS Tecmint PTS/0 0.00 segundos mié 13 de febrero 15:56 LS Tecmint PTS/0 0.00 segundos mié 13 de febrero 15:56 Bash F Tecmint Pts/0 0 0.00 segundos mié 13 de febrero 15:56 ID TECMINT PTS/0 0.00 segundos mié 13 de febrero 15:56 GREP TECMINT PTS/0 0 0.00 segundos mié 13 de febrero 15:56 GREP TECMINT PTS/0 0 0.00 segundos mié 13 de febrero 15:56 Bash F Tecmint Pts/0 0 0.00 segundos mié 13 de febrero 15:56 Dircolors Tecmint Pts/0 0.00 segundos mié 13 de febrero 15:56 Bash F Tecmint Pts/0 0 0.00 segundos mié 13 de febrero 15:56 TPUT TECMINT PTS/0 0 0.00 segundos mié 13 de febrero 15:56 TTY TECMINT PTS/0 0 0.00 segundos mié 13 de febrero 15:56 Bash F Tecmint Pts/0 0 0.00 segundos mié 13 de febrero 15:56 ID TECMINT PTS/0 0.00 segundos mié 13 de febrero 15:56 Bash F Tecmint Pts/0 0 0.00 segundos mié 13 de febrero 15:56 ID TECMINT PTS/0 0.00 secs mié 13 de febrero 15:56

Registros de búsqueda para comandos

Con la ayuda del Lastcomm comando, podrá ver el uso individual de cada comando.

# Lastcomm LS
LS TECMINT PTS/0 0.00 segundos mié 13 de febrero 15:56 LS Tecmint PTS/0 0.00 segundos mié 13 de febrero 15:56 LS Tecmint PTS/0 0.00 secs mié 13 de febrero 15:56 

Para obtener más información y uso, consulte las páginas manuales de estas herramientas.