Làm thế nào để một setfacl thiết lập đệ quy các quyền ACL trên Linux?


20

Tôi đang thiết lập một máy chủ mới và muốn cung cấp cho ACL một cú hích về quyền truy cập chown: chgrp: chmod.

Trang man cho setfacl chỉ ra rằng tùy chọn '-R' có thể được sử dụng để đặt đệ quy ACL trên các tệp và thư mục.

-R, --recursive Áp dụng các thao tác cho tất cả các tệp và thư mục theo cách đệ quy. Tùy chọn này không thể trộn lẫn với '--oreore'.

Nếu bố cục thư mục của tôi trông như thế này

test/
   subtest/
   subtest.txt

và tôi thực thi

setfacl -Rm d:u:foo:rwX test

ACL có hiệu lực trên thư mục 'Subest', nhưng không phải là tệp Subest.txt.

Tôi nghĩ rằng tôi có thể sử dụng find + exec để khắc phục nó, nhưng tôi dự định sử dụng máy chủ này để đào tạo một vài quản trị viên khác và tôi muốn giữ nó đơn giản nhất có thể để chúng tôi không gặp khó khăn với một số nâng cao hơn quy ước.

Cảm ơn

Câu trả lời:


43

Thử:

setfacl -Rm u:foo:rwX,d:u:foo:rwX test

để sửa đổi ACL hiện tại cũng như mặc định. Tôi tin rằng "d:" chỉ ảnh hưởng đến (d) efault ACL của các thư mục và để các tệp không bị ảnh hưởng. Sau đó, nếu bạn tạo một tệp mới trong thư mục, nó sẽ kế thừa ACL của thư mục mẹ thông qua mặc định.


Điều đó có ý nghĩa ngay cả khi nó cảm thấy hơi dư thừa
Joe Holloway

1
Liệu điều này làm việc để loại bỏ kiểm soát truy cập là tốt. Có lẽ một cái gì đó ảnh hưởng đến: sudo setfacl -Rx g: gid path

Tại sao thay đổi địa điểm giữa -R-mcờ phá vỡ lệnh?
pkaramol

@pkaramol: Bởi vì -mtùy chọn lấy một đối số (thông số ACL u:foo:rwX,d:u:foo:rwXtrong trường hợp này) và chuyển đổi thứ tự của các tùy chọn tách biệt tùy chọn khỏi đối số của nó. Nó cũng có thể setfaclđược mã hóa để mong đợi các tùy chọn chính của nó đầu tiên.
Tạm dừng cho đến khi có thông báo mới.
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.