Различия
Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
wiki:руководство_по_ubuntu_server:авторизация_по_сети:samba_and_ldap [2012/06/12 20:46] |
wiki:руководство_по_ubuntu_server:авторизация_по_сети:samba_and_ldap [2013/02/08 11:27] (текущий) [Настройка LDAP] |
||
---|---|---|---|
Строка 25: | Строка 25: | ||
- Добавить объекты | - Добавить объекты | ||
- | Схема Samba | + | ===Схема Samba=== |
- | ---- | + | |
Для того чтобы OpenLDAP использовался как дополнение к Samba, теоретически в дереве (DIT) должны присутствовать атрибуты которые корректно описывают данные Samba. Такие атрибуты могут быть получены путем введения схемы Samba в LDAP. Сейчас мы это сделаем. | Для того чтобы OpenLDAP использовался как дополнение к Samba, теоретически в дереве (DIT) должны присутствовать атрибуты которые корректно описывают данные Samba. Такие атрибуты могут быть получены путем введения схемы Samba в LDAP. Сейчас мы это сделаем. | ||
<note>Для более детальной информации о схемах и их установке смотри [[wiki:руководство_по_ubuntu_server:авторизация_по_сети/openldap_server#изменение_базы_данных_настройки_slapd|Изменение базы данных настройки slapd]].</note> | <note>Для более детальной информации о схемах и их установке смотри [[wiki:руководство_по_ubuntu_server:авторизация_по_сети/openldap_server#изменение_базы_данных_настройки_slapd|Изменение базы данных настройки slapd]].</note> | ||
| | ||
- | 1. Такая схема может быть найдена в установленном вами пакете samba-doc. Этот файл нужно скопировать и разархивировать в директорию ///etc/ldap/schema// следующим образом: | + | 1. Такая схема находится в свежеустановленном вами пакете samba-doc. Ее требуется скопировать и разархивировать в директорию ///etc/ldap/schema// следующим образом: |
| | ||
<code>sudo cp /usr/share/doc/samba-doc/examples/LDAP/samba.schema.gz /etc/ldap/schema | <code>sudo cp /usr/share/doc/samba-doc/examples/LDAP/samba.schema.gz /etc/ldap/schema | ||
sudo gzip -d /etc/ldap/schema/samba.schema.gz</code> | sudo gzip -d /etc/ldap/schema/samba.schema.gz</code> | ||
- | 2. Найти файл конфигурации schema_convert.conf, который должен содержать следующие строки: | + | 2. Получаем файл конфигурации schema_convert.conf, который должен содержать следующие строки: |
<code> | <code> | ||
include /etc/ldap/schema/core.schema | include /etc/ldap/schema/core.schema | ||
Строка 55: | Строка 55: | ||
</code> | </code> | ||
- | 3. Оставить директорию ldif_output исходящей. | + | 3. Оставляем каталог ldif_output для вывода. |
- | 4. Определить индекс для схемы: | + | 4. Определяем индекс для схемы: |
<code>slapcat -f schema_convert.conf -F ldif_output -n 0 | grep samba,cn=schema | <code>slapcat -f schema_convert.conf -F ldif_output -n 0 | grep samba,cn=schema | ||
dn: cn={14}samba,cn=schema,cn=config</code> | dn: cn={14}samba,cn=schema,cn=config</code> | ||
- | 5. Конвертировать схему в формат LDIF: | + | 5. Конвертируем схему в формат LDIF: |
+ | <code>slapcat -f schema_convert.conf -F ldif_output -n0 -H \ | ||
+ | ldap:///cn={14}samba,cn=schema,cn=config -l cn=samba.ldif</code> | ||
+ | |||
+ | 6. Редактируем созданный файл cn=samba.ldif, удаляя индексную информацию, по достижению: | ||
<code>dn: cn=samba,cn=schema,cn=config | <code>dn: cn=samba,cn=schema,cn=config | ||
... | ... | ||
cn: samba</code> | cn: samba</code> | ||
- | Удалив следующие строки: | + | удалите строки в конце: |
<code>structuralObjectClass: olcSchemaConfig | <code>structuralObjectClass: olcSchemaConfig | ||
entryUUID: b53b75ca-083f-102d-9fff-2f64fd123c95 | entryUUID: b53b75ca-083f-102d-9fff-2f64fd123c95 | ||
Строка 75: | Строка 79: | ||
modifyTimestamp: 20080827045234Z</code> | modifyTimestamp: 20080827045234Z</code> | ||
- | //Внимание: данные могут незначительно отличаться!// | + | //Внимание: Ваши данные могут отличаться!// |
- | 7. Добавить новую схему: | + | 7. Добавляем новую схему: |
<code>sudo ldapadd -Q -Y EXTERNAL -H ldapi:/// -f cn\=samba.ldif</code> | <code>sudo ldapadd -Q -Y EXTERNAL -H ldapi:/// -f cn\=samba.ldif</code> | ||
Строка 83: | Строка 87: | ||
<code>sudo ldapsearch -Q -LLL -Y EXTERNAL -H ldapi:/// -b cn=schema,cn=config 'cn=*samba*'</code> | <code>sudo ldapsearch -Q -LLL -Y EXTERNAL -H ldapi:/// -b cn=schema,cn=config 'cn=*samba*'</code> | ||
- | Индексы Samba | + | ===Индексы Samba=== |
- | ---- | + | |
Теперь, когда slapd знает о атрибутах Samba, мы можем создать несколько индексов на их основе. Индексация записей является способом повышения производительности, когда клиент осуществляет выборочный поиск в дереве (DIT). | Теперь, когда slapd знает о атрибутах Samba, мы можем создать несколько индексов на их основе. Индексация записей является способом повышения производительности, когда клиент осуществляет выборочный поиск в дереве (DIT). | ||
Строка 120: | Строка 124: | ||
<code>sudo smbldap-populate</code> | <code>sudo smbldap-populate</code> | ||
- | Вы можете создать файл LDIF содержащий новые обьекты Samba выполнив //sudo smbldap-populate -e samba.ldif//. Это позволит просматривать изменения, убедившись, что все работает правильно. Если это так, перезапустите скрипт без опции '-e'. Либо вы можете взять файл LDIF и импортировать его данные в обычном режиме. | + | Вы можете создать файл LDIF содержащий новые объекты Samba выполнив //sudo smbldap-populate -e samba.ldif//. Это позволит просматривать изменения, убедившись, что все работает правильно. Если это так, перезапустите скрипт без опции '-e'. Либо вы можете взять файл LDIF и импортировать его данные в обычном режиме. |
Сейчас ваша директория LDAP имеет всю необходимую информацию для авторизации пользователей Samba. | Сейчас ваша директория LDAP имеет всю необходимую информацию для авторизации пользователей Samba. | ||
Строка 164: | Строка 168: | ||
<code>sudo smbldap-useradd -a -P username</code> | <code>sudo smbldap-useradd -a -P username</code> | ||
- | Опция '-a' добавляет атрибут Samba, а опция '-P' вызывает утилиту //smbldap-passwd//, после того как пользователь создан, позволяя создать новый пароль для пользователя. | + | Опция '-a' добавляет атрибут Samba, а опция '-P' вызывает утилиту //smbldap-passwd//, после того как пользователь создан, позволяя создать новый пароль для этого пользователя. |
2. Удаление пользователя: | 2. Удаление пользователя: | ||
<code>sudo smbldap-userdel username</code> | <code>sudo smbldap-userdel username</code> | ||
- | В этой команде также сожно использовать опцию '-r' для удаления домашней директории пользователя. | + | В этой команде также можно использовать опцию '-r' для удаления домашней директории пользователя. |
3. Добавление группы: | 3. Добавление группы: | ||
<code>sudo smbldap-groupadd -a groupname</code> | <code>sudo smbldap-groupadd -a groupname</code> | ||
- | В smbldap-useradd опция '-a' добавляет атрибуты Samba. | + | В **smbldap-useradd** опция '-a' добавляет атрибуты Samba. |
+ | |||
+ | 4. Сделать существующего пользователя членом группы: | ||
+ | <code>sudo smbldap-groupmod -m username groupname</code> | ||
+ | Опция -m может добавлять более одного пользователя за раз, если использовать список, разделенный запятыми. | ||
+ | |||
+ | 5. Удаление пользователя из группы: | ||
+ | <code>sudo smbldap-groupmod -x username groupname</code> | ||
+ | |||
+ | 6. Добавить в Samba учетную запись компьютера: | ||
+ | <code>sudo smbldap-useradd -t 0 -w username</code> | ||
+ | Замените **username** на имя рабочей станции. Опция **-t 0** создает учетную запись без задержки, в то время как опция **-w** определяет пользователя как учетную запись компьютера. Также обратите внимание, что параметр **add machine script** в /etc/samba/smb.conf изменен чтобы использовался **smbldap-useradd**. | ||
+ | |||
+ | Существуют утилиты в пакете **smbldap-tools**, которые тут не рассматривались. Здесь полный список: | ||
+ | |||
+ | [[http://manpages.ubuntu.com/manpages/en/man8/smbldap-groupadd.8.html|smbldap-groupadd]] \\ | ||
+ | [[http://manpages.ubuntu.com/manpages/en/man8/smbldap-groupdel.8.html|smbldap-groupdel]] \\ | ||
+ | [[http://manpages.ubuntu.com/manpages/en/man8/smbldap-groupmod.8.html|smbldap-groupmod]] \\ | ||
+ | [[http://manpages.ubuntu.com/manpages/en/man8/smbldap-groupshow.8.html|smbldap-groupshow]] \\ | ||
+ | [[http://manpages.ubuntu.com/manpages/en/man8/smbldap-passwd.8.html|smbldap-passwd]] \\ | ||
+ | [[http://manpages.ubuntu.com/manpages/en/man8/smbldap-populate.8.html|smbldap-populate]] \\ | ||
+ | [[http://manpages.ubuntu.com/manpages/en/man8/smbldap-useradd.8.html|smbldap-useradd]] \\ | ||
+ | [[http://manpages.ubuntu.com/manpages/en/man8/smbldap-userdel.8.html|smbldap-userdel]] \\ | ||
+ | [[http://manpages.ubuntu.com/manpages/en/man8/smbldap-userinfo.8.html|smbldap-userinfo]] \\ | ||
+ | [[http://manpages.ubuntu.com/manpages/en/man8/smbldap-userlist.8.html|smbldap-userlist]] \\ | ||
+ | [[http://manpages.ubuntu.com/manpages/en/man8/smbldap-usermod.8.html|smbldap-usermod]] \\ | ||
+ | [[http://manpages.ubuntu.com/manpages/en/man8/smbldap-usershow.8.html|smbldap-usershow]] | ||
+ | |||
+ | ====Ссылки==== | ||
+ | |||
+ | -- Для дополнительной информации по установке и настройке Samba смотрите раздел [[wiki:руководство_по_ubuntu_server:сеть_windows|Настройка сети Windows]]. | ||
+ | -- Существует много мест где документированы LDAP и Samba по возрастанию сложности [[http://samba.org/samba/docs/man/Samba-HOWTO-Collection/|Samba HOWTO Collection]]. | ||
+ | -- Относительно предыдущей ссылки, смотрите отдельно [[http://samba.org/samba/docs/man/Samba-HOWTO-Collection/passdb.html|секцию passdb]] | ||
+ | -- Также устаревшее (2007) [[http://download.gna.org/smbldap-tools/docs/samba-ldap-howto/|Linux Samba-OpenLDAP HOWTO]], содержит важные заметки. | ||
+ | -- Основная страница [[https://help.ubuntu.com/community/Samba#samba-ldap|документации сообщества Ubuntu по Samba]] содержит множество ссылок на статьи, которые могут оказаться полезными. | ||
+ | |||
+ | ---- | ||
+ | |||
+ | <style float-right> | ||
+ | [[wiki:руководство_по_ubuntu_server:авторизация_по_сети:openldap_server|<-назад]] | | ||
+ | [[wiki:руководство_по_ubuntu_server:авторизация_по_сети:kerberos|далее->]]</style> |