[Sysadmins] Samba 4.6.15, доменные пользователи и группы, posix acl

Москаленко Алексей Владимирович mav на elserv.msk.su
Пн Авг 6 11:56:45 MSK 2018


Здравствуйте.

Столкнулся с непонятным мне поведением 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=elserv\\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 не существует, поэтому он показывается номером.

Собственно, хочется понять корни такого поведения, чтобы принять 
решение, что с этим делать дальше.


Подробная информация о списке рассылки Sysadmins