Как я могу быстро обнаружить файлы, которые затенены смонтированной файловой системой

У меня были случаи, когда файлы записывались в точку монтирования из-за сбоя монтирования.

Есть ли простой способ обнаружить такие файлы (что легко автоматизировать)?

(Я знаю, что можно смонтировать файловую систему в новой точке монтирования, используя что-то вроде:

mount --bind / /tmp/tmp

а затем ищет файлы во всех точках монтирования.

но я надеюсь на что-то быстрее

2 ответа

Решение

В будущем вы можете запустить chattr +i /mountpoint (с неустановленным креплением). Это изменяет каталог точки монтирования на неизменяемый. В результате вы получите ошибку при новой операции записи. Он защищает точку монтирования и в других ситуациях.

Офир,

Я не знаю, как добиться того, что вы просите, но у меня есть для вас совет:)

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

# mkdir -m0 /mnt/mountpoint
# mount -t ext4 /dev/sdb1 /mnt/mountpoint
# chown -h user:group /mnt/mountpoint
# chmod 0750 /mnt/mountpoint

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

Этот прием может помочь вам защитить и легко обнаружить, когда файловая система не смонтирована. Если ваше приложение работает под пользователем root, оно сможет записывать в каталог с разрешениями, установленными на 000, но это хорошая проверка (для проверки разрешений точки монтирования), чтобы понять, что мы пишем не в то место.

Я надеюсь, это поможет.

PS @ewwhite предоставил лучшую опцию защиты точки монтирования с помощью 'chattr +i', чем установив ее в 'chmod 0'.

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