Чи може Samba підтримувати повні Windows-ACL?


12

Я створив хост Samba 3 з інтеграцією AD та файловою системою з підтримкою ACL. Використовуючи клієнт Windows, я можу встановити дозволи користувачів та груп.

На сьогоднішній день Samba просто відображає дозволи rwx POSIX ACL, що не дозволяє використовувати дозволи "Змінити" або "Повний контроль" у Windows. Я також прочитав кілька речей про xattrs та підтримку ZLS ACL.

Чи може хтось підказати, який найкращий спосіб вийти за межі POSIX ACL, щоб повністю нагадувати Windows ACE?

Відповіді:


7

Ось як я це завжди робив, не зовсім впевнений, де це читав.

Для того, щоб більшість опцій ACL для ваших акцій Samba були підключені до AD, вам потрібно включити POSIX ACL та XATTRS:

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

І у своєму smb.conf потрібно включити idmapping, nt acls та відображення атрибутів так:

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

Тоді все, що вам потрібно зробити, - це визначити адміністратора користувача для спільної доступу та разом із цим користувачем редагувати параметри безпеки з Windows.

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

Єдині проблеми можуть бути пов’язані з існуючими ACL (ви "відхилили" root та передаєте право власності на свого користувача Windows) та немапарованими групами користувачів.

Щоб зіставити групи вручну, потрібно зробити щось подібне:

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 

для вбудованих груп безпеки.

А потім для всіх ваших груп:

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

2
Я хотів би змінити , admin usersщоб acl group controlі набір force group = +DOMAIN\Admin-group, таким чином , ви можете мати кілька з правами адміністратора.
Хуберт Каріо

4

Якщо вам не потрібні POSIX ACL-файли для файлів, щоб вони фактично використовувались (наприклад, коли користувачі не можуть увійти в систему на локальному контролері Samba), ви можете мати повні ACT-файли NT за допомогою vfs:

[глобальний]
  зберігати атрибути dos = так
[поділитися]
  vfs об'єкти = acl_xattr

1

Вам потрібно буде зробити дві речі.

По-перше, ваша файлова система повинна підтримувати ACL. Ось приклад рядка у файлі fstab, який дозволяє ACL, ваш, звичайно, буде іншим:

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

Після того, як ви зробите це (і перезавантажте або перезавантажте), ви захочете включити nt acl у вашому файлі smb.conf:

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

Після того як ви зробили і те, і перезапустили самбу, у вас повинні бути відповідні ACL.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.