Administrar usuarios es una de las tareas frecuentes que realizamos en Linux ya que ellos son lo que se encargan de gestionar todo lo que esta dentro del sistema y en base al tipo de permiso concedido pueden realizar acciones directas en el sistema, por ello gestionarlos es una tarea delicada pero clave en Linux.
Solvetic te explicará cómo usar el comando psacct o acct para administrar y tener información de los usuarios de Linux.
- wtmp el cual guarda los registros de inicio y cierre de sesión
- acct el cual guarda los comandos ejecutados
- usracct y savacct en los cuales contienen resúmenes sobre la información de la cuenta por usuario y comando usado
- lastcomm el cual imprime la información de los comandos ejecutados por el usuario iniciando por los más recientes
Solvetic te explicará cómo monitorear la actividad de los usuarios con este comando.
Cómo usar acct o psacct para monitorear la actividad de los usuarios en Linux
Para este caso usaremos Ubuntu, abrimos la terminal e instalamos acct:
sudo apt install acctDebemos ingresar la contraseña:
Para otras versiones de Linux ejecutamos los siguientes comandos:
En OpenSUSE:
sudo zypper install acctEn Alpine:
sudo apk add psacctEn Arch Linux:
sudo pacman -S acctEn CentOS y RHEL:
yum install psacctValidamos el estado de acct:
sudo systemctl status acct
Iniciamos el servicio con el comando:
sudo systemctl start acctHabilitamos el servicio:
sudo systemctl enable acct
Es momento de usar el comando y sus opciones, validamos las estadísticas de tiempo de conexión con el comando:
ac
Este comando toma los datos de inicio y cierre de sesión de los usuarios alojados en el archivo wtmp.
Validamos el tiempo total de inicio de sesión en horas por día:
ac -d
Validamos el tiempo total de inicio de sesión de cada usuario de Linux en horas:
ac -p
Es posible ver el tiempo de inicio de sesión de un usuario en particular:
ac "usuario"
Validamos el tiempo de inicio de sesión total por día del usuario indicado:
ac -d "usuario"
- people: permite ver la suma total del tiempo de conexión usado por todos los usuarios incluidos en el archivo people, esta es una lista separada por espacios de nombres de usuario válidos para Linux
- -f nombre de archivo: Lee los datos del archivo en lugar de usar el wtmp del sistema
- -complain: en caso de que el archivo wtmp posea un problema, se imprimirá un error
- --reboots: con este parámetro los registros de reinicio no se escriben en el momento de un reinicio, en su lugar se registran cuando el sistema se reinicia
- --timewarps: permite contar el tiempo entre el inicio de sesión y la algún error temporal del usuario
- --compatibility: activa el uso de compatibilidad
- -y --print-year: imprime el año al mostrar fechas
- --print-zeros: en caso de que el total de la categoría sea cero, este será impreso
Ahora, para imprimir el resumen de los comandos que fueron ejecutados por los usuarios ejecutamos:
sa
En este caso encontramos detalles como:
- El tiempo real, línea que finaliza con re
- Suma del tiempo del sistema o usuario en minutos de la CPU, línea que finaliza con cp
- Tiempo estimado de en porcentaje de uso de CPU, línea que finaliza con la letra k
- Comando usado
Validamos los detalles de un usuario en particular:
sa -u
Para ver el número total de procesos y minutos de CPU ejecutamos:
sa -m
Para ver el mayor porcentaje de usuarios ejecutamos:
sa -c
Algunas opciones extras del comando sa son:
- cpu: suma el tiempo del sistema y del usuario en segundos de cpu
- re: es el tiempo real en segundos de cpu
- tio: es el número total de operaciones de E/S (I/O)
- k*sec: indica el modo integral de almacenamiento de cpu (segundos de kilo-núcleo)
- s: muestra el tiempo del sistema en segundos de cpu
Para buscar y mostrar información de comandos de usuario ejecutados ingresamos:
lastcomm "usuario"
Para ver el uso individual de cada comando ejecuta:
lastcomm ls
El comando lastcomm ofrece opciones extras como lo son:
- S: comandos ejecutados por el superusuario
- F: permite ver que se ha ejecutado después de un error
- C: permite ser ejecutado en el modo de compatibilidad PDP-11