Назад | Перейти на главную страницу

Как настроить файловый сервер SAMBA так, чтобы он был похож на Windows?

Я использую openfiler в среде Active Directory (W2k8R2 DC). Я хотел бы, чтобы мои общие ресурсы были максимально похожи на общие ресурсы Windows для моих пользователей. Большинство вещей работают хорошо, но некоторые просто сводят меня с ума. ATM моя самая большая проблема - сделать списки ACL понятными для клиентов Windows:

Редактор Windows ACL

Как видите, есть записи для Все, никто, ВЛАДЕЛЕЦ СОЗДАТЕЛЬ и ГРУППА СОЗДАТЕЛЕЙ. Я знаю, что все эти записи отображаются из моих списков ACL POSIX, например, owner: group: other. Для большинства пользователей Windows это просто сбивает с толку, особенно Все некоторых людей пугает, так как они думают, что доступ есть у всех. Как я мог избавиться от этих записей и просто иметь:

L-PM-PMFS01-DEPOT-R атм - единственная группа, которая полностью права. G-PM-PMFS01-ADM указан как специальный, но имеет полный доступ, потому что это «основная группа» в POSIX. L-PM-PMFS01-DEPOT-C указан с полным доступом, поскольку он получил rwx в POSIX. Я пытался изменить acl map full control но не получил других результатов, установив его на false.

Итак, мой вопрос: что я должен установить в моем smb.conf, чтобы почти 100% оконный файловый сервер выглядел (и ощущался) как файловый сервер с samba?

Я знаю, что это возможно в коммерческих продуктах EMC или NetApp, поэтому я думаю, что способ должен быть.

текущая долевая часть smb.conf

[depot]
    comment = depot
    path = /mnt/vg1/v001/depot
    read only = no
    writeable = yes
    oplocks = yes
    level2 oplocks = yes
    force security mode = 0
    dos filemode = yes
    dos filetime resolution = yes
    dos filetimes = yes
    fake directory create times = yes
    browseable = yes
    csc policy = manual
    veto oplock files = /*.mdb/*.MDB/*.dbf/*.DBF/
    veto files = /*:Zone.Identifier:*/
    create mode = 0770
    directory mode = 2770
    printable = no
    guest ok = no
    hosts allow =  172.16.10.0/24 172.16.30.0/24 172.16.10.0/24
    hosts readonly allow =
    store dos attributes = yes
    map acl inherit = yes
    inherit acls = yes
    inherit owner = yes
    inherit permissions = yes

текущий getfacl:

# file: mnt/vg1/v001/depot/
# owner: nobody
# group: g-pm-pmfs01-adm
# flags: -s-
user::rwx
group::rwx
group:l-pm-pmfs01-depot-c:rwx
group:l-pm-pmfs01-depot-r:r-x
mask::rwx
other::---
default:user::rwx
default:group::rwx
default:group:l-pm-pmfs01-depot-c:rwx
default:group:l-pm-pmfs01-depot-r:r-x
default:mask::rwx
default:other::---

Если вы хотите почувствовать себя в окнах, сделайте следующее:

Если вы измените, используя linux acl или windows acl, openfiler перезапишет.

Чтобы указать полный полный доступ, вы не должны быть отмечены опцией основной группы (для группы, которую вы пытаетесь указать как полный доступ) в разделе конфигурации группового доступа. вместо этого вы просто проверяете только вариант RW. Отметьте опцию Primary group для другой группы (в моем случае я проверил локальную unix-группу).

Все, apache, группы nobody будут по умолчанию загружены из openfiler. Эти папки действительно не будут доступны каждому. только разрешенные группы могут получить доступ, если это не папка общего доступа.

Если вы используете сервер samba только в любом дистрибутиве, вы можете добиться этого с помощью linux acl

Эта проблема

Вы используете сопоставления ACL POSIX для обработки ACL Samba. Это поведение по умолчанию (и было уже очень давно), но если вам нужен Windows-подобный ACL, это Делать неправильно поскольку в ACL POSIX отсутствует ряд концепций и прав NTFS ACL, сопоставление всегда будет оставаться неполным и «чувствовать себя неправильно».

Решение

То, что вы ищете, это vfs_acl_xattr. Это метод хранения полнофункциональных списков ACL NTFS в расширенных атрибутах вместо попытки сопоставить их с ACL POSIX.

Обратной стороной является то, что соответствующий xattr оценивается только Samba, поэтому страдает совместимость - ACL, установленные через Samba, больше не синхронизируются с тем, что будет видеть ваш хост Linux (и, возможно, раскрывается другими средствами, такими как NFS), и наоборот - манипулирование Linux ACL не изменяют списки ACL NTFS.

Кодез

[global]
   vfs objects = acl_xattr
   map acl inherit = Yes
   store dos attributes = Yes

Дальнейшее чтение

https://wiki.samba.org/index.php/Shares_with_Windows_ACLs