我想写一个小工具来记录用户copy
在他们的系统中执行的操作。这可以覆盖系统复制功能吗?我想记录他们的文件名,并执行时间戳,以及操作是否成功。
这可以为类 linux 系统做这些黑客攻击吗?有任何想法吗?谢谢。
您可以为命令创建一个包装器cp
(假设您的意思是 with copy
)。
重命名cp:
mv /usr/bin/cp /usr/bin/real.cp
然后创建一个名为的新文件/usr/bin/cp
并添加以下内容:
#!/bin/sh
USER=`whoami`
DATE=`date`
echo "$DATE - $USER: $@" >> /var/log/yourlog
real.cp $@
exit
确保/var/log/yourlog
所有用户都可写。
$@
包含所有命令行参数。因此,如果您将它们传递给 cp,它将再次将它们传递给 real.cp。
如果您正在谈论窗口管理器的复制/粘贴行为,我认为这是不可能的,除非您准备好修改源代码然后重新编译它。
但是,如果您在终端中谈论 cp 命令,那么您可以在 /home/your_user/.bashrc 中创建一个“别名”,这样每次调用“cp”时,都会调用一个更高级的命令,即调用date +%s 获取时间戳,并执行您想做的任何其他事情,例如在实际调用真正的 cp 之前将其记录到 /var/log/my_cp_log 中。