Можно ли сделать точку монтирования encfs недоступной для записи, когда она не смонтирована?

1529
Quantumboredom

Я использую Encfs, и я был до сих пор доволен этим, но у меня есть одна проблема, которая может несколько раздражать.

Скажем, моя любимая точка монтирования - ~ / encfsmnt. Моя проблема в том, что если мои encfs еще не смонтированы, это неочевидно. Я могу с радостью записать в каталог ~ / encfsmnt вместо того, чтобы шифровать данные с помощью encfs в нижний каталог encfs.

Очевидный способ исправить это - установить для файлового режима ~ / encfsmnt, скажем, 400 (dr --------), но, очевидно, encfs требует, чтобы каталог точки монтирования был доступен для записи, чтобы монтирование было успешно (я получаю сообщение об ошибке «fusermount: у пользователя нет прав на запись в точку монтирования»).

Есть ли способ сделать мою точку монтирования недоступной для записи, если только к ней не подключен encfs?

3

1 ответ на вопрос

4
Hauke Laging

Боюсь, что это доступно для записи или нет. Чтобы сделать его доступным для записи для определенного процесса (fusermount), вам, вероятно, нужен LSM (Apparmor, SELinux или аналогичный). Это требует рут-доступа, конечно.

Более простым решением может быть интеграция chmod u+w ~/encfsmntв вызов fusermount (если у вас нет GUI, сделайте это за вас). Создайте небольшой скрипт, который делает это после вызова fusermount (и удаляет доступ на запись после umount).

Или измените точку монтирования: Сделайте ~ / encfsmnt.mp точкой монтирования (если это возможно, иначе привыкните к записи в другую цель). В смонтированном ~ / encfsmnt.mp вы создаете каталог, куда все ваши (новые) материалы идут: ~ / encfsmnt.mp / new. Вы создаете тот же каталог в размонтированном ~ / encfsmnt.mp. Но ты пишешь, защищай это.

Затем вы делаете ~ / encfsmnt символической ссылкой на ~ / encfsmnt.mp / new. Если каталог отключен, каталог защищен от записи, а при подключении он доступен для записи. Конечно, это не сработает, если вы перейдете в этот каталог.

Хм, интересная идея: работает ли fusermount, если ~ / encfsmnt имеет право на запись, но нет права на выполнение?

Необходимы права на выполнение («fusermount: не удалось chdir к точке монтирования: разрешение отклонено»). Но мне нравится идея иметь подкаталог с тысячами разрешений в размонтированном каталоге. Мне просто нужно использовать "-o непустое" для encfs, чтобы форсировать монтирование, и у меня есть то, что мне нужно, спасибо! Quantumboredom 11 лет назад 2
@Quantumboredom +1 за наличие подкаталога с тысячами разрешений в размонтированном каталоге. Можете ли вы опубликовать это как полный ответ для тех, кто может не копаться в комментариях? Amir 7 лет назад 0

Похожие вопросы