GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo monitorear la actividad del usuario en Linux

Como administrador de Linux, debe realizar un seguimiento de las actividades de todos los usuarios. Será útil cuando algo salió mal en el servidor. Puede analizar e investigar las actividades de los usuarios e intentar encontrar la causa raíz del problema. Hay muchas maneras de monitorear a los usuarios. En esta guía, vamos a hablar sobre las utilidades de contabilidad de GNU que se puede usar para monitorear la actividad del usuario en Linux. Las utilidades de contabilidad proporcionan información útil sobre el uso del sistema, como conexiones, programas ejecutados y utilización de los recursos del sistema. Estas utilidades de contabilidad se pueden instalar usando psacct o cuenta paquete. psacct o acct son iguales. En los basados ​​en RPM, está disponible como psacct, y en los sistemas basados ​​en DEB está disponible como acct.

Por lo general, los detalles del historial de la línea de comandos del usuario se almacenarán en .bash_history archivo en su directorio $HOME. Algunos usuarios pueden intentar editar, modificar o eliminar el historial. Sin embargo, las utilidades de contabilidad aún podrán recuperar las actividades de los usuarios aunque hayan borrado su historial de línea de comandos. completamente. Porque todos los archivos de contabilidad de procesos son propiedad del usuario root y los usuarios normales no pueden editarlos.

Instalar psacct o cuenta

En RHEL, CentOS, Fedora, Scientific Linux, ejecute el siguiente comando como usuario raíz para instalar psacct:

$ sudo yum install psacct

Habilite e inicie el servicio psacct usando los comandos:

$ sudo systemctl enable psacct
$ sudo systemctl start psacct

En Debian, Ubuntu, Linux Mint, instálalo como se muestra a continuación.

$ sudo apt-get install acct

El comando anterior instalará la cuenta e iniciará su servicio automáticamente.

Puede verificar si se inicia o no usando el comando:

$ sudo systemctl status acct
Descargar - Libro electrónico gratuito:"Manual de monitoreo de Nagios"

Supervisar la actividad del usuario en Linux

El paquete psacct (contabilidad de procesos) contiene las siguientes utilidades útiles para monitorear las actividades del usuario y del proceso.

  • ac - Muestra estadísticas sobre cuánto tiempo han estado conectados los usuarios.
  • última comunicación - Muestra información sobre los comandos ejecutados anteriormente.
  • acción - Activa o desactiva la contabilidad de procesos.
  • volcado de cuenta - Transforma el archivo de salida del formato accton a un formato legible por humanos.
  • volcado-utmp - Imprime archivos utmp en formato legible por humanos.
  • sa - Resume información sobre comandos ejecutados previamente.

Veamos uno a uno con ejemplos.

ac

El ac La utilidad mostrará el informe del tiempo de conexión en horas. Puede decirle cuánto tiempo un usuario o grupo de usuarios estuvo conectado al sistema.

$ ac

Este comando muestra el tiempo total de conexión de todos los usuarios en horas.

total       30.62

Puede ordenar este resultado por día usando -d bandera como se muestra a continuación.

$ ac -d

Salida de muestra:

Nov 24 total 0.81
Apr 12 total 0.01
Jun 20 total 9.27
Jun 30 total 0.23
Mar 11 total 5.34
Mar 16 total 0.70
Mar 21 total 9.55
Mar 23 total 1.77
Today total 3.03

Además, puede mostrar cuánto tiempo estuvo conectado cada usuario con el sistema con -p bandera.

$ ac -p

Salida de muestra:

sk 0.03
root 30.73
total 30.76

Y también, puede mostrar el tiempo total de inicio de sesión del usuario individual.

$ ac sk

Salida de muestra:

total 0.03

Para mostrar la hora de inicio de sesión de un usuario individual por día, ejecute:

$ ac -d root

Salida de muestra:

Nov 24 total 0.81
Apr 12 total 0.01
Jun 20 total 9.27
Jun 30 total 0.23
Mar 11 total 5.34
Mar 16 total 0.70
Mar 21 total 9.55
Mar 23 total 1.77
Today total 3.41

Para obtener más detalles, consulte las páginas man.

$ man ac

última comunicación

El último comunicado La utilidad muestra la lista de comandos ejecutados anteriormente. Los comandos ejecutados más recientemente aparecerán primero.

$ lastcomm

Salida de muestra:

sshd SF sshd __ 0.01 secs Fri Mar 24 15:09
unix_chkpwd S root __ 0.00 secs Fri Mar 24 15:09
unix_chkpwd S root __ 0.00 secs Fri Mar 24 15:09
systemd-cgroups S root __ 0.00 secs Fri Mar 24 15:09
systemd-cgroups S root __ 0.00 secs Fri Mar 24 15:09
sshd S root __ 0.06 secs Fri Mar 24 15:09
sshd SF sk __ 0.06 secs Fri Mar 24 15:09
bash sk pts/1 0.00 secs Fri Mar 24 15:09
clear sk pts/1 0.00 secs Fri Mar 24 15:09
vi sk pts/1 0.00 secs Fri Mar 24 15:09
cat sk pts/1 0.00 secs Fri Mar 24 15:09
bash F sk pts/1 0.00 secs Fri Mar 24 15:09
consoletype sk pts/1 0.00 secs Fri Mar 24 15:09
grep sk pts/1 0.00 secs Fri Mar 24 15:09
bash F sk pts/1 0.00 secs Fri Mar 24 15:09

