1

mount -r --bind /media /NTFSPartition /ftp /public /media /NTFSPartition /ftp /users /user1 /public

Это дает мне предупреждение

mount: warning: /media/NTFSPartition/ftp/users/user1/public seems to be mounted read-write.

и, конечно, монтирование в режиме rw :( Что мне нужно, это сделать монтирование только для чтения.

2 ответа2

5

В течение долгого времени после введения bind mounts ядро связывало опции монтирования с устройствами, а не с точками монтирования, конец истории. Когда вы запустили mount --bind , ядро молча проигнорировало все параметры, поскольку их нельзя было применить только к bind mount.

Начиная с ядра 2.6.26 (или более ранних версий для дистрибутивов, которые исправили вышестоящее ядро), bind mounts имеют статус только для чтения, который отделен от исходного монтирования. Так что только для чтения привязные крепления работают. Однако поддержка не идеальна, например, ядро все еще игнорирует параметры, переданные для mount --bind . Вы можете сделать привязку только для чтения, сделав привязку и установив ее только для чтения. Это создает проблему безопасности в некоторых сценариях (есть небольшое окно времени, в течение которого монтируется связывание).

Debian lenny имеет исправленное ядро 2.6.26, которое заставляет mount --bind -r создавать монтируемое монтирование только для чтения. Ubuntu 10.04 не включает этот патч.

Файловая система fuse bindfs обобщает эффект mount --bind . Он поддерживает монтирование привязки только для чтения и множество других изменений прав и владельцев. Однако он не полностью эквивалентен mount --bind . Например, чтение из монтируемого только для чтения монтирования никогда не обновляет время доступа к файлу, но может для bindfs -p a-w fuse.

1

Вероятно, это нужно сделать двумя командами:

mount --bind /media/NTFSPartition/ftp/public /media/NTFSPartition/ftp/users/user1/public
mount -o remount,ro /media/NTFSPartition/ftp/users/user1/public

Другие способы сделать это:

  1. Используйте aufs/unionfs.
  2. Монтировать с помощью FUSE (например, fusexmp)

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