Ánh xạ UID và GID của người dùng cục bộ vào chia sẻ NFS được gắn kết


36

Tôi có một máy chủ với NFSv4. Tôi đang gắn nội dung của thư mục nhà của người dùng từ xa đến máy chủ cục bộ. Có thể đọc và ghi nội dung, nhưng khi tôi kiểm tra quyền sở hữu các tệp ở ổ đĩa được gắn từ máy chủ cục bộ, tất cả chúng thuộc về nhóm và người dùng từ xa tương ứng (512). Có cách nào để làm cho nó trông giống như họ thuộc về người dùng và nhóm (1000) cục bộ trên máy chủ cục bộ không?

/ etc / export trên máy chủ từ xa (IP là 192.168.1.110)

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

/ etc / fstab trên máy chủ cục bộ (IP là 192.168.1.142)

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

Câu trả lời:


34

Đây là những gì idmapping được cho là để làm. Trước hết, kích hoạt là trên máy khách và máy chủ:

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

dọn dẹp bộ đệm idmap và khởi động lại daemon idmap:

# nfsidmap -c
# service rpcidmapd restart

Bây giờ trên máy chủ và máy khách sẽ gửi thay vì các chuỗi gốc ID số như bob@YOURDOMAIN.COM . Bạn cần có tài khoản bob trên cả máy chủ - máy khách và máy chủ. Tuy nhiên, ID số có thể khác nhau.


7
Ftr, trên máy chủ nfs, đường dẫn là / sys / module / nfsd / tham số / nfs4_disable_idmapping (nfsd, không phải nfs)
Mike Purcell

2
Không có dịch vụ rpcidmapdtrên máy khách Linux Mint của tôi.
Corni

1
Câu hỏi về câu trả lời này: sẽ thực echo N > /sys/module/nfsd/parameters/nfs4_disable-idmapping hiện cài đặt này vĩnh viễn hay tôi sẽ phải đặt lại mỗi lần sau khi khởi động lại?
mauritslamers

4
Trong Ubuntu, dịch vụ được gọi idmapdthay vìrpcidmapd
mauritslamers

2
Debian => idmapd từ gói chung nfs Dịch vụ được đặt tênnfs-idmapd
Philippe Gachoud

5

Bạn có tất cả các mảnh ở đó. Từ trang man của exportfs, all_squashánh xạ tất cả các uids và gids sang các phiên bản ẩn danh. Những gì bạn đã viết buộc các giá trị đó là 512. Nếu bạn thay đổi thành 1000, máy chủ nfs trên máy chủ từ xa sẽ tạo mọi thứ 1000 và quyền truy cập phải được cấp.


Uid của tôi trên máy khách là 1000, uid của người dùng có cùng tên trên máy chủ là 1003. Tôi đã thử cài đặt anonuid=1000,anongid=1000anonuid=1003,anongid=1003(và khởi động lại nfsserver, và hủy / chia sẻ lại chia sẻ) và không hoạt động. Downvote, bởi vì câu trả lời này dường như không hoạt động.
Phrogz

Chỉ cần xác nhận, mục xuất và fstab của bạn là gì?
trở thành

1
/home/gkistner *(async,rw,all_squash,anonuid=1000,anongid=1000,no_subtree_check)trong xuất khẩu và 10.20.118.112:/home/gkistner /mnt/r2 nfs rsize=8192,wsize=8192,timeo=14,intrtrong fstab
Phrogz 9/11/2016

3

trên máy khách nfs của bạn, chỉnh sửa /etc/idmapd.conf và thay đổi

[Mapping]

Nobody-User = myappuser
Nobody-Group = myappuser

Sau khi khởi động lại dịch vụ nfs

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.