Как я могу быстро обнаружить файлы, которые затенены смонтированной файловой системой
У меня были случаи, когда файлы записывались в точку монтирования из-за сбоя монтирования.
Есть ли простой способ обнаружить такие файлы (что легко автоматизировать)?
(Я знаю, что можно смонтировать файловую систему в новой точке монтирования, используя что-то вроде:
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'.