User Tools

Site Tools


lucid1004:smb:openldap

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
lucid1004:smb:openldap [2010/08/02 19:35] svschwartzlucid1004:smb:openldap [2010/08/02 20:10] (current) svschwartz
Line 10: Line 10:
 zcat /usr/share/doc/samba-doc/examples/LDAP/samba.schema.gz > /etc/ldap/schema/samba.schema zcat /usr/share/doc/samba-doc/examples/LDAP/samba.schema.gz > /etc/ldap/schema/samba.schema
  
-cat <<EOFLIST > /tmp/schema_convert.conf+cat <<EOCONFIG > /tmp/schema_convert.conf
 include         /etc/ldap/schema/core.schema include         /etc/ldap/schema/core.schema
 include         /etc/ldap/schema/cosine.schema include         /etc/ldap/schema/cosine.schema
 include         /etc/ldap/schema/inetorgperson.schema include         /etc/ldap/schema/inetorgperson.schema
 include         /etc/ldap/schema/samba.schema include         /etc/ldap/schema/samba.schema
-EOFLIST+EOCONFIG
  
 # prepare # prepare
Line 44: Line 44:
 На данный момент сервер OpenLDAP имеет все необходимые классы для работы с учетными записями Samba+Posix. Давайте посмотрим что получилось. На данный момент сервер OpenLDAP имеет все необходимые классы для работы с учетными записями Samba+Posix. Давайте посмотрим что получилось.
 <code> <code>
-ldapsearch -Y EXTERNAL -H ldapi:/// -b cn=config '(objectCLass=olcDatabaseConfig)' dn+ldapsearch -Y EXTERNAL -H ldapi:/// -b cn=config '(objectCLass=*)' dn
 </code> </code>
  
-Создадим файл конфигурации нашей базы **example.com.ldif**+Добавим в конфигурацию модуль HDB который будет использоваться для хранения данных
 <code> <code>
 +cat <<EOCONFIG > /tmp/mod_hdb.ldif
 # Load dynamic backend modules if it is not already there # Load dynamic backend modules if it is not already there
 dn: cn=module,cn=config dn: cn=module,cn=config
Line 55: Line 56:
 olcModulepath: /usr/lib/ldap olcModulepath: /usr/lib/ldap
 olcModuleload: back_hdb olcModuleload: back_hdb
 +EOCONFIG
  
 +ldapadd -Y EXTERNAL -H ldapi:/// -f /tmp/mod_hdb.ldif
 +</code>
 +
 +
 +Создадим файл конфигурации нашей базы **example.com.ldif**
 +<code>
 +PASSWORD=secret
 +# не забудьте сгенерировать хеш пароля с помощью утилиты slappasswd
 +L1=com
 +L2=example
 +
 +cat <<EOCONFIG > /tmp/${L2}.${L1}.ldif
 # Database settings # Database settings
 dn: olcDatabase=hdb,cn=config dn: olcDatabase=hdb,cn=config
Line 61: Line 75:
 objectClass: olcHdbConfig objectClass: olcHdbConfig
 olcDatabase: {1}hdb olcDatabase: {1}hdb
-olcSuffix: dc=example,dc=com+olcSuffix: dc=${L2},dc=${L1}
 olcDbDirectory: /var/lib/ldap olcDbDirectory: /var/lib/ldap
-olcRootDN: cn=admin,dc=example,dc=com +olcRootDN: cn=admin,dc=${L2},dc=${L1} 
-olcRootPW: secret+olcRootPW: ${PASSWORD}
 olcDbConfig: set_cachesize 0 2097152 0 olcDbConfig: set_cachesize 0 2097152 0
 olcDbConfig: set_lk_max_objects 1500 olcDbConfig: set_lk_max_objects 1500
Line 84: Line 98:
 olcLastMod: TRUE olcLastMod: TRUE
 olcDbCheckpoint: 512 30 olcDbCheckpoint: 512 30
-olcAccess: to attrs=userPassword by dn="cn=admin,dc=example,dc=com" write by anonymous auth by self write by * none +olcAccess: to attrs=userPassword by dn="cn=admin,dc=${L2},dc=${L1}" write by anonymous auth by self write by * none 
-olcAccess: to attrs=sambaLMPassword by dn="cn=admin,dc=example,dc=com" write by anonymous auth by self write by * none +olcAccess: to attrs=sambaLMPassword by dn="cn=admin,dc=${L2},dc=${L1}" write by anonymous auth by self write by * none 
-olcAccess: to attrs=sambaNTPassword by dn="cn=admin,dc=example,dc=com" write by anonymous auth by self write by * none +olcAccess: to attrs=sambaNTPassword by dn="cn=admin,dc=${L2},dc=${L1}" write by anonymous auth by self write by * none 
-oolcAccess: to attrs=shadowLastChange by self write by * read+olcAccess: to attrs=shadowLastChange by self write by * read
 olcAccess: to dn.base="" by * read olcAccess: to dn.base="" by * read
-olcAccess: to * by dn="cn=admin,dc=example,dc=com" write by * read+olcAccess: to * by dn="cn=admin,dc=${L2},dc=${L1}" write by * read 
 + 
 +EOCONFIG
 </code> </code>
-Пароль администратора можно зашифровать с помощью утилиты **slappasswd** 
  
 Загрузим конфигурацию нашей базы на сервер  Загрузим конфигурацию нашей базы на сервер 
 <code> <code>
-ldapadd -Y EXTERNAL -H ldapi:/// -f example.com.ldif+ldapadd -Y EXTERNAL -H ldapi:/// -f /tmp/${L2}.${L1}.ldif
 </code> </code>
 +
 +Итак мы установили полноценный сервер OpenLDAP, который готов хранить в себе учетные записи Samba PDC и все необходимые служебные данные для работы с контроллером домена Windows (tm)
 +
lucid1004/smb/openldap.1280777739.txt.gz · Last modified: (external edit)