Quyền cho các tệp mới trong thư mục chia sẻ


31

Chúng tôi vừa có một iMac mới đang sử dụng /Users/Sharedthư mục để lưu trữ tài sản phương tiện (hình ảnh, âm thanh, video) mà chúng tôi muốn truy cập cho tất cả người dùng trên máy. Sau khi sao chép tất cả các tệp ban đầu, chúng tôi đặt các quyền mong muốn và sau đó áp dụng các quyền tương tự cho tất cả các nội dung thư mục theo cách đệ quy. Điều này đang hoạt động tốt, ngoại trừ sau đó bất cứ khi nào ai đó tạo một tệp hoặc thư mục mới, nó không có cùng quyền và chúng tôi phải lặp lại toàn bộ quy trình cấp phép trước khi mọi người có thể truy cập.

Có cách nào để chúng ta có thể đặt quyền cho tất cả các tệp / thư mục mới được tạo trong thư mục đó không?


Các thuộc tính mở rộng sẽ cho phép bạn thiết lập một số quyền truy cập rất tự do và bảo họ tuyên truyền bên trong thư mục và tiếp tục làm như vậy đối với các sáng tạo mới, nhưng đối với cuộc sống của tôi, tôi không thể tìm thấy hướng dẫn. Tôi chỉ có thể làm điều đó trên Máy chủ OSX bằng Công cụ quản trị máy chủ, mà tôi cho rằng không phải là một lựa chọn khả thi ở đây?
Jason Salaz

Không. Chúng tôi chỉ có quyền truy cập vào các đĩa hệ điều hành đi kèm với iMac.
Daniel Standage

1
Nếu bạn vui vẻ làm việc trong Terminal thì đây có thể là câu trả lời bạn đang tìm kiếm.
boehj

Câu trả lời:


32

Bạn không thể làm điều này với các quyền theo kiểu POSIX truyền thống, nhưng bạn có thể với các mục kiểm soát truy cập kế thừa. Để cho phép truy cập đọc + ghi cho toàn bộ nhóm "nhân viên" đối với mọi thứ trong / Người dùng / Chia sẻ / thực sự chia sẻ, bạn sẽ sử dụng:

sudo chmod -R +a "staff allow list,add_file,search,add_subdirectory,delete_child,readattr,writeattr,readextattr,writeextattr,readsecurity,file_inherit,directory_inherit" /Users/Shared/reallyshared

Phần này file_inherit,directory_inheritcó nghĩa là mục kiểm soát truy cập này sẽ tự động được thêm vào các tệp và thư mục mới được tạo trong thư mục này, nhưng nó không tự động áp dụng cho các mục đã có ở đó (đó là lý do tại sao tôi đã thêm -Rcờ vào chmod- áp dụng nó cho mọi thứ hiện có trong thư mục) và nó sẽ không được áp dụng cho các mục được tạo ở nơi khác và sau đó được chuyển vào thư mục này (tôi không biết cách nào khác, xin lỗi).


Tôi thực sự rất thích tìm cách để có tác phẩm này ngay cả đối với các tệp được chuyển vào một thư mục dùng chung. Thật là bực bội khi có các tệp trong một thư mục được chia sẻ mà cuối cùng không thực sự được chia sẻ.
chiếu

Điều này vẫn không cho phép một thư mục được ghi vào nếu các quyền posix không cho phép nó. Tức là tôi tạo thư mục này trong Finder: drwxr-xr-x+ 2 User staff 68 Dec 15 14:10 untitled folder+ ở cuối có nghĩa là nó đã áp dụng ACL mở rộng bằng cách sử dụng lệnh của bạn ở trên, nhưng Windows vẫn cho phép bị từ chối nếu tôi cố gắng ghi một tệp vào thư mục này. Chỉ chmod g+w untitled\ foldercho phép tôi viết cho nó. Có thể là do tôi đã cài đặt Samba để giải quyết việc triển khai SMB mới khủng khiếp của OSX.
Chris Dragon

@ChrisDragon: nghe có vẻ như samba không tôn trọng ACL. Tôi đã tìm thấy một đề xuất ở đây để thêm nt acl support = novào [Global]phần /etc/smb.conf, nhưng tôi không chắc điều đó vẫn có liên quan trong các phiên bản samba hiện tại.
Gordon Davisson

4

Một cách tiếp cận khác là sử dụng Terminal (còn gọi là shell hoặc dấu nhắc lệnh) để tạo / chỉnh sửa (phải được thực hiện dưới dạng siêu người dùng, xem sudo) tệp:
/etc/launchd-user.conf
thêm dòng:
umask 000
lưu và khởi động lại. Các tệp / thư mục mới (bao gồm các tệp được thay đổi bằng cách lưu dưới dạng) sẽ cho phép mọi người đọc / ghi.

