Answers:
您现在如何记录他们的活动?最简单的方法是阻止它们从vi启动shell。
# 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
如果您使用特殊的Shell记录他们的命令,则可以将vi更改为仅使用该Shell。
您在谈论外壳历史吗?vi shell模式(:sh
)启动用户的默认shell。如果是bash,则可以通过编辑全局/ etc / bashrc并添加以下命令来确保始终启用历史记录:
set HISTFILE=~/.bash_history
shopt -s histappend
PROMPT_COMMAND='history -a'
这样可以确保每个用户命令都记录到文件中,不会被覆盖,并且每次出现shell提示时都会更新。
请注意,用户可以以个人身份覆盖此设置,~/.bashrc
因此这不能绝对保证会发生日志记录。
某些版本的vi(例如nvi)支持安全模式,该模式通过将vi启动为来禁用外壳程序访问nvi -S
。您也可以在/etc/bashrc
默认情况下设置全局别名以强制使用此模式。
请注意,通常,用户通过意外方式进入Shell的问题是经典的Unix问题。无法完全禁用此功能,最好的办法是尝试默认限制访问。经验丰富的用户(甚至是知道如何使用Google的用户)总是可以绕开这些限制。例如,如果用户不希望记录自己的shell历史记录,那么他总是可以使用他想使用的任何选项执行新的shell副本。
这是一个伟大的书面记录的如何强制记录在bash和日志记录可以规避的方式。
最后,您是否考虑过与用户交谈以确定他们在做什么?99%的时间,简单的口头交流可以消除任何混乱。如果您因为不信任他们而记录了该用户的活动,则可以与他们讨论您的疑虑。