2012-01-04 33 views
6

OK, tôi rất bối rối về nội dung này, vì vậy các câu trả lời mô tả thực sự sẽ được đánh giá cao, đặc biệt nếu chúng làm cho toàn bộ nội dung này ít huyền diệu hơn và dễ dự đoán hơn.Gắn kết mạng NFS: đặt chủ sở hữu thành tài khoản cụ thể

Tôi đang cố gắng kết nối NAS Drobo-FS của mình với nfs để có hiệu suất tốt hơn so với cifs.

Máy chạy bộ đang chạy một số bản phân phối Linux được cắt bớt.

Bên trong/etc/fstab trên máy client (Ubuntu với IP: 192.168.1.150)

# Mount Drobo 
192.168.1.100:/mnt/DroboFS/Shares/public /media/drobonfs nfs rw,soft,proto=tcp,users 0 0 

Tôi đã unfsd cài đặt trên drobo và truy cập thông qua ssh. Đây là tập tin xuất khẩu trên máy chủ (Drobo-FS với IP 192.168.1.100):

# Allow access for client machine 
/mnt/DroboFS/Shares 192.168.1.150(rw,no_root_squash) 

Gắn hoạt động tốt, ngoại trừ các tập tin được gắn đều được sở hữu bởi root với hầu hết các file cho phép thiết lập để 744 Các quyền của tệp được hiển thị trong giá trị gắn kết trên máy khách khớp với các quyền thực tế trên máy chủ. Ví dụ:

client$ sudo chmod 123 /media/drobonfs/somefile 
client$ ls -l /media/drobonfs/somefile 
---x-w--wx 1 root root 0 2012-01-04 14:15 /media/drobonfs/somefile 

drobo$ ls -l /mnt/DroboFS/Shares/public/somefile 
---x-w--wx 1 root  root   0 Jan 4 14:15 /mnt/DroboFS/Shares/public/somefile 

Viết sudo trước mỗi lệnh là một kéo và tôi muốn hiểu những gì đang xảy ra, vì vậy những gì tôi có thể làm gì để gắn kết nó trên máy client với chủ sở hữu/nhóm thiết lập để tôi tài khoản thay vì root?

Trả lời

1

Có vẻ như thế này nên làm việc trong xuất khẩu trên Drobo:

/mnt/DroboFS/cổ phiếu 192.168.1.150 (rw, all_squash, anonuid = NNN)

nơi NNN là user id số của bạn trên khách hàng.

+0

Đáng buồn là không, điều này không hoạt động. Nó vẫn được gắn kết, nhưng chủ sở hữu/nhóm vẫn được đặt thành root. – Matthew

0

Thay đổi /etc/exports tới:

/mnt/DroboFS/Shares 192.168.1.150(rw,insecure) 

và sau đó, trên máy chủ NFS, chạy:

$ sudo exportfs -a 

Bây giờ khi bạn gắn kết thư mục như một người dùng không phải root trên khách hàng NFS nó sẽ gắn kết với chủ sở hữu và nhóm thích hợp.

+1

Tại sao nên chọn trợ giúp 'không an toàn' ở đây ...? –

4

Khi chia sẻ được gắn kết userID (UID) của hệ thống máy chủ được ánh xạ trên userID (UID) của ứng dụng khách.

Trên máy khách, người dùng được ánh xạ (dựa trên userID) sẽ trở thành chủ sở hữu của phần được chia sẻ.

Sự cố của bạn gây ra do máy chủ sử dụng UID khác, sau đó máy khách.

Bạn có thể giải quyết việc này bằng cách định nghĩa một tập tin /etc/nfs.map:

/etc/nfs.map

này sẽ trông giống như:

# remote local gid 500 1000 # drobo client uid 500 2003 # drobo client

Vì vậy, khi sử dụng NFS bạn cần phải thực hiện chắc chắn có UID/GID khớp giữa những người dùng trên máy chủ và máy khách. Vui lòng đọc bài viết sau đây cũng: http://www.kernelcrash.com/blog/nfs-uidgid-mapping/2007/09/10/

Một cách tuyệt vời để giải quyết vấn đề này đang xem xét của UID trên cả máy chủ và máy khách hệ thống bằng cách nhìn vào /etc/passwd tập tin này trên cả hai hệ thống.

hoặc bằng cách gõ:

id tom 

thay đổi UID với:

usermod -u 10000 tom 

Chúc may mắn!

+0

map_static dành cho thiết lập nfs.map không được nhận diện trên centos 7 x86_64 với nfs-server được cài đặt theo mặc định. 'từ khóa không xác định 'map_static =/etc/nfs.map" ' –

+0

Thay đổi UID/GID để cho phép máy chủ và máy khách có cùng số UID/GID hoạt động cho tôi. [linux-changing-uids-and-gids-for-user] (https://muffinresearch.co.uk/linux-changing-uids-and-gids-for-user/) –

Các vấn đề liên quan