El comando anterior muestra todos los comandos del usuario. Puede mostrar los comandos ejecutados previamente por un usuario en particular usando el comando:

$ lastcomm sk

Salida de muestra:

sshd SF sk __ 0.06 secs Fri Mar 24 15:09
bash sk pts/1 0.00 secs Fri Mar 24 15:09
clear sk pts/1 0.00 secs Fri Mar 24 15:09
vi sk pts/1 0.00 secs Fri Mar 24 15:09
cat sk pts/1 0.00 secs Fri Mar 24 15:09
bash F sk pts/1 0.00 secs Fri Mar 24 15:09
consoletype sk pts/1 0.00 secs Fri Mar 24 15:09
grep sk pts/1 0.00 secs Fri Mar 24 15:09

Además, puede ver cuántas veces se ha ejecutado un comando en particular.

$ lastcomm vi

Salida de muestra:

vi sk pts/1 0.00 secs Fri Mar 24 15:09
vi root pts/1 0.00 secs Fri Mar 24 15:03

Como puede ver en el resultado anterior, los usuarios root y sk ejecutaron el comando vi dos veces.

Para obtener más detalles, consulte las páginas man.

$ man lastcomm

acción

Esta utilidad le permitirá activar o desactivar la contabilidad.

Para activar la contabilidad de procesos, ejecute:

$ accton on

Para apagarlo, ejecuta:

$ accton off

Para obtener más detalles, consulte las páginas man.

$ man accton

volcar-cuenta y volcado-utmp

La cuenta de volcado La utilidad muestra el archivo de salida del formato accton a un formato legible por humanos.

$ dump-acct /var/account/pacct

dump-utmp muestra archivos utmp en formato legible por humanos.

$ dump-utmp /var/run/utmp

Para obtener más detalles, consulte las páginas man.

$ man dump-acct
$ man dump-utmp

sa

La utilidad sa resumirá la información sobre los comandos ejecutados previamente.

$ sa

Salida de muestra:

 318 951.07re 0.01cp 0avio 15299k
 4 33.04re 0.01cp 0avio 26352k sshd
 7 2.05re 0.00cp 0avio 25184k sshd*
 2 0.01re 0.00cp 0avio 89856k dnf
 35 0.00re 0.00cp 0avio 29767k man*
 29 0.00re 0.00cp 0avio 7377k bash*
 12 0.00re 0.00cp 0avio 6259k unix_chkpwd
 12 0.00re 0.00cp 0avio 2674k systemd-cgroups
 10 0.00re 0.00cp 0avio 2260k grep
 9 166.31re 0.00cp 0avio 25375k ***other*
 9 110.33re 0.00cp 0avio 0k kworker/0:2*
 9 110.33re 0.00cp 0avio 0k kworker/0:0*
 9 0.00re 0.00cp 0avio 3830k id
 8 0.00re 0.00cp 0avio 1080k ac
 8 0.00re 0.00cp 0avio 26976k logger
 8 0.00re 0.00cp 0avio 26976k basename
 6 93.90re 0.00cp 0avio 29712k man
 6 0.00re 0.00cp 0avio 1629k clear
 5 119.94re 0.00cp 0avio 0k kworker/0:2H*
 5 93.90re 0.00cp 0avio 27568k less

Para imprimir la cantidad de procesos y la cantidad de minutos de CPU por usuario, simplemente ejecute:

$ sa -m

Salida de muestra:

337 961.10re 0.01cp 0avio 15593k
root 286 857.82re 0.01cp 0avio 16672k
sk 45 3.88re 0.00cp 0avio 7992k
sshd 5 0.34re 0.00cp 0avio 20966k
postfix 1 99.06re 0.00cp 0avio 22272k

Para obtener más detalles, consulte las páginas man.

$ man sa

Lectura sugerida:

  • Cómo limitar el acceso del usuario al sistema Linux

Y eso es todo. Todo administrador de Linux debe conocer las utilidades de contabilidad de GNU para vigilar a todos los usuarios. Estas utilidades serán útiles a la hora de solucionar problemas.


Linux
  1. Cómo cambiar un nombre de usuario en Linux

  2. Cómo monitorear la actividad de Ethernet en Linux usando Arpwatch

  3. Cómo agregar un usuario a un grupo en Linux

  4. Cómo crear un usuario de Linux usando Ansible

  5. Cómo crear un usuario Sudo en Rocky Linux 8

Cómo agregar un usuario a un grupo en Linux

Cómo cambiar o establecer la contraseña de usuario en Linux

Cómo cambiar de usuario en Linux

Cómo saber los grupos de un usuario de Linux

Cómo agregar un usuario a un grupo en Linux

Cómo agregar un usuario a un grupo de Linux