Samba có thể hỗ trợ Windows-ACL đầy đủ không?


12

Tôi đã thiết lập máy chủ Samba 3 tích hợp AD và hệ thống tệp hỗ trợ ACL. Sử dụng máy khách windows tôi có thể đặt quyền người dùng và nhóm.

Cho đến nay, Samba chỉ ánh xạ tới các quyền rwx của POSIX ACL, điều này ngăn tôi sử dụng quyền "Sửa đổi" hoặc "Kiểm soát hoàn toàn" trên Windows. Tôi cũng đọc một vài điều về xattrs và hỗ trợ ZFS ACL.

Ai đó có thể đưa ra gợi ý về cách tốt nhất để vượt qua POSIX ACL để hoàn toàn giống với Windows ACE không?

Câu trả lời:


7

Đây là cách tôi luôn làm nó, không chắc là tôi đã đọc nó ở đâu.

Để có hầu hết các tùy chọn ACL của windows trên các chia sẻ Samba của bạn được kết nối với AD, bạn cần kích hoạt cả POSIX ACL và XATTRS:

/dev/sda2       /samba              ext3    user_xattr,acl  1   2

Và trong smb.conf của bạn, bạn cần kích hoạt idmapping, nt acls và ánh xạ thuộc tính như thế này:

idmap uid = 16777216-33554431
idmap gid = 16777216-33554431
idmap backend = idmap_rid:<domain_netbios_name>=16777216-33554431

nt acl support = yes
inherit acls = yes

map acl inherit = yes 
map archive = no
map hidden = no
map read only = no
map system = no
store dos attributes = yes
inherit permissions = yes

Sau đó, tất cả những gì bạn cần làm là xác định người dùng quản trị viên để chia sẻ và với người dùng đó chỉnh sửa cài đặt bảo mật từ Windows.

[public]
path = /share/Public
public = yes
writable = yes
printable = no
admin users = "DOMAIN\user"

Các vấn đề duy nhất có thể liên quan đến các ACL hiện tại (bạn "không thích" root và chuyển quyền sở hữu cho người dùng Windows của bạn) và các nhóm người dùng chưa được xử lý.

Để ánh xạ các nhóm theo cách thủ công, bạn cần phải làm một cái gì đó như thế này:

net groupmap delete ntgroup="Domain Admins"
net groupmap delete ntgroup="Domain Users"
net groupmap delete ntgroup="Domain Guests"

net groupmap add ntgroup="Domain Admins" rid=512 unixgroup=root
net groupmap add ntgroup="Domain Users" rid=513 unixgroup=users 
net groupmap add ntgroup="Domain Guests" rid=514 unixgroup=nobody 

cho các nhóm bảo mật dựng sẵn.

Và sau đó cho tất cả các nhóm của bạn:

groupadd mygroup
net groupmap delete ntgroup="mygroup"   
net groupmap add ntgroup="DOMAIN\mygroup" rid=1000  unixgroup=mygroup   type=d

2
Tôi sẽ thay đổi admin usersđể acl group controlvà thiết lập force group = +DOMAIN\Admin-group, bằng cách này bạn có thể có nhiều với quyền admin.
Hubert Kario

4

Nếu bạn không cần POSIX ACL trên các tệp để thực sự có thể sử dụng được (ví dụ: khi người dùng không thể đăng nhập vào bộ điều khiển Samba của bạn cục bộ), bạn có thể có các ACL NT đầy đủ bằng vfs:

[toàn cầu]
  lưu trữ thuộc tính dos = có
[chia sẻ]
  đối tượng vfs = acl_xattr

1

Bạn sẽ cần phải làm hai điều.

Đầu tiên, hệ thống tập tin của bạn phải hỗ trợ ACL. Dưới đây là ví dụ về một dòng trong tệp fstab cho phép ACL, tất nhiên của bạn sẽ khác:

/dev/mapper/VolGroup00-SambaVol /samba ext3 defaults,acl 0 0

Khi bạn đã thực hiện điều đó (và được kết nối lại hoặc khởi động lại), bạn sẽ muốn bật nt acl trong tệp smb.conf của mình:

[share1]
   path = /samba/share1
   nt acl support = yes
   writeable = yes

Một khi bạn đã thực hiện cả hai và đã khởi động lại samba, bạn nên có ACL thích hợp.

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.