Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
samba_ad [2014/03/20 16:37] metallic [Настройка] |
samba_ad [2023/10/02 16:40] (текущий) metallic [Настройка] |
||
---|---|---|---|
Строка 3: | Строка 3: | ||
===== Введение ===== | ===== Введение ===== | ||
- | Задача: | + | Задача: |
Имеем: домен domain.local, | Имеем: домен domain.local, | ||
Строка 22: | Строка 22: | ||
Также обязательно надо синхронизировать время между DC и файловым сервером, | Также обязательно надо синхронизировать время между DC и файловым сервером, | ||
- | 3. На файловом стервере ставим все необходимо ПО: | + | 3. На файловом сервере ставим все необходимо ПО. |
+ | Debian 8: | ||
- | # apt-get install samba winbind krb5-user | + | # apt-get install samba winbind krb5-user |
+ | |||
+ | Centos 7: | ||
+ | |||
+ | # yum install samba samba-winbind krb5-workstation samba-winbind-clients | ||
| | ||
4. Редактируем / | 4. Редактируем / | ||
Строка 34: | Строка 39: | ||
| | ||
[realms] | [realms] | ||
- | | + | |
kdc = dc1.domail.local | kdc = dc1.domail.local | ||
kdc = dc2.domail.local | kdc = dc2.domail.local | ||
Строка 104: | Строка 109: | ||
6. Подключаемся к домену: | 6. Подключаемся к домену: | ||
- | # net ads join -U admin | + | # net ads join -U admin --no-dns-updates |
Enter admin' | Enter admin' | ||
Using short domain name -- DOMAIN | Using short domain name -- DOMAIN | ||
Joined ' | Joined ' | ||
- | No DNS domain configured for fileserver. Unable to perform DNS Update. | ||
- | DNS update failed! | ||
- | На ругань | + | Опция --no-dns-updates говорит |
7. Теперь чтобы система использовала winbind для поиска пользователей и групп редактируем / | 7. Теперь чтобы система использовала winbind для поиска пользователей и групп редактируем / | ||
Строка 131: | Строка 134: | ||
Тут всего лишь добавлено ключевое слово winbind в поля passwd и group. | Тут всего лишь добавлено ключевое слово winbind в поля passwd и group. | ||
- | Вот и все. Теперь еще раз на всякий случай перезапускаемся: | + | Вот и все. Теперь еще раз на всякий случай перезапускаемся. |
+ | |||
+ | Debian 8: | ||
# service samba restart | # service samba restart | ||
[ ok ] Stopping Samba daemons: nmbd smbd. | [ ok ] Stopping Samba daemons: nmbd smbd. | ||
Строка 140: | Строка 145: | ||
[ ok ] Stopping the Winbind daemon: winbind. | [ ok ] Stopping the Winbind daemon: winbind. | ||
[ ok ] Starting the Winbind daemon: winbind. | [ ok ] Starting the Winbind daemon: winbind. | ||
+ | |||
+ | Centos 7: | ||
+ | # systemctl enable smb | ||
+ | # systemctl enable winbind | ||
+ | # systemctl restart smb | ||
+ | # systemctl restart winbind | ||
И тестируем: | И тестируем: | ||
Строка 167: | Строка 178: | ||
администраторы домена | администраторы домена | ||
... | ... | ||
+ | |||
+ | # net ads testjoin | ||
+ | Join is OK | ||
+ | |||
+ | # net ads info | ||
+ | LDAP server: X.X.X.X | ||
+ | LDAP server name: DC1.domain.org | ||
+ | Realm: DOMAIN.ORG | ||
+ | Bind Path: dc=DOMAIN, | ||
+ | LDAP port: 389 | ||
+ | Server time: Птн, 17 Июл 2015 18:29:53 MSK | ||
+ | KDC server: X.X.X.X | ||
+ | Server time offset: -32 | ||
+ | |||
+ | |||
Если все ОК, система видит доменных пользователей и группы, | Если все ОК, система видит доменных пользователей и группы, | ||
Строка 197: | Строка 223: | ||
В случае каких либо глюков, | В случае каких либо глюков, | ||
+ | net cache flush | ||
rm / | rm / | ||
Но в этом случае возможно придется заново перенастраивать права доступа к файловой системе, | Но в этом случае возможно придется заново перенастраивать права доступа к файловой системе, | ||
</ | </ | ||
+ | |||
+ | <note tip> | ||
+ | Если запустить winbind с ключем -n, то он не будет кешировать результаты запросов к AD. | ||
+ | |||
+ | В debian редактируем файл / | ||
+ | WINBINDD_OPTS=" | ||
+ | |||
+ | В redhat редактируем файл / | ||
+ | WINBINDOPTIONS=" | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | Для сопоставления доменных идентификаторов пользователей локальным удобно использовать вместо бакенда tdb(локальная база данных) бакэнд rid, в таком случае они будут вычисляться на лету исходя из доменного SID пользователя(последних цифр) и будут всегда одинаковыми на всех серверах(при неизменности конфигурации). Пример конфигурации: | ||
+ | |||
+ | idmap config DOMAIN : base_rid = 0 | ||
+ | idmap config DOMAIN : range = 2000-999999 | ||
+ | idmap config DOMAIN : backend = rid | ||
+ | idmap config DOMAIN : default = yes | ||
+ | idmap config * : range = 1300000-1999999 | ||
+ | idmap config DOMAIN : backend = rid | ||
+ | | ||
+ | Локальный ID пользователя будет вычисляться по формуле: | ||
+ | ID = RID - BASE_RID + LOW_RANGE_ID | ||
+ | где | ||
+ | RID - последние цифры SID пользователя домена, | ||
+ | BASE_RID - это конфигурируемый параметр, | ||
+ | LOW_RANGE_ID - это нижняя граница диапазона, | ||
+ | И таким образом ID встроенного админа при такой конфигурации будет рассчитан так: 500 - 0 + 2000 = 2500 и это значение будет неизменным для всех серверов при условии, | ||
+ | |||
+ | Чтобы идентификаторы пользователей точно соответствовал доменным, | ||
+ | ... | ||
+ | idmap config DOMAIN : base_rid = 100 | ||
+ | idmap config DOMAIN : range = 100-999999 | ||
+ | ... | ||
+ | Но в этом случае они могут пересекаться с локальными. | ||
+ | | ||
+ | Дополнительная информация по [[https:// | ||
+ | </ | ||
+ | |||
+ | ===== Команды диагностики ===== | ||
+ | |||
+ | # id renderman | ||
+ | uid=503(renderman) gid=500(domain users) группы=500(domain users), | ||
+ | | ||
+ | # wbinfo --user-groups=renderman | ||
+ | 500 | ||
+ | 517 | ||
+ | 596 | ||
+ | 678 | ||
+ | 519 | ||
+ | 505 | ||
+ | 522 | ||
+ | 535 | ||
+ | 672 | ||
+ | 510 | ||
+ | | ||
+ | # wbinfo --name-to-sid=renderman | ||
+ | S-1-5-21-1421388833-3017584253-2885461630-3113 SID_USER (1) | ||
+ | | ||
+ | # wbinfo --ping-dc | ||
+ | checking the NETLOGON dc connection succeeded | ||
+ | | ||
+ | # wbinfo --user-info=renderman | ||
+ | renderman: | ||
+ | | ||
+ | # groups renderman | ||
+ | renderman : domain users kopir_users sw_all sw_render render_farm artoon_all artoon_compos artoon_cache groups: невозможно определить имя группы для ID 672 | ||
+ | 672 BUILTIN\users | ||