我有一台服务器,它已经运行 Fedora 16 ( 3.1.0-7.fc16.x86_64 ) 大约一个月了。我每隔几天或几周才登录一次,但当我登录时,有时我的主目录中会丢失文件。我没有在那里保存任何文档或其他东西,所以我不能说我的问题有多严重,但我知道 .bash_profile、.bashrc 以及有时 .ssh/ 的内容 (keyfiles、config、authorized_keys) 有时会丢失。它们就这么消失了 (而且并不总是同时消失,今天 bash 文件不见了,上周 .ssh 是空的)。我似乎无法在网上找到任何相关信息 (这不是人们在全新安装和初始更新时遇到的问题,因为系统会定期更新,所以初始更新和安装问题应该已经结束,不会重复出现)。
# /etc/fstab
# ...
/dev/mapper/vg_host-lv_root / ext4 defaults 1 1
UUID=1e51ac20-4a4c-4060-b1d2-11a675d082f2 /boot ext4 defaults 1 2
UUID=8D78-47C0 /boot/efi vfat umask=0077,shortname=winnt 0 0
/dev/mapper/vg_host-lv_home /home ext4 defaults 1 2
/dev/mapper/vg_host-lv_swap swap swap defaults 0 0
我昨天将这两条规则都添加到了 audit.rules 中
-w /home/me/ -p wa -k homedir_watch
-w /home/me/ -k whodeletedit -p w
今天 .bashrc 又不见了,但是当我用下面任何一个进行搜索时
ausearch -f /home/lockhart -k homedir_watch
ausearch -i -k whodeletedit
我明白了
<no matches>
但是,当我添加/重新创建丢失的文件时,得到同样的结果 - 仍然没有匹配。
答案1
答案2
就过去事件的取证而言,这取决于您配置的日志记录和设置。
在基本层面上,您应该能够使用该stat
工具查看问题文件的最后更改时间以及其他相关信息;
`$ stat ~/.bash_profile
File: `/home/user1/.bash_profile'
Size: 497 Blocks: 8 IO Block: 4096 regular file
Device: fd02h/64770d Inode: 1049582 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 1000/ user1) Gid: ( 1000/ tomh)
Access: 2012-05-19 15:36:18.691678693 +0100
Modify: 2012-03-30 03:18:35.522606708 +0100 <---- file was changed this time
Change: 2012-03-30 03:18:35.545606708 +0100
Birth: -`
这将指示文件何时被更改。
您可以将此时间戳值与/var/log/secure
文件中的条目以及其他日志中文件归零前后的事件进行比较,因此您要查找登录的用户等或 sudo 命令。
对于将来的事件,您可以安装和配置审计守护进程服务像这样查看你的主目录;
$ sudo yum install audit
Loaded plugins: auto-update-debuginfo, langpacks, presto, refresh-packagekit
Package audit-2.2.1-1.fc16.x86_64 already installed and latest version
配置 auditd 服务启动
# service auditd start
Redirecting to /bin/systemctl start auditd.service
并在启动时启用;
# chkconfig auditd on
Note: Forwarding request to 'systemctl enable auditd.service'.
ln -s '/lib/systemd/system/auditd.service' '/etc/systemd/system/multi-user.target.wants/auditd.service'
并通过在文件末尾添加以下内容来配置主目录上的监视/etc/audit/audit.rules
;
-w /home/user1 -p wa -k homedir_watch
然后您可以像这样搜索日志中文件的更改;
# ausearch -i -k homedir_watch
----
time->Sat May 19 16:53:00 2012
type=PATH msg=audit(1337442780.935:1274): item=1 name="/home/user1/.config/google-chrome/Default/Cookies-journal" inode=1050743 dev=fd:02 mode=0100644 ouid=1000 ogid=1000 rdev=00:00
type=PATH msg=audit(1337442780.935:1274): item=0 name="/home/user1/.config/google-chrome/Default/" inode=1056816 dev=fd:02 mode=040700 ouid=1000 ogid=1000 rdev=00:00
type=CWD msg=audit(1337442780.935:1274): cwd="/home/user1"
type=SYSCALL msg=audit(1337442780.935:1274): arch=c000003e syscall=2 success=yes exit=104 a0=7fcece769259 a1=42 a2=1a4 a3=30 items=2 ppid=1 pid=8151 auid=1000 uid=1000 gid=1000 euid=1000 suid=1000 fsuid=1000 egid=1000 sgid=1000 fsgid=1000 tty=(none) ses=2 comm="Chrome_DBThread" exe="/opt/google/chrome/chrome" key="homedir_watch"
- 笔记
请注意,它可以很快运行大量日志,因此如果您打算使用它并让它运行,那么有一些好的文档在这里