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

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

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

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

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

2 ответа

Решение

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

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

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

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

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

Как описано здесь , самый простой способ добиться этого — сделать каталог неизменяемым.chattr +i /mountpoint.

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