.bashrc и.ssh/ исчезают наугад

У меня есть сервер, на котором работает Fedora 16 ( 3.1.0-7.fc16.x86_64) уже около месяца. Я регистрируюсь только раз в несколько дней или недель, но иногда я пропускаю файлы из моего домашнего каталога. Я не храню никаких документов или чего-либо еще, поэтому я не могу сказать, в какой степени у меня проблема, но я знаю, что.bash_profile, .bashrc, а иногда и содержимое.ssh/ (keyfiles, config, author_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

Я добавил оба эти правила в aud.ru.ru вчера

-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>

Тем не менее, я получаю то же самое, когда добавляю / воссоздаю отсутствующие файлы - совпадений пока нет.

2 ответа

Если у вас есть доступ к серверу на уровне root, вы можете установить и включить auditd который отслеживает изменения на уровне файловой системы и поможет вам определить, что отвечает за удаление файла.

Затем вы бы настроили наблюдение за записями в свой домашний каталог (удаление файла из каталога требует записи в каталог, содержащий его), возможно, пометив его, чтобы вы могли отделить его от других запущенных часов:

auditctl -w /home/you/ -k whodeletedit -p w

Когда файл снова пропадает

ausearch -i -k whodeletedit

скажу вам, что изменило ваш домашний каталог.

Все это предполагает нормальную работу системы и то, что файлы не пропадают из-за повреждения диска или неправильного завершения работы системы и потери данных.

С точки зрения судебной экспертизы прошлых событий, это зависит от того, какие записи и настройки вы настроили.

На базовом уровне вы сможете увидеть, когда файл проблемы последний раз изменялся, и другую соответствующую информацию, используя 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

настроить службу Audit для запуска

# 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"
  • Примечания

будьте осторожны, это может довольно быстро запустить много журналов, так что если вы собираетесь использовать его и оставить его запущенным, то здесь есть несколько хороших документов

Другие вопросы по тегам