Làm cách nào để buộc các quyền cụ thể cho các tệp / thư mục mới trên máy chủ tệp Linux?


14

Tôi đang gặp sự cố với cài đặt Ubuntu 9.10 (máy chủ tệp) và các quyền samba của nó. Đăng nhập và đọc hoạt động tốt. Tuy nhiên, việc tạo thư mục mới bởi người dùng hạn chế quyền truy cập cho người dùng khác. Chẳng hạn, nếu Bob (người dùng Windows ánh xạ ổ đĩa) tạo một thư mục trong thư mục, Jane (người dùng Mac chỉ đơn giản là gắn kết smb) có thể đọc từ nó, nhưng không thể ghi vào nó - và ngược lại. Sau đó tôi phải đi CHMOD 777 thư mục để mọi người được hạnh phúc. Tôi đã thử chỉnh sửa các tùy chọn "tạo / mặt nạ thư mục" và "bắt buộc" trong tệp smb.conf nhưng điều này có vẻ không hữu ích.

Tôi chuẩn bị sử dụng CRONABing một thói quen chmod đệ quy, mặc dù tôi chắc chắn đây không phải là sửa chữa. Làm thế nào để tôi có được tất cả các mục mới luôn luôn là 777? Có ai có bất cứ đề nghị để khắc phục tình trạng này luôn xảy ra?

Tốt


Nhóm người dùng và các quyền bản địa khác, không chmod 777.
Warner

Câu trả lời:


13

Tôi thường sử dụng chức năng riêng của SAMBA để cấp quyền và quản lý nhóm trên các cổ phần. Ví dụ..

force user=user1
force group=sharedgroup
create mask=775

Bạn sẽ chỉ định các cài đặt này dưới phần chia sẻ. Hãy chắc chắn tải lại SAMBA sau khi thay đổi cấu hình, có thể được thực hiện thông qua tập lệnh init.


1
Tuy nhiên, bài đăng nói rằng anh ta đã làm điều đó và nó đã không hoạt động ....
Mistiry

2
Sau đó, anh đã làm sai. Nó hoạt động.
Warner

Tôi không chắc có chuyện gì. Tôi đã thử nó bằng tay và qua Webmin nhưng không có kết quả. Có lẽ lựa chọn nhóm của tôi là sai? Tôi đã thử sử dụng "người dùng" cũng như các nhóm được tạo thủ công khác nhau, trong đó tất cả đã được tạo thành viên. Bất kể tôi làm gì, người dùng không thể thao túng bất cứ thứ gì họ không tự đặt. "Giải pháp" duy nhất là để tất cả người dùng đăng nhập (hoặc gắn kết) là GUEST tạo ra sự nhầm lẫn.
humble_coder

SAMBA sử dụng kết hợp các quyền và cài đặt hệ thống tệp trong cấu hình. Nếu người dùng không write listđược phép viết hoặc cấu hình chia sẻ, nó sẽ không hoạt động. Nếu người dùng SAMBA chạy tại không thể truy cập các thư mục, nó sẽ không hoạt động. Người dùng nên là thành viên của nhóm thích hợp, các thư mục và tệp phải thuộc sở hữu của nhóm đó và được đặt bit có thể ghi cho nhóm. Bạn cũng có thể kiểm tra nhật ký SAMBA.
Warner

2
Tôi đã tìm kiếm một thời gian dài cho việc này! Cảm ơn! :) Nó hoạt động như mong đợi.
NagyI

2

Đặt quyền trên thư mục là 2777, như thế này:

chmod 2777 /shared/dir

Điều này khiến tất cả các tệp và thư mục trong thư mục '/ shared / dir' kế thừa các quyền của thư mục trên cùng, trong trường hợp này là 777.

Sau đó, làm điều này để đảm bảo tất cả các tệp có quyền thích hợp:

chmod -R 777 /shared/dir

Về tình huống duy nhất mà sự ghi công khai được chấp nhận là với /tmp.
Warner

1
Vâng, có lẽ tốt hơn để sử dụng 774 hoặc thậm chí 770, tùy thuộc vào tình huống. Nhưng, anh ấy hỏi làm thế nào để biến tất cả thành '777', vì vậy tôi chỉ sử dụng nó trong ví dụ của mình.
Mistiry

3
Có, nhưng làm cách nào để đảm bảo rằng tất cả các tệp trong tương lai được sao chép vào thư mục đó qua mạng đều nhận được các quyền giống nhau bất kể quyền ban đầu của chúng là gì? Tôi không có vấn đề gì khi tự làm nó, tôi chỉ đơn giản muốn nó tự động.
humble_coder

2
Điều này không hoạt động. Cờ setgid cho các thư mục đặt nhóm các tệp và thư mục mới, không phải là quyền và chạy chmod mọi lúc không được chấp nhận. Tôi cần một giải pháp không liên quan đến samba, cho Steam trên Linux để tôi có thể chia sẻ thư viện giữa những người dùng.
Sam Watkins

2

Tôi nhận ra đây là một câu hỏi cũ nhưng gần đây tôi có một vấn đề tương tự và đây là cách tôi giải quyết nó:

[chia sẻ]
mặt nạ bảo mật = 0770
tạo mặt nạ = 0770
chế độ tạo lực = 0660
bình luận = Samba chia sẻ cho CNTT
đường dẫn = / đột kích / chia sẻ
duyệt được
khách ok = không
ghi danh sách = root, @ "DOMAIN + it_nfs"
lực lượng nhóm = DOMAIN + it_nfs

Điều này đảm bảo rằng người dùng phải nằm trong nhóm bảo mật "it_nfs" trong AD, tất cả các tệp sẽ được ghi với nhóm "it_nfs" và tất cả các tệp sẽ được ghi với ít nhất 0660 và tối đa 0770 perm. Buộc ID nhóm đảm bảo rằng bất kỳ ai trong nhóm đó cũng có thể đọc / ghi các tệp trên chia sẻ. Mặt khác, bạn kết thúc với các tình huống trong đó một tệp được viết là bob: bob không thể được viết bởi charlie: charlie, mặc dù cả hai đều nằm trong "it_nfs".


0

Từ các bình luận của câu trả lời được chấp nhận, nó thực sự không giải quyết được vấn đề của OP và cả các câu trả lời khác, nếu OP tình cờ có cùng một vấn đề như tôi đã làm:

Có chia sẻ trên một phân vùng NTFS / FAT.

Hãy nhớ điều này khi cắm đĩa máy tính để bàn của bạn vào NAS để chia sẻ album gia đình của bạn: fs mount params cho người dùng, nhóm, tạo chế độ, vv ghi đè bất cứ điều gì được định cấu hình cho Samba! ;)

(Ví dụ: trong trường hợp của tôi, bất kể smb.confmọi thứ được tạo bởi root, với 777- theo fstab defaultscho ngàm cầu chì NTFS ...)

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.