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 acctDescargar - 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.