Картографування UID та GID локального користувача для встановленої загальної NFS


36

У мене є сервер з NFSv4. Я монтую вміст домашньої папки віддаленого користувача до локального хоста. Здатний читати і записувати вміст, але коли я перевіряю право власності на файли на встановленому томі від локального хоста, всі вони належать відповідним віддаленим користувачам і групі (512). Чи є спосіб зробити так, щоб вони належали місцевому користувачеві та групі (1000) на локальному хості?

/ і т.д. / експорт на віддалений хост (IP - 192.168.1.110)

/home/user512 192.168.1.142(rw,sync,all_squash,anonuid=512,anongid=512)

/ etc / fstab на локальному хості (IP - 192.168.1.142)

192.168.1.110:/home/user512    /home/localuser/projects/project512   nfs    rw,hard,intr,rsize=32768,wsize=32768    0       0

Відповіді:


34

Це те, що передбачається робити. Перш за все, увімкнення знаходиться на клієнті та сервері:

# echo N > /sys/module/nfs/parameters/nfs4_disable_idmapping

чистий кеш idmap та перезапуск демона idmap:

# nfsidmap -c
# service rpcidmapd restart

Тепер на сервер і клієнт надсилає замість числових ідентифікаторів рядки, наприклад, bob@YOURDOMAIN.COM . Потрібно мати обліковий запис bob на обох хостах - клієнті та сервері. Тим не менш, числові ідентифікатори можуть бути різними.


7
Ftr, на nfs сервері шлях / sys / module / nfsd / parametri / nfs4_disable_idmapping (nfsd, не nfs)
Майк Персел

2
Немає сервісу rpcidmapdдля мого клієнта Linux Mint.
Корні

1
Питання щодо цієї відповіді: чи echo N > /sys/module/nfsd/parameters/nfs4_disable-idmapping зробить це налаштування постійним, чи мені доведеться скидати його щоразу після перезавантаження?
mauritslamers

4
Під Ubuntu послуга викликається idmapdзамістьrpcidmapd
mauritslamers

2
Debian => idmapd з nfs-поширеного пакету Сервіс названийnfs-idmapd
Philippe Gachoud

5

У вас є всі шматки там. Зі сторінки man all_squashекспортує , карта всіх UID та GID на анонімні версії. Те, що ви написали, змусило цих значень дорівнювати 512. Якщо ви змінили на 1000, сервер nfs на віддаленому хості зробить все 1000, і доступ повинен бути наданий.


Мій uid для клієнта 1000, uid користувача з тим самим іменем на сервері 1003. Я спробував налаштувати anonuid=1000,anongid=1000і anonuid=1003,anongid=1003(і перезапустити nfsserver, і скасувати / повторно передати частку), і не працює. Нахил, тому що ця відповідь, здається, не працює.
Фрогз

Просто для підтвердження, які ваші експорти та записи fstab?
стає на

1
/home/gkistner *(async,rw,all_squash,anonuid=1000,anongid=1000,no_subtree_check)в експорті, а 10.20.118.112:/home/gkistner /mnt/r2 nfs rsize=8192,wsize=8192,timeo=14,intrв fstab
Фрогз

3

на своєму клієнті nfs відредагуйте /etc/idmapd.conf та змініть

[Mapping]

Nobody-User = myappuser
Nobody-Group = myappuser

після цього перезапустіть службу nfs

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.