Вы можете использовать Найти
и сообщите ему не происходит в других файловых системах (что должно предотвратить его доступа к виртуальным файловатам, как Proc
, SYS
, и т. Д.):
find / -xdev -uid ${OLD_UID} -execdir chown ${NEW_UID} {} +
Это может быть не так эффективно.
Другой способ отфильтрования виртуальных файлов будет намонтировать корневую файловую систему где-то еще:
mkdir /tmp/chroot
mount -o .. -t .. /dev/... /tmp/chroot
и запустить Chown
/ TMP / Chroot
.
# tune2fs -l $(df -P /boot | awk 'NR==2 {print $1}') | grep Last
Last mounted on: /boot
Last mount time: Mon Mar 30 10:40:08 2015
Last write time: Mon Mar 30 10:40:08 2015
Last checked: Mon Mar 30 10:40:01 2015
Каждый раз, когда вы монтируете раздел для чтения и записи, время последнего монтирования обновляется (по крайней мере, для файловых систем ext2 / ext3 / ext4). Если вы этого не хотите, смонтируйте / boot
только для чтения, кроме случаев обновления загрузчика или ядра.
MBR обычно не обновляется, кроме как при обновлении загрузчика (а часто и тогда). Типичная причина изменений MBR заключается в том, что у вас есть система с двойной загрузкой и вы настроили загрузчик для записи последней загруженной системы, чтобы сделать ее по умолчанию в следующий раз, или вы дали инструкцию перезагрузиться в другая система (например, с grub-set-default
).
Сумма безопасности, которую вы получаете от этих проверок, минимальна. Компетентный злоумышленник, изменивший ваше ядро, сделает так, чтобы ядро сообщало о том содержании, которое вы ожидаете в / boot
, которое вы сможете определить, только посмотрев на систему снаружи.