Можно ли сделать точку монтирования 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
.