GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo guardar el historial de comandos de los usuarios seleccionados en Linux

Un comando muy poderoso y genial en Bash es la historia. En pocas palabras, de forma predeterminada, Bash almacenará un historial de todos los comandos que escriba. El valor de la variable HISTSIZE determina el número de eventos conservados en la lista de historial durante una sesión. Aunque el valor predeterminado para HISTSIZE es 500, es posible que desee configurarlo en un valor más conveniente, como 10000. Cuando sale del shell, los comandos ejecutados más recientemente se guardan en el archivo proporcionado por la variable HISTFILE (el valor predeterminado). es .bash_history en su directorio de inicio). Esta publicación describe los pasos para guardar el historial de comandos de un usuario específico en Linux.

1. Cree un nuevo monitor de grupo. Agregar usuarios debe ser monitoreado en él como un grupo secundario.

# groupadd monitor
# usermod -a -G monitor [user] 

Por ejemplo:

# usermod -a -G monitor opc
# id opc
uid=1000(opc) gid=1000(opc) groups=1000(opc),1002(admins),1003(monitor) 

2. Cree el directorio /var/log/shelllogs donde se guardará el historial de shell.

# mkdir /var/log/shelllogs
# chown root:monitor /var/log/shelllogs
# chmod 770 /var/log/shelllogs
# chmod +t /var/log/shelllogs

3. Cree un script en /etc/profile.d con un formato de historial modificado para que se exporte cada vez que el usuario inicie sesión.

# cat /etc/profile.d/history.sh
export HISTSIZE=10000
export HISTTIMEFORMAT='%F %T '
export HISTFILE=/var/log/shelllogs/$(who am i | awk '{print $1}';exit)-as-$(whoami)-$(date +%F-%T)
export PROMPT_COMMAND='history -a'

4. Edite /etc/bashrc y agregue la siguiente línea al final del archivo.

test "$(ps -ocommand= -p $PPID | awk '{print $1}')" == 'script' || (script -f /var/log/shelllogs/$(who am i | awk '{print $1}';exit)-as-$(whoami)-$(date +%F-%T)_console.log)

Inicie sesión en el mismo servidor a través de otra sesión de ssh/putty para asegurarse de que se están creando los archivos.


Linux
  1. Cómo usar el comando de historial en Linux

  2. Cómo guardar la salida del comando en un archivo en Linux

  3. Cómo borrar el historial de línea de comandos BASH en Linux

  4. Cómo borrar el historial de Bash en Linux

  5. Cómo usar el comando Su en Linux

Cómo guardar la salida del comando de Linux en una imagen o un archivo de texto

Cómo habilitar la marca de tiempo en el historial de Bash en Linux

Cómo quitar un comando del historial en Linux

Cómo verificar el historial de comandos de Linux por fechas

Cómo enumerar usuarios y grupos en Linux

Cómo enumerar todos los usuarios de un grupo en Linux