[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