GNU/Linux >> Tutoriales Linux >  >> Linux

¿Puedo registrar la actividad de vi?

¿Cómo estás registrando sus actividades en este momento? Lo más fácil es bloquearlos para que no lancen proyectiles desde vi.

# vi /home/user/.exrc
set exrc
set shell=/bin/false
# chown root:root /home/user/.exrc
# chmod 644 /home/user/.exrc
# chattr +i /home/user/.exrc

Si está usando un shell especial para registrar sus comandos, puede cambiar vi para usar solo ese shell.


También puede activar la contabilidad de procesos ( s/can/should/ !)

A continuación, puede utilizar:

lastcomm(1)

para ver la ejecución del comando y si se ejecutaron después de una bifurcación, con o sin un exec.

Combinado con un IDS basado en host, esto debería brindarle lo que necesita "para que se haga justicia sobre él".


¿Estás hablando de la historia de Shell? modo shell vi (:sh ) inicia el shell predeterminado del usuario. Si es bash, puede asegurarse de que el registro del historial siempre esté habilitado editando el /etc/bashrc global y agregando:

set HISTFILE=~/.bash_history
shopt -s histappend
PROMPT_COMMAND='history -a'

eso garantizará que cada comando de usuario se registre en un archivo, no se sobrescriba y se actualice cada vez que aparezca el indicador de shell.

Tenga en cuenta que los usuarios pueden anular esto en su ~/.bashrc personal por lo que esto no es una garantía absoluta de que se realizará el registro.

Algunas versiones de vi (como nvi) admiten un modo seguro que deshabilita el acceso de shell, iniciando vi como nvi -S . Podría establecer un alias global en /etc/bashrc para forzar este modo por defecto también.

Tenga en cuenta que, en general, el problema de que los usuarios accedan al shell por medios inesperados es un problema clásico de Unix. No hay forma de deshabilitar esto por completo, lo mejor que puede hacer es intentar limitar el acceso de forma predeterminada. Un usuario sofisticado (o incluso un usuario que sabe cómo usar Google) siempre puede eludir estas restricciones. Por ejemplo, si un usuario no quiere que se registre su historial de shell, siempre puede ejecutar una nueva copia del shell con las opciones que quiera usar.

Aquí hay una excelente descripción de cómo forzar el inicio de sesión en bash y las formas en que se puede eludir el registro.

Finalmente, ¿ha considerado simplemente hablar con el usuario para determinar qué está haciendo? El 99% de las veces, la simple comunicación verbal puede aclarar cualquier confusión. Si está registrando la actividad de este usuario porque no confía en él, tal vez pueda hablar con él sobre sus inquietudes.


Linux
  1. ¿Puede un proceso ejecutarse independientemente de cualquier shell?

  2. ¿Puede un archivo .sh ser malware?

  3. ¿Cómo puedo darle un caparazón a alguien de manera segura?

  4. ¿Cómo puedo mover el directorio /var/log?

  5. No puedo iniciar sesión a través de SSH en ninguna cuenta que utilice /bin/bash shell en Synology NAS

Lo que un archivo de puntos de shell puede hacer por usted

Cómo crear una configuración Rsyslog de registro centralizado

¿Cómo puedo hacer una división con variables en un shell de Linux?

¿Cómo puedo encontrar mi versión de shell usando un comando de Linux?

¿Cómo administro la verbosidad del registro dentro de un script de shell?

¿Puede Windows usar un shell de Linux en lugar de cmd?