Root không thể thay đổi quyền hoặc quyền sở hữu tập tin


8

Thư mục của tôi là root:

pwd 
/

Tôi có thư mục sau:

drwxrwxrwx   4 root   root     81920 Jun  4 09:25 imr_report_repo

LƯU Ý: imr_report_repo là một chia sẻ NFS.

Đây là fstabdanh sách cho imr_report_repo:

netapp1:/imr_report_repos_stage  /imr_report_repo  nfs   rw,bg,actimeo=0,nointr,vers=3,timeo=600,rsize=32768,wsize=32768,tcp 1    1
d imr_report_repo

Một tập tin trong mount:

$ ls -al
-rw-r--r--  1 502     502      1273 Mar 21  2013 imr1_test.txt

UID 502 không tồn tại. Nếu chúng tôi thêm UID / GID cục bộ:

$ groupadd -g 502 jimmy
$ useradd -g 502 -u 502 jimmy

Nó hiện lên:

$ ls -al
-rw-r--r--  1 jimmy     jimmy      1273 Mar 21  2013 imr1_test.txt

Bây giờ thay đổi để root:

$ su -
$ chown oracle:oinstall imr1_test.txt
chown: changing ownership of `imr1_test.txt': Operation not permitted

Máy chủ NFS có phải là NetApp không? Bạn có quyền truy cập hành chính vào nó?
Đánh dấu Plotnick

Vâng, đó là NetApp. Tôi có quyền quản trị viên
Stringer

Câu trả lời:


10

Thường rootkhông có quyền đặc biệt đối với cổ phiếu NFS. Ngược lại: rootđược ánh xạ tới một người dùng thông thường (nghĩa là thậm chí không có quyền truy cập đọc và ghi "bình thường" vào rootcác tệp).

Bạn phải chạy chowntrên máy chủ NFS.


4

Thông thường, người dùng root cục bộ trên các máy khách NFS không được phép thực hiện các loại hoạt động này trên các cổ phần được gắn NFS. NetApp xuất hiện để thêm một chút thay đổi về điều này như sau:

  • Theo mặc định, tùy chọn anon chỉ định UID là 65534. Nghĩa là, nếu bạn không sử dụng tùy chọn gốc và anon cho tài nguyên, người dùng root trên tất cả các máy chủ truy cập tài nguyên bằng UID 65534.
  • Nếu tùy chọn anon chỉ định UID là 65535, quyền truy cập root sẽ bị tắt.
  • Nếu tùy chọn anon chỉ định UID bằng 0, quyền truy cập root được cấp cho tất cả các máy chủ.
  • Nếu một tên được cung cấp thay vì UID, tên đó sẽ được tra cứu theo thứ tự được chỉ định trong /etc/nsswitch.conftệp để xác định UID tương ứng được gán bởi tùy chọn anon.

Vì vậy, từ vẻ ngoài của nó, chia sẻ NetApp NFS có tùy chọn mặc định, # 1. Bạn có thể xác nhận điều này bằng cách chạm vào một tệp trên chia sẻ NFS với quyền root và xem kết quả ID nào khi thực hiện việc này.

Bạn sẽ có thể thấy các tùy chọn đã xuất của chia sẻ NFS bằng mount -vứng dụng khách NFS của bạn.

$ mount -v
...
mulder:/export/raid1/home/sam on /home/sam type nfs (rw,intr,tcp,nfsvers=3,rsize=16384,wsize=16384,addr=192.168.1.1)

Người giới thiệu


2

Theo mặc định, máy chủ NFS của NetApp sẽ thay đổi thông tin đăng nhập của người dùng root trên máy khách thành uid 65534 trên máy chủ, do đó các hoạt động như thế chownsẽ thất bại. Để thay đổi điều này, hãy chỉnh sửa danh sách xuất trên trình quay để dòng cho hệ thống tệp có tham số root=clientid, trong đó clientid là địa chỉ IP hoặc tên máy chủ của máy khách mà bạn muốn có quyền truy cập vào hệ thống tệp đó. Sau đó chạy exportfs -anếu bạn đang sử dụng giao diện dòng lệnh trên trình quay.


0

Như slm bình luận ở trên đã nói,

Thông thường, người dùng root cục bộ trên các máy khách NFS không được phép thực hiện các loại hoạt động này trên các cổ phần được gắn NFS

Tính năng được sử dụng được gọi là rot squash . Thêm thông tin ở đây . Trong trường hợp của tôi, cách duy nhất là đăng nhập để vô hiệu hóa root squash cho máy chủ cụ thể này và cho phép nó quay lại sau.

Một tình huống tương tự bạn sẽ gặp phải nếu bạn sử dụng dockercontainer có khối lượng và container chạy với người dùng không có đặc quyền (ví dụ USER apache). Vì vậy, ý tưởng về các điểm gắn kết NFS là r/ wchỉ bởi owner, và không phải rootlà một thực tiễn bảo mật phổ biến.

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.