3

У меня есть папка ~/nas которой я обычно использую sshfs для подключения сетевого диска. Сегодня я не осознавал, что ресурс еще не смонтирован, и скопировал в него некоторые данные. Мне потребовалось немного времени, чтобы понять, что я просто скопировал данные на свой локальный диск, а не на общий сетевой ресурс. Есть ли какой-нибудь способ отметить в системе, что эта папка должна быть точкой монтирования, и не позволять кому-либо копировать в нее данные?

Я попробовал решение с разрешениями здесь: Как разрешить программе писать в каталог, только если он смонтирован?, но если у меня нет прав на запись, я тоже не могу ничего к ней подключить.

3 ответа3

4

Мы использовали неизменяемый -flag для защиты каталога даже для корневого доступа.

chattr +i /vmdata/backup

Таким образом, даже root не может писать туда, когда ничего не смонтировано. После монтирования диска все работает как положено.

4

Если вы не являетесь пользователем root, вы можете просто отменить разрешение на запись для каталога ~/nas и использовать sudo для повышенного монтирования:

$ chmod u-w ~/nas
$ cd ~/nas
$ touch test
touch: cannot touch `test': Permission denied
$ cd ..
$ sudo mount -t fuse -o <options> sshfs#<user>@<host>:/mount/path/ ~/nas
$ cd ~/nas
$ touch test
$

Идея, лежащая в основе всего этого: ~/nas в качестве пути монтирования будет иметь разрешения, назначенные ему, пока пункт назначения не смонтирован, что предотвратит ваши изменения (если у вашего пользователя нет привилегий root). Команда mount (для запуска требуются права суперпользователя) временно изменяет права доступа к папке в соответствии с установленными правами назначения, предоставляя доступ на запись для вашего пользователя.

1

Вы можете использовать предложенный позже ответ там:

1-й: Проверьте с помощью команды mount, если каталог смонтирован

mount | grep <mountpoint> сообщит вам, если там что-то установлено. Если вы действительно хотите удостовериться, что там установлено правильное, вы можете использовать более сложное регулярное выражение, но я не думаю, что в этом есть необходимость.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .