[samba] Samba 4.6.15, доменные пользователи и группы, posix acl
Москаленко Алексей Владимирович
mav на elserv.msk.su
Чт Авг 9 11:22:47 MSK 2018
Evgeny Sinelnikov писал 08.08.2018 20:12:
> интересный момент, похоже он уже обсуждался:
> https://lists.samba.org/archive/samba/2017-May/208599.html
>
> опцию unix_primary_group = yes предполагаю я:
> https://wiki.samba.org/index.php/Samba_4.6_Features_added/changed#winbind_changes
Спасибо, но похоже, не оно. Из описания по второй ссылке, насколько я
понял, эта опция указывает, откуда именно брать gid primary-группы - по
алгоритмам winbind/ответу DC или из атрибута AD.
В моем случае Primary Group правильная - Domain Users. Не понимаю,
откуда берется дополнительная несуществующая группа с GID=UID и
именем=имя пользователя. Может, из-за этого и с ACL непонятки...
PS на всякий случай - опцию unix_primary_group попробовал в вариантах
yes/no - ничего не меняется.
> 6 августа 2018 г., 12:56 пользователь Москаленко Алексей Владимирович
> написал:
>> Здравствуйте.
>>
>> Столкнулся с непонятным мне поведением winbind в samba 4.6.15(p8) в
>> части
>> использования доменных пользователей и групп в nss.
>>
>> Есть домен на samba (nt4-style). Есть член этого домена на P8 (samba
>> 4.6.15). На нем настроен idmap backend rid. Конфиг члена домена:
>> [global]
>> dos charset = CP866
>> server string = Server (ver. %v)
>> workgroup = DOMAIN
>> local master = No
>> os level = 200
>> preferred master = No
>> log file = /var/log/samba/log.%m
>> max log size = 50
>> load printers = No
>> printcap name = /dev/null
>> client ipc signing = if_required
>> client signing = if_required
>> security = DOMAIN
>> server signing = if_required
>> template homedir = /dev/null
>> template shell = /dev/null
>> winbind sealed pipes = No
>> wins server = 192.168.0.1
>> idmap config domain : range = 1000000 - 1999999
>> idmap config domain : backend = rid
>> idmap config * : range = 100000 - 199999
>> dbwrap_tdb_mutexes:* = yes
>> idmap config * : backend = tdb
>> map archive = No
>> map readonly = no
>> store dos attributes = Yes
>> printing = lprng
>> map acl inherit = Yes
>> inherit acls = Yes
>> use sendfile = Yes
>> vfs objects = acl_xattr streams_xattr
>>
>> В домене заведен пользователь test.tt, входящий в одну глобальную
>> группу -
>> Domain users. Все описанное ниже происходит на члене домена.
>>
>> Первая странность - в группы любого пользователя добавляется также и
>> группа
>> с его именем. Пример:
>> # id domain\\test.tt
>> uid=1041378(DOMAIN\test.tt) gid=1000513(DOMAIN\domain users)
>> группы=1041378(DOMAIN\test.tt),1000513(DOMAIN\domain
>> users),10001(BUILTIN\users)
>> # wbinfo -G 1041378
>> S-1-5-21-DOMAIN_SID-41378
>> # wbinfo -U 1041378
>> S-1-5-21-DOMAIN_SID-41378
>> # wbinfo --user-groups=domain\\test.tt
>> 1041378
>> 1000513
>> 10001
>> # for gid in $(wbinfo --user-groups=domain\\test.tt); do wbinfo -s
>> $(wbinfo
>> -G $gid); done
>> DOMAIN\test.tt 1
>> DOMAIN\Domain Users 2
>> BUILTIN\Users 4
>> Вопрос - что за группа DOMAIN\test.tt с GID 1041378? В домене ее нет,
>> а на
>> члене домена для любого доменного пользователя есть соответствующая
>> группа с
>> таким же именем, GID=UID и одинаковыми SID. Для чего это сделано и
>> нельзя ли
>> это как-нибудь отключить?
>>
>> Вторая странность - при создании файлов/каталогов на общем ресурсе,
>> для них
>> выставляются непонятные мне POSIX ACLs:
>> # getfacl test
>> # file: test
>> # owner: DOMAIN\\test.tt
>> # group: DOMAIN\\domain\040users
>> user::rwx
>> user:1000513:r-x
>> group::r-x
>> group:DOMAIN\\domain\040users:r-x
>> group:DOMAIN\\test.tt:rwx
>> mask::rwx
>> other::r-x
>> default:user::rwx
>> default:user:DOMAIN\\test.tt:rwx
>> default:group::r-x
>> default:group:DOMAIN\\domain\040users:r-x
>> default:mask::rwx
>> default:other::r-x
>>
>> # getfacl test/q.txt
>> # file: test/q.txt
>> # owner: DOMAIN\\test.tt
>> # group: DOMAIN\\domain\040users
>> user::rwx
>> user:1000513:r-x
>> group::r-x
>> group:DOMAIN\\domain\040users:r-x
>> group:DOMAIN\\test.tt:rwx
>> mask::rwx
>> other::r-x
>>
>> Появляется запись ACL пользователя для UID=1000513 (на самом деле это
>> GID
>> для группы DOMAIN\domain users) и запись ACL группы для GID=1041378 (а
>> это
>> UID для пользователя DOMAIN\test.tt, который из-за странности (1)
>> отображается в несуществующую группу DOMAIN\test.tt). Пользователя с
>> UID=1000513 не существует, поэтому он показывается номером.
>>
>> Собственно, хочется понять корни такого поведения, чтобы принять
>> решение,
>> что с этим делать дальше.
Подробная информация о списке рассылки Samba