Как создать доступную только для чтения ссылку на каталог?

Один из моих сценариев динамически создает символическую ссылку, например так:

ln -s /home/hosting/projects/images /home/hosting/projects/demo/images

Как сделать так, чтобы доступ по ссылке был только для чтения?

18
задан 15 January 2013 в 13:48

2 ответа

Вы можете создать только для чтения bind-mount .

mount --bind /path/to/source/ /path/to/dest/
mount -o remount,ro /path/to/dest

Да, это должно быть сделано в два этапа в ядрах после ядра Linux 2.6.25 (см. Ссылку выше).

Или, в качестве альтернативы, в качестве примера строки /etc/fstab ref :

/path/to/source/ /path/to/dest/ none bind,ro

В любом подходе в виртуальной файловой системе живет монтирование bind. слой (VFS), так что это не относится ни к какой файловой системе, и вы ничего не «монтируете». Так что, по сути, это создает своего рода символическую ссылку для вас, но это не проявляется как таковой.

И чтобы ответить на комментарий ниже о потере данных ... нет, эти инструкции не удаляют файлы. В случае, если у вас есть файлы по пути назначения, это монтирование будет лежать поверх этого. Просто размонтируйте, чтобы иметь возможность перечислять ваши файлы по пути в файловой системе внизу. Даже лучше; в общем, избегайте монтирования поверх непустого пути назначения.

0
ответ дан 15 January 2013 в 13:48

для монтирования bind только для чтения с помощью одной команды:

mount --bind -r /path/to/source/ /path/to/dest/

для размонтирования

umount /path/to/dest/
0
ответ дан 15 January 2013 в 13:48

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

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