É política da empresa que os administradores façam login nos servidores por meio de um nome de usuário pessoal e depois executem sudo -i
para se tornarem root. Ao executar sudo -i
, o sudo criará uma variável ambiental chamada SUDO_USER
, que contém o nome de usuário do usuário original.
Existe uma maneira de registrar TODOS os comandos no syslog com algo semelhante à seguinte sintaxe:
${TIME/DATE STAMP}: [${REAL_USER}|${SUDO_USER}]: ${CMD}
Uma entrada de exemplo seria:
Sat Jan 19 22:28:46 CST 2013: [root|ksoviero]: yum install random-pkg
Obviamente, não precisa ser exatamente a sintaxe acima, apenas deve incluir um mínimo do usuário real (por exemplo, root), o usuário sudo (por exemplo: ksoviero) e o comando completo que foi executado (por exemplo, yum instale o random-pkg).
Eu já tentei snoopy
, mas não incluiu a SUDO_USER
variável.
auditd
, embora tenha conseguido registrar todos os comandos em execução, ele não inclui a SUDO_USER
variável (ou informação equivalente) e não consigo encontrar uma maneira de incluí-lo. Qualquer ajuda seria muito apreciada!
auditd
.