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:23] 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 41: Line 41:
 ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/samba.ldif ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/ldap/schema/samba.ldif
 </code> </code>
 +
 +На данный момент сервер OpenLDAP имеет все необходимые классы для работы с учетными записями Samba+Posix. Давайте посмотрим что получилось.
 +<code>
 +ldapsearch -Y EXTERNAL -H ldapi:/// -b cn=config '(objectCLass=*)' dn
 +</code>
 +
 +Добавим в конфигурацию модуль HDB который будет использоваться для хранения данных
 +<code>
 +cat <<EOCONFIG > /tmp/mod_hdb.ldif
 +# Load dynamic backend modules if it is not already there
 +dn: cn=module,cn=config
 +objectClass: olcModuleList
 +cn: module
 +olcModulepath: /usr/lib/ldap
 +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
 +dn: olcDatabase=hdb,cn=config
 +objectClass: olcDatabaseConfig
 +objectClass: olcHdbConfig
 +olcDatabase: {1}hdb
 +olcSuffix: dc=${L2},dc=${L1}
 +olcDbDirectory: /var/lib/ldap
 +olcRootDN: cn=admin,dc=${L2},dc=${L1}
 +olcRootPW: ${PASSWORD}
 +olcDbConfig: set_cachesize 0 2097152 0
 +olcDbConfig: set_lk_max_objects 1500
 +olcDbConfig: set_lk_max_locks 1500
 +olcDbConfig: set_lk_max_lockers 1500
 +olcDbIndex: objectClass eq
 +olcDbIndex: uidNumber eq
 +olcDbIndex: gidNumber eq
 +olcDbIndex: loginShell eq
 +olcDbIndex: uid eq,pres,sub
 +olcDbIndex: memberUid eq,pres,sub
 +olcDbIndex: uniqueMember eq,pres
 +olcDbIndex: sambaSID eq
 +olcDbIndex: sambaPrimaryGroupSID eq
 +olcDbIndex: sambaGroupType eq
 +olcDbIndex: sambaSIDList eq
 +olcDbIndex: sambaDomainName eq
 +olcDbIndex: default sub
 +olcLastMod: TRUE
 +olcDbCheckpoint: 512 30
 +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=${L2},dc=${L1}" 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
 +olcAccess: to attrs=shadowLastChange by self write by * read
 +olcAccess: to dn.base="" by * read
 +olcAccess: to * by dn="cn=admin,dc=${L2},dc=${L1}" write by * read
 +
 +EOCONFIG
 +</code>
 +
 +Загрузим конфигурацию нашей базы на сервер 
 +<code>
 +ldapadd -Y EXTERNAL -H ldapi:/// -f /tmp/${L2}.${L1}.ldif
 +</code>
 +
 +Итак мы установили полноценный сервер OpenLDAP, который готов хранить в себе учетные записи Samba PDC и все необходимые служебные данные для работы с контроллером домена Windows (tm)
  
lucid1004/smb/openldap.1280777035.txt.gz · Last modified: (external edit)