Tôi gặp sự cố khi hiển thị các tệp bằng cách sử dụng ngàm NFSv4 giữa
Máy chủ: Ubuntu 20.04, 192.168.1.1
Máy khách: Ubuntu 18.04, 192.168.1.2
Trên máy chủ, tôi có một thư mục và tệp
/home/server/files/myfile.pdf
(lưu ý 'máy chủ' đang được sử dụng làm tên tài khoản người dùng). Đây là chuỗi quyền sở hữu và quyền đầy đủ của tệp gốc:
drwxr-xr-x gốc:root /
drwxr-xr-x root:root /home/
máy chủ drwxr-xr-x: máy chủ/nhà/máy chủ/
máy chủ drwxrwxr-x: nfsgroup /home/server/files/
-rwxrwxrwx máy chủ: nfsgroup /home/server/files/myfile.pdf
Ở đây bạn có thể thấy một ví dụ về tiện ích 'người dùng':'nhóm' mà tôi đã tạo:
nfsuser uid=127
nfsgroup gid=134
Cả 'nfsuser' và 'server' đều thuộc nhóm 'nfsgroup'.
Trên máy chủ, tôi có /các tập tin/
thư mục liên kết được gắn vào /srv/nfs4/tệp/
Trong /etc/fstab
, với một mục
/home/server/files /srv/nfs4/files không ràng buộc 0 0
Điều này là thành công, và tôi có thể thấy rõ /srv/nfs4/files/myfile.pdf
tập tin như
-rwxrwxrwx máy chủ: nfsgroup /srv/nfs4/files/myfile.pdf
Đây là chuỗi quyền sở hữu và quyền đầy đủ của tệp được gắn và cung cấp:
drwxr-xr-x gốc:root /
drwxr-xr-x root:root /srv/
máy chủ drwxrwxr-x: nfsgroup /srv/nfs4/
máy chủ drwxrwxr-x: nfsgroup /srv/nfs4/files/
-rwxrwxrwx máy chủ: nfsgroup /srv/nfs4/files/myfile.pdf
Bây giờ, tôi muốn xuất toàn bộ /srv/nfs4/
thư mục chứa liên kết được gắn kết các tập tin/
, cho khách hàng. Tôi có mục này trong máy chủ /etc/exports
:
/srv/nfs4 192.168.1.2(rw,sync,fsid=0,root_squash,all_squash,anonuid=127,anongid=134,no_subtree_check)
Đặc biệt lưu ý rằng các all_squash,anonuid=127,anongid=134
nhóm cài đặt khiến 'máy khách' của người dùng máy khách được công nhận là 'nfsuser' trong 'nfsgroup' liên quan đến quyền.
Sau khi tôi xuất cái này bằng cách sử dụng $ xuất khẩu sudo -ra
, tôi gắn nó vào thư mục cấp gốc /nsffiles/
trên máy khách bằng lệnh $ Sudo mount -t nfs 192.168.1.1:/srv/nfs4 /nsffiles
.
Kết quả là tôi có thể thấy xuất khẩu các tập tin/
thư mục trong /nsffiles/
trên máy khách. Tuy nhiên, tôi không thể nhìn thấy nội dung của nó:
$ ls -Alhd /nsffiles/
drwxrwxr-x 8 máy khách 134 4.0K ngày 14 tháng 11 20:37 /nsffiles/
$ ls -Alhd /nsffiles/files/
gốc drwxr-xr-x 2 gốc 4.0K ngày 14 tháng 11 20:36 /nsffiles/files/
$ ls -Alh /nsffiles/files/
tổng số 0
Thực tế là máy khách NFS có thể nhìn thấy các tập tin/
chỉ ra rằng không có gì sai về cơ bản với các dịch vụ NFS của tôi hoặc mạng cục bộ. Không có vấn đề về tường lửa và tôi không cần phải cài đặt bất kỳ gói bổ sung nào. Ngoài ra, trước đây tôi đã có ngàm NFS hoạt động hoàn hảo theo cấu trúc thư mục hơi khác (các tập tin/
nằm trong một thư mục bên ngoài nhà chẳng hạn), vì vậy tôi biết những điều cơ bản là ổn trong vấn đề đó.
Tôi cho rằng nguyên nhân rất có thể khiến nó không hoạt động bây giờ là sự thay đổi quyền sở hữu/quyền tinh vi giữa thiết lập trước đó và thiết lập hiện tại. Cụ thể, thư mục được gắn kết là
phía máy chủ: `/srv/nfs4/` drwxrwxr-x máy chủ:nfsgroup
phía máy khách: `/nsffiles/` drwxrwxr-x client:134
Thư mục chứa là
phía máy chủ: `/srv/nfs4/files/` drwxrwxr-x máy chủ:nfsgroup
phía máy khách: `/nsffiles/files/` drwxr-xr-x root:root
Đó là, đối với thư mục được gắn kết, các quyền chuyển thành máy chủ: nfsgroup -> máy khách: 134
, đó là dự kiến. Tuy nhiên, các quyền đối với thư mục chứa, chuyển thành máy chủ: nfsgroup -> root: root
. Tại sao gốc: gốc
và không khách hàng:134
?
Lỗi máy chủ này câu hỏi nghe có vẻ giống nhau, nhưng nó liên quan đến Windows và tôi không thể biết rằng câu trả lời duy nhất có thể áp dụng được.
Unix.SE này câu hỏi liên quan đến quyền đối với tệp NFS đối với thiết lập Windows/Linux; tất cả thông tin tôi có thể thu thập từ đó là những điều tôi đã biết và nghĩ rằng tôi đã quan tâm.
Vui lòng chỉ trả lời nếu bạn biết bạn đang nói về điều gì. Nếu bạn không thể cưỡng lại việc đăng một dự đoán hoang dã, vui lòng xác định đó là một dự đoán hoang dã. Hoặc, bạn biết đấy, cung cấp đủ thông tin để người đọc của bạn có thể nhận ra sự khác biệt.