
Quiero saber qué usuario ejecutó qué comando en la terminal y cuándo, es decir, si alguno de los usuarios hace "rmdir abc" y elimina un directorio específico, debería saber qué comando ejecutó y a qué hora. Y no lo quiero para En una sola sesión, estos datos deberían estar disponibles para mí como mantenemos registros, para que pueda analizarlos en cualquier momento.
También probé el history
comando y también le agregué tiempo, pero no muestra "Usuarios" del comando y además está basado en la sesión, por lo que sus datos no se agregan al ~/.bash_history
archivo a menos que se cierre la sesión. Tampoco ~/.bash_history
muestra la hora ni el usuario, por lo que no es útil. ¿Alguien puede ayudarme, por favor? Solo quiero ver qué usuario ejecutó qué comando desde el momento en que se inició el sistema y a qué hora.
Respuesta1
Puede verificar los comandos ejecutados por los usuarios usandosudo vim /home/USER_YOU_WANT_TO_VIEW/.bash_history
Para obtener más información, también puede consultar los registros de AUTH.tail /var/log/auth.log | grep username
prueba esta pregunta similar:¿Cómo ver marcas de tiempo en el historial de bash?
Respuesta2
Supongo que está en el archivo de historial de bash de todos los usuarios. Solo necesita obtener una lista de archivos históricos .bash y capturarlos.
cd /home
find |grep .bash_history
salidas:
./gediz/.bash_history
que gato
cat ./gediz/.bash_history
Puedes hacerlo en un bucle for.
a=find ...
for i in $a
do
echo $a
cat $i
done
Puede crear un servicio o editar el archivo rc.local para el inicio de ubuntu con un bucle while que realiza una copia de seguridad de todos los usuarios .bash_history en cada bucle en una ubicación segura, de modo que incluso si los usuarios eliminan el suyo, podrá verificar lo que se ha hecho.