LINUX.ORG.RU
решено ФорумAdmin

NFS,разрешить доступ только к поддиректориям

 , ,


0

3

Есть стационар с двумя дисками под файло. Оба диска смонтированы в

/run/media/user/Files/test #диск1
/run/media/user/Trash/user #диск2
Вот exports

/run/media/user/Files/test/ 192.168.1.0/24(fsid=1,rw,root_squash,sync,subtree_check)
/run/media/user/Trash/user/   192.168.1.0/24(fsid=2,rw,root_squash,sync,subtree_check
На клиенте настроен autofs. Монтирование есть,но оно идет по полному пути
/run/media/....
То есть в dolphin при входе в примонтированную NFS шару я прохожу полный путь от корневой директории /run последовательно до нужной. Как нужно задать exports чтобы монтировались сразу конечные директории,без прохождения полного пути?



Последнее исправление: white4dog (всего исправлений: 2)

Так не получится. В NFS4 указываются полные пути начиная от сетевого корня(той шары, у которой fsid=0), но ВСЕ другие шары должны быть поддиректориями этой.

То есть, например:

/run/media/a *(fsid=0,.....)
/run/media/a/subdir1 *(fsid=1,.....)
/run/media/a/subdir2 *(fsid=2,.....)

На клиенте можно примонтировать соответственно(шара на сервере - команда для монтирования на клиенте):

/run/media/a - mount -t nfs4 server:/
/run/media/a/subdir1 - mount -t nfs4 server:/subdir1
/run/media/a/subdir2 - mount -t nfs4 server:/subdir2

Соответственно шаре /run/media/a достаточно иметь права только на чтение.

Pinkbyte ★★★★★
()
Последнее исправление: Pinkbyte (всего исправлений: 1)
Ответ на: комментарий от Pinkbyte

У меня монтирование на клиенте реализовано с autofs и получается что если /run задать fsid=0 а концевым шарам /run/*/subdir* fsid=1 или 2 то в dolphin в точке монтирования шара появляется опять с самого корня,т.е. идет сначала /run,затем /run/media и т.д. по порядку до конечной шары,причем в конечных шарах не показывает файло. Решил вопрос перемонтировав диски в хомяка. В таком раскладе получается что нужно перескочить 2 директории а не четыре. Однако все же интересно есть ли возможность на клиенте сделать так чтоб отображались лишь конечные шары

white4dog
() автор топика
Ответ на: комментарий от white4dog

Нет! Так работает NFS

Какая тебе разница какая там длина пути? Используй линк на нужную директорию и ходи «сразу», а не скачи (?с кострюлей?)

futurama ★★★★★
()
Ответ на: комментарий от futurama

и нафейхоа ссылить если с тем же успехом можно изменить точку монтирования? Так или иначе но на вопрос ответ получен,NFS не умеет отдавать заданную директорию,она отдает целиком путь от /,соответственно настройками самой NFS такая ситуация не разрулится. Решено

white4dog
() автор топика
Ответ на: комментарий от futurama

Зы-а вот не прокатывает такое на клиенте с autofs.

white@dell:~>sudo ln -s /home/nfs/suse/home/fileshdd1/test/ /home/user/test
white@dell:~>  cd /home/white/test
bash: cd: /home/white/test: Слишком много уровней символьных ссылок
Такое отработает только если ссылить точку на сервере.

white4dog
() автор топика
Ответ на: комментарий от futurama

Не прокатывает. Ради интереса сделал симлинки на серваке из /run/media/user/Files на /files, при подключении клиент проходит весь путь-/run/media..... То что говорит клиент если линковать на нем выше уже приводил.

white4dog
() автор топика
Ответ на: комментарий от futurama

Вопрос имел смысл,просто ответ оказался отрицательным. В сухом итоге имеем результат: NFS не может отдать отдельную конечную директорию. NFS не может спрятать директории вышестоящие над нужной. Для того чтоб не открывать системные директории стоящие перед нужной,необходимо менять точку монтирования-это справедливо лишь в моем частном случае,т.к. я шарю два отдельных диска,которые по умолчанию монтируются в /run/media/user. Для того чтоб избежать ненужных путей,их нужно монтировать непосредственно в корень,либо через fstab,либо через systemd,тогда можно будет их расшарить через NFS без лишних путей у клиента

white4dog
() автор топика
Ответ на: комментарий от white4dog

Если ты не умеешь в линки, то это твои проблемы. У всех работает и работает давно, точнее всегда.

futurama ★★★★★
()

Ответ прямо в мане - экспорт чего-то типа /srv/nfs4 с fsid=0, и mount -o bind всего, что нужно в тамошние подкаталоги.

DonkeyHot ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.