Respuestas:
También puede activar la contabilidad de procesos (s / can / should /!)
Entonces puedes usar:
lastcomm(1)
para ver el comando ejecutar y si se ejecutaron después de una bifurcación, con o sin un ejecutivo.
Combinado con un IDS basado en host, esto debería darle lo que necesita "para que se haga justicia al Rey sobre él".
¿Cómo estás registrando sus actividades en este momento? Lo más fácil es evitar que 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á utilizando un shell especial para registrar sus comandos, puede cambiar vi para usar solo ese shell.
¿Estás hablando de la historia de la cáscara? vi shell mode ( :sh
) inicia el shell predeterminado del usuario. Si eso es bash, puede asegurarse de que el registro del historial siempre esté habilitado editando el archivo global / etc / bashrc y agregando:
set HISTFILE=~/.bash_history
shopt -s histappend
PROMPT_COMMAND='history -a'
eso asegurará 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 personal, ~/.bashrc
por lo que no es una garantía absoluta de que se produzca el registro.
Algunas versiones de vi (como nvi) admiten un modo seguro que deshabilita el acceso de shell, iniciando vi as nvi -S
. También puede establecer un alias global /etc/bashrc
para forzar este modo de manera predeterminada.
Tenga en cuenta que, en general, el problema de los usuarios que llegan al shell por medios inesperados es un problema clásico de Unix. No hay forma de desactivar 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 sortear estas restricciones. Por ejemplo, si un usuario no quiere que se registre su historial de shell, siempre podría ejecutar una nueva copia del shell con las opciones que quiera usar.
Aquí hay una excelente reseña de cómo forzar el inicio de sesión en bash y las formas en que se puede evitar.
Finalmente, ¿ha considerado hablar con el usuario para determinar qué está haciendo? El 99% del tiempo la comunicación verbal simple puede aclarar cualquier confusión. Si está registrando la actividad de este usuario porque no confía en ellos, tal vez pueda hablar con ellos sobre sus inquietudes.