LINUX.ORG.RU
ФорумAdmin

Общая папка на несколько пользователей, NFS, all_squash, anonuid/anongid и firejail/chroot

 ,


0

1

Несколько лет используюсь в домашней сети NFS для раздачи общей сетевой папки с файлохранилища на два десктопа.

На каждом десктопе есть один пользователь-владелец: один комп мой, другой — жены. Соответственно, логины разные, но UID/GID можно сделать один, если сильно будет нужно.

/etc/exports на сервере примерно такой:

/share/common		192.168.155.0/24(rw,async,all_squash,anonuid=115,anongid=119,no_subtree_check)

На десктопах в /etc/fstab примерно такой:

192.168.155.1:/share/common	/home/username/BIG-common	nfs	defaults,nolock	0	0

Вывод команды mount:

192.168.155.1:/share/common on /home/username/BIG-common type nfs (rw,relatime,vers=3,rsize=524288,wsize=524288,namlen=255,hard,nolock,proto=tcp,timeo=600,retrans=2,sec=sys,mountaddr=192.168.155.1,mountvers=3,mountport=32767,mountproto=udp,local_lock=all,addr=192.168.155.1)

Работает это неплохо, только смущало что на десктопах если смотреть владельца файлов, вылезают системные учётки (сейчас это speech-dispatcher с UID=115 и ssh с GID=119).

Недавно решил поэкспериментировать с firejail (это такой sandbox, чтобы например браузер не смог выкачать всё что угодно из моей домашней папки) и разместить профиль в этой самой общей папке, подключенной по NFS. А он мне выдаёт ошибку:

Error: --private directory should be owned by the current user

В общем, надо уже разобраться с этой проблемой с UID/GID файлов сетевой папки на десктопах, чтобы они совпадали с учёткой пользователя, использующего компьютер. Самый простой вариант — сделать всё на smb/cifs, но как-то некошерно. Дома только линуксы, Samba вроде бы и не нужна.

Если я правильно понял, для NFSv3 будет достаточно сделать у обоих пользователей десктопа одинаковые UID и GID, а логины можно оставить разными. Если же переходить на NFSv4, то там вроде бы синхронизация идёт именно по логину.

Что посоветуете? Как добиться чтобы каждый пользователь видел в общей сетевой папке владельцами файлов самого себя?


Либо юзай нфс3 и сделай одинаковый уид у себя и жены и пропиши его в експорте, либо юзай нфс4 и там для этого есть idmap - тогда надо будет юзернеймы создать на сервере (но уиды могут не совпадать). Второе глобальнее и надежнее... Чтобы еще и ентерпрайзнее было, надо обязательно поднять kerberos да еще с ldap. И присовокупить automount. Тогда это засчитаеттся за постройку дома и посадку дерева.

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

Т.е., с NFSv4 можно будет сделать так, чтобы у каждого пользователя отображалось, что владелец файлов — ­он?

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

это можно и с нфс3. я же написал. будет уид одинаковый одинакого и будет «отображаться»... поставь анонуид и гид 1000 и на компах должно так же быть. и будет щастье.

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

Сделал на NFSv3. Сделал одинаковыми uid'ы и gid'ы на обоих десктопах и сервере. Но на сервере права на директорию стояли 0700 и раньше это работало, сейчас же с такими правами с десктопа не пускает даже root, 0750 не помогло, пришлось сделать 0755. Странно. Ну да и ладно, зато красиво.

mos, поделитесь, пожалуйста, примерными набросками конфигурации как всё это по-правильному сделать в NFSv4. Я пару часов промучился, так ничего и не получилось.

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