Điều này hoạt động bằng cách thay đổi quyền tạo tệp mặc định cho các chương trình, trong khi phương pháp ACL hoạt động theo các quy tắc truy cập được ràng buộc với các tệp và thư mục cụ thể.

Không có tinh chỉnh này, các tệp được tạo cho phép người dùng: đọc-ghi, nhóm & khác: chỉ đọc.

Nếu bạn đang chia sẻ giữa nhiều máy tính, bạn cần thực hiện việc này cho tất cả các máy tính sẽ sử dụng chia sẻ.

Nếu bạn có các tệp và thư mục hiện có trong khu vực dùng chung, bạn cần làm cho tất cả chúng có thể đọc / ghi được bởi mọi người bằng cách sử dụng:
sudo chmod -R og+w <shared-folder-name>

Lệnh đọc bằng tiếng Anh dưới dạng chế độ thay đổi, đệ quy thông qua tất cả các thư mục và tệp phụ, các quyền & nhóm khác thêm quyền truy cập ghi, bắt đầu từ thư mục với.

Cách tiếp cận này được đề cập trong các diễn đàn để làm việc với ít nhất là sớm nhất là 10.6 và vẫn hoạt động vào ngày 10.7.

Các yếu tố khác vẫn ảnh hưởng đến quyền truy cập vào nội dung. Ví dụ: các quyền được đặt trong bảng điều khiển Chia sẻ, quyền / ACL của thư mục nhà và khi sử dụng Terminal, mọi ô đều có hiệu lực đối với hệ vỏ.

Tra cứu quyền truy cập tập tin umaskPosixđể biết chi tiết về các khái niệm Unix này. Trong phần ghi, thư mục word là Unix parlance đồng nghĩa với thư mục. Bạn cũng sẽ gặp các thuật ngữ UID và GID: ID người dùng và nhóm, xác định quyền sở hữu Posix của các chương trình (quy trình) đang chạy. Lưu ý rằng UID và GID là các số có thể giống hoặc khác nhau cho một tên người dùng nhất định trên các máy tính khác nhau. Các số này được gán cho tên trong tài khoản đặt hàng được tạo trên một máy tính nhất định, thường bắt đầu bằng ID 501. Mạng gia đình thiếu cơ chế để hài hòa các nhiệm vụ này trên các máy tính. Do đó, trên mạng chia sẻ, một tệp có thể thuộc về người dùng khác vì ràng buộc ID người dùng với tên người dùng được xác định từ góc độ máy tính đang truy cập tệp. Vì vậy, chia sẻ thực sự luôn cho phép mọi người truy cập các tập tin ở nhiều mức độ khác nhau của mọi người. Nói cách khác, quyền "khác" của Posix là một giới hạn vô hạn đối với quyền truy cập, từ việc cho phép mức độ truy cập khá dễ đoán nhưng dường như không chắc chắn tùy thuộc vào ID người dùng được gán trên các máy tính khác nhau. Điều này dẫn đến các trải nghiệm rõ ràng vô lý, trong đó trên một số mạng, ví dụ như thiết lập chỉ có một tài khoản người dùng được tạo trên mỗi máy Mac, sẽ có thể chia sẻ mà không cần bất kỳ chỉnh sửa quyền nào vì tất cả các tài khoản sẽ có cùng UID (501, không cho dù tài khoản được đặt tên là gì) trong khi một mạng khác sử dụng nhiều tài khoản người dùng trên mỗi máy Mac sẽ gặp sự cố ngay lập tức. Vì vậy, một số nhóm sẽ không bao giờ đấu tranh với điều này, trong khi một số nhóm khác có thể thấy các vấn đề phát triển theo thời gian hoặc các vấn đề xuất hiện / biến mất một cách tự nhiên,

Đó là một bí ẩn tại sao Apple đã để lại một khiếm khuyết về khả năng sử dụng đáng lo ngại trong cấu hình của khả năng chia sẻ tập tin dễ dàng như vậy.

Trên các ổ đĩa ngoài, vấn đề này được giải quyết với tùy chọn "Bỏ qua quyền trên ổ đĩa này". Có thể có một tính năng tương tự để chia sẻ tập tin apple, nhưng nó ở đâu.

Nếu bạn cuộn cấu hình dịch vụ Samba của riêng bạn, có các cơ chế khác để xử lý các vấn đề này, nhưng Samba hoàn toàn không dễ sử dụng.


/etc/launchd-user.conf không được dùng nữa launchctl. Xem support.apple.com/en-us/HT201684
Jess Bowers
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.