¿De dónde extrae los datos la función de contabilidad de procesos?

¿De dónde extrae los datos la función de contabilidad de procesos?

recientemente descubríLa función de contabilidad de procesos en sistemas Unix.. Básicamente, parece ser un sistema heredado de registro del uso de recursos que nunca se eliminó.

Desde los albores de los tiempos (en realidad, desde la época en que las personas tenían que pagar dinero real por cada ciclo de computadora que usaban), Unix y sus clones han tenido incorporado un sistema llamado Contabilidad de Procesos (acct). Esto permitió a los administradores del sistema saber exactamente lo que estaban haciendo sus usuarios y así poder facturarles en consecuencia. Las funciones de cuenta todavía existen en la mayoría de los sistemas Unix y Linux hasta el día de hoy.- @Majenko

Desde la perspectiva de la seguridad cibernética, esto es bastante interesante ya que los usuarios pueden eliminar el historial de bash y (aparte de esto) no hay (o eso pensé) ningún historial de forma predeterminada para los comandos de shell borne.

Haciendo:

sudo apt-get install acct
sudo /etc/init.d/acct start
sudo lastcomm

...y muchos otros comandos y opciones asociados podemos obtener registros como:

mandb             F    man      pts/4      0.00 secs Mon Dec  6 13:33
mandb             F    man      pts/4      0.00 secs Mon Dec  6 13:33
acct.postinst          root     pts/4      0.00 secs Mon Dec  6 13:33
systemctl              root     pts/4      0.00 secs Mon Dec  6 13:33
systemd-tty-ask  S     root     pts/4      0.00 secs Mon Dec  6 13:33
accton           S     root     __         0.00 secs Mon Dec  6 13:33

Que es básicamente un historial de shell extenso y poderoso que incluye todo tipo de shells. Pero tengo problemas para aprender mucho más sobre cómo funciona esto. ¿Dónde están los datos de los que extrae este comando? Estoy tratando de aprender más sobre la facilidad con la que un atacante podría acceder y eliminar estos datos, o dónde podemos acceder a ellos para realizar una copia de seguridad.

Respuesta1

cuenta(5), o acct - procesar archivo contable, dice esto:

Si el kernel está construido con la opción de contabilidad de procesos habilitada (CONFIG_BSD_PROCESS_ACCT), entonces llamar cuenta(2)inicia la contabilidad del proceso, por ejemplo:

acct("/var/log/pacct");

Cuando la contabilidad de procesos está habilitada, el kernel escribe un registro en el archivo de contabilidad cuando finaliza cada proceso en el sistema. Este registro contiene información sobre el proceso terminado y está definido en <sys/acct.h>.

La ubicación predeterminada típica del archivo es /var/log/account/pacct, donde se guardarán los datos.

Desafortunadamente, este archivo no es un archivo de texto plano, así que no intentes verlo con los comandos moreo tail. En su lugar, utilice el cuenta de volcado comando para verlo.

Respuesta2

Lo encontré.

/var/log/account/pacct

información relacionada