У нас есть ActiveDirectory, откуда мы получаем наших пользователей. Таким образом, аутентификация на Linux-машине работает через pam.
Нам удалось эту часть работать до сих пор, но нам нужно, чтобы все пользователи были частью локальной группы «пользователи». Насколько я понимаю, это работает с групповым отображением.
Мои идентификаторы безопасности:
SID for local machine MYSERVER is: S-1-5-21-1487948860-3705201071-3703638889
SID for domain MYDOMAIN is: S-1-5-21-1960408961-115176313-682003330
Я создал групповое сопоставление с:
myserver:~# net groupmap add ntgroup="Domain Users" rid=513 unixgroup=users
Групповое отображение выглядит так:
myserver:~# net groupmap list -v
Domain Users
SID : S-1-5-21-1487948860-3705201071-3703638889-513
Unix gid : 100
Unix group: users
Group type: Domain Group
Comment : Domain Unix group
Administrators
SID : S-1-5-32-544
Unix gid : 10029
Unix group: BUILTIN\administrators
Group type: Local Group
Comment :
Users
SID : S-1-5-32-545
Unix gid : 12929
Unix group: BUILTIN\users
Group type: Local Group
Comment :
Но когда я вхожу в систему как пользователь AD, я не вхожу в группу пользователей. Все группы AD отображаются правильно, а также отображаются группы "BUILTIN \ users" и "BUILTIN \ administrator", но нет группы "users"
Я тоже пробовал
myserver:~# net groupmap delete ntgroup="Domain Users"
myserver:~# net groupmap delete ntgroup="Users"
myserver:~# net groupmap add ntgroup="Users" rid=545 unixgroup=users
Но это, похоже, не имеет никакого эффекта (перезапуск smbd, перезапуск winbindd выполнен). Пользователь по-прежнему находится в группе "BUILTIN \ users" и не имеет записи для "users"
Я думаю, что пропустил какой-то важный этап настройки, но не знаю, что это может быть. Любая помощь высоко ценится!
Мы используем самбу версии 3.6.3 на ядре SLES 11 3.0.76
== РЕДАКТИРОВАТЬ == 07.04.2016 15:34
Я попытался отобразить две нестандартные группы. Группа AD - это grp_production, локальная группа linux - это игры.
myserver:~# net groupmap add ntgroup="grp_production" rid=20443 unixgroup=games
Результат
myserver:~# net groupmap list -v
..
grp_production (S-1-5-21-1960408961-115176313-682003330-20443) -> games
..
Затем я вхожу в систему как пользователь (член группы AD grp_production) на Linux-машине.
myserver:~# groups | grep games
Группы игр нет :-(
== РЕДАКТИРОВАТЬ 08.04.2016 07: 39 ==
Единственная ошибка, которую я обнаружил в журналах, была в /var/log/samba/log.winbindd-idmap
[2016/04/07 13:54:25.146170, 1] ../librpc/ndr/ndr.c:284(ndr_print_function_debug)
wbint_Sid2Gid: struct wbint_Sid2Gid
in: struct wbint_Sid2Gid
dom_name : NULL
sid : *
sid : S-1-5-21-1960408961-115176313-682003330-28693
[2016/04/07 13:54:25.146221, 10] winbindd/idmap_util.c:234(idmap_sid_to_gid)
idmap_sid_to_gid: sid = [S-1-5-21-1960408961-115176313-682003330-28693], domain = ''
[2016/04/07 13:54:25.146247, 10] winbindd/idmap.c:507(idmap_backends_sid_to_unixid)
idmap_backends_sid_to_unixid: domain = '', sid = [S-1-5-21-1960408961-115176313-682003330-28693]
[2016/04/07 13:54:25.146267, 10] winbindd/idmap.c:376(idmap_find_domain)
idmap_find_domain called for domain ''
[2016/04/07 13:54:25.146290, 1] winbindd/idmap.c:209(idmap_init_domain)
invalid range '100' specified for domain '*'
[2016/04/07 13:54:25.146308, 10] winbindd/idmap_util.c:260(idmap_sid_to_gid)
idmap_backends_sid_to_unixid failed: NT_STATUS_NONE_MAPPED
[2016/04/07 13:54:25.146330, 10] lib/gencache.c:183(gencache_set_data_blob)
Adding cache entry with key = IDMAP/SID2GID/S-1-5-21-1960408961-115176313-682003330-28693 and timeout = Thu Apr 7 13:56:25 2016
Я 'grep' все журналы для "игр" и "grp_production" безрезультатно.
Ваш net groupmap add
команда добавила префикс SID локальной машины к вашему RID, поэтому она фактически сопоставила группу «Пользователи домена» вашего локального компьютера, что не имеет смысла.
Либо скажи net
указывает, что ваш RID относится к домену, указав соответствующий type
вариант:
net groupmap add ntgroup="Domain Users" rid=513 type=domain unixgroup=users
или укажите полный SID:
net groupmap add ntgroup="Domain Users" sid=S-1-5-21-1960408961-115176313-513 unixgroup=users
Возможно, вам сначала придется удалить ошибочное сопоставление.
Они хорошо знают sid для встроенных групп, но я думаю, что их можно компенсировать, если есть доверие домена, то есть там, где есть 2 или более BUILTIN / пользователей
можете ли вы проверить sid для группы AD в Powershell
Get-ADGroup -Identity users | select sid
посмотрите, есть ли проблемы с перечислением пользователей на сервере Samba
net usersidlist
еще один момент - группа пользователей уже связана с чем-то?
net groupmap list
если группа уже сопоставлена с чем-то, тогда вы не передаете значение rid, rid используется для «добавления» группы, отбрасывайте избавление, если вы просто «изменяете»
net groupmap modify ntgroup='Domain Users' unixgroup='users'