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

Может ли Samba4 создавать файлы с GID, отличным от «Primary Group» AD?

У меня Windows 2012 R2 AD. Все пользователи являются членами группы «пользователи домена», а затем каждый пользователь также является членом другой группы, в зависимости от отдела. Все пользователи имеют "пользователей домена" в качестве "основной группы" в AD. Это выглядит примерно так:

uid=40001(user1) gid=123456(domain users) groups=123456(domain users),50001(dep1),301(BUILTIN\users)
uid=40002(user2) gid=123456(domain users) groups=123456(domain users),50002(dep2),301(BUILTIN\users)
uid=40003(user3) gid=123456(domain users) groups=123456(domain users),50002(dep2),301(BUILTIN\users)

Теперь на общей папке Samba их домашние каталоги должны принадлежать пользователю: dep. Я создаю каталоги, выбираю соответствующую группу и устанавливаю guid как липкий:

drwxrws---+ 4 user1   dep2 41 Jan 13 17:30 user1
drwxrws---+ 3 user2   dep2 22 Jan 13 17:30 user2
drwxrws---+ 3 user3   dep2 22 Jan 13 17:30 user3

в /etc/samba/smb.conf я настроил домашние каталоги следующим образом:

[homes]
        comment = Home Directories
        browseable = no
        writable = yes
        directory mask=2770
        force directory mode=2770
        create mask=2770
        force create mode=2770
        force security mode=2770
        force directory security mode=2770

Но всякий раз, когда я монтирую общий ресурс в Windows и создаю внутри файл или каталог, он будет принадлежать группе по умолчанию:

-rwxrwx---+ 1 user1   domain users  0 Jan 14 13:16 Test.txt

Как я могу заставить samba использовать группы depX для новых файлов и каталогов?

IRL не имеет значения, какой группе принадлежат файлы в личной папке пользователя: ни у кого не должно быть возможности смонтировать их, кроме пользователя-владельца. Вот моя конфигурация для "домашнего" ресурса:

[homes]
    comment = %S: personal folder
    valid users = @MYDOMAIN\my-subdomain-users
    read only = No
    browseable = No
    browsable = No
#    root preexec = /usr/local/sbin/mkhomedir.sh %D %S
    volume = %U-%S
    vfs objects = recycle:keeptree=yes
    create mask = 700
    directory mask = 700
    path = /home/%D/%U

Обратите внимание на маски: я запрещаю любой доступ к файлам и папкам для всех пользователей и групп, кроме владельца (700). Вы наоборот РАЗРЕШАЕТЕ полный доступ для группы. Тебе это действительно нужно? личный папки?

PS. Что касается прокомментированного "root preexec": старые SAMBA (до 4) не могли автоматически создавать домашние каталоги и нуждались в таком "медицинском костыле". Также обратите внимание на путь: я создал символическую ссылку для своего поддомена (я не позволю использовать этот общий ресурс для пользователей из других поддоменов): / home / MYDOMAIN -> / var / samba / homes / MYDOMAIN, а самба создает подкаталоги пользователей внутри пути указано:% D заменено на MYDOMAIN, а% U - на имя пользователя для входа.