Tại sao không thể root trên một máy thay đổi nội dung được gắn nfs từ máy khác?


14

Trên máy chủ NFS của tôi, tôi có định nghĩa xuất sau:

#NFS exports Database
/shared -alldirs -network=192.168.1 -mask=255.255.255.0

Trên máy khách NFS của tôi:

192.168.1.7:/shared /shared nfs rw 0 0

Rõ ràng, là root trên máy chủ, tôi có thể làm bất cứ điều gì tôi muốn. Tuy nhiên, trên máy khách, người dùng thông thường 'gabe' của tôi có thể thay đổi ngàm nfs (giả sử tôi có quyền), nhưng không thể root.

Là người dùng thường xuyên của tôi:

gabe@client$ cd /shared
gabe@client$ ls -l
total 8
drwxrwxrwx  4 gabe  wheel   512 Mar 20 19:20 tmp
gabe@client$ cd tmp
gabe@client$ touch test.txt
gabe@client$ rm test.txt

Là gốc:

# cd /shared/tmp
# touch test.txt
touch: test.txt: Permission denied

Một lần nữa, đây là tất cả về phía máy khách NFS , và tôi nghi ngờ có lẽ nó có liên quan đến tùy chọn -maproot. Đây là lần đầu tiên tôi thiết lập NFS và tôi chỉ nhận thấy sự đặc biệt này. Bây giờ tôi sẽ đọc một số thứ, để xem liệu tôi có thể tìm ra điều này không, nhưng nếu có ai có cái nhìn sâu sắc, tôi sẽ đánh giá cao nó.

Câu trả lời:


18

NFS được thiết kế với ý tưởng rằng id người dùng và nhóm sẽ giống nhau trên tất cả các máy trên mạng. Đối với người dùng thông thường, hoạt động tốt. Nhưng UID của root luôn là 0 và chỉ vì bạn có root trên một hộp, điều đó không có nghĩa là bạn nên có quyền truy cập root vào mọi máy trên mạng.

Do đó, NFS xử lý root đặc biệt. Theo mặc định, root được ánh xạ tới nobodyngười dùng, thông thường không có quyền truy cập ghi. Các -maproottùy chọn cho phép bạn thay đổi cách gốc được xử lý. BSD -maproot=roottương ứng với no_root_squashtùy chọn của Linux .


Vâng, thực sự. Điều này đã khắc phục vấn đề của tôi. Trang người đàn ông tôi đang đọc có một chút khó hiểu (hoặc sự hiểu biết của tôi) liên quan đến chính xác những gì maproot đã làm. Cảm ơn!
gabe.

Một noob khác ở đây. Tôi đã tự hỏi nếu các bạn có thể biết một cách để biết nếu một ổ NFS đã được cấu hình để sử dụng -maproottùy chọn mà không có quyền truy cập vào Máy chủ NFS.
Giăng

@ John, điều đó đủ khác biệt để bạn nên hỏi một câu hỏi mới thay vì thêm một bình luận.
cjm

5

Đó là hành vi phổ biến với việc triển khai NFS truyền thống. Ánh xạ người dùng NFS được thực hiện bất kể bối cảnh, vì vậy tất cả các truy cập của gốc máy khách phải được ánh xạ tới một người dùng cụ thể (thường là nobodytheo mặc định). Do đó, hành vi kỳ lạ này, nơi root máy khách không thể truy cập trực tiếp vào tệp của bạn, nhưng có thể su gabetruy cập chúng.

(Các phiên bản gần đây của NFS của NFS, tức là NFSv4 và có lẽ là NFSv3, cho phép hành vi saner nếu được hỗ trợ từ cả hai phía, nhưng tôi không biết chi tiết.)

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.