User Tools

Site Tools


хранение_учетных_записей_unix_в_ldap

Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
хранение_учетных_записей_unix_в_ldap [2015/08/24 16:18]
val [Импорт данных про организацию]
хранение_учетных_записей_unix_в_ldap [2022/05/17 10:07]
val [Импорт данных о пользователях и группах]
Line 10: Line 10:
 ===== Импорт данных в каталог ===== ===== Импорт данных в каталог =====
  
-  * Common LDAP schemas ([[http://​oav.net/​mirrors/​LDAP-ObjectClasses.html]]) +==== Описание элементов схемы ====
-==== Импорт данных про организацию ​====+
  
-=== Ubuntu ===+  * [[http://​oav.net/​mirrors/​LDAP-ObjectClasses.html|Common LDAP schemas]]
  
-!!! В Ubuntu объект dc=corpX,dc=un создается автоматически ​при инсталляции ​!!!+==== Импорт данных ​про организацию и структуру ====
  
-=== FreeBSD ===+!!! Объект dc=corpX,dc=un создается автоматически при инсталляции из dcObject наследуется атрибут dc, из organization наследуется атрибут o
  
 <​code>​ <​code>​
 server# cat organization.ldif server# cat organization.ldif
 </​code><​code>​ </​code><​code>​
-dn: dc=corpX,​dc=un +#dn: dc=corpX,​dc=un 
-objectClass:​ dcObject +#objectClass:​ dcObject 
-objectClass:​ organization +#objectClass:​ organization 
-o: Corporation X +#o: Corporation X 
-dc: corpX +#dc: corpX
-</​code>​+
  
-Из dcObject наследуется атрибут ​dc +dn: ou=People,dc=corpX,​dc=un 
- +objectClass:​ organizationalUnit 
-Из organization наследуется атрибут o+ou: People
  
 +dn: ou=Group,​dc=corpX,​dc=un
 +objectClass:​ organizationalUnit
 +ou: Group
 +</​code>​
 <​code>​ <​code>​
 server# ldapadd -x -D "​cn=admin,​dc=corpX,​dc=un"​ -w secret -f organization.ldif server# ldapadd -x -D "​cn=admin,​dc=corpX,​dc=un"​ -w secret -f organization.ldif
-</​code>​ 
- 
-==== Импорт данных описывающих структуру организации ==== 
-<​code>​ 
-server# cat orgstructure.ldif 
-</​code><​code>​ 
-dn: ou=users,​dc=corpX,​dc=un 
-objectClass:​ organizationalUnit 
-ou: users 
- 
-dn: ou=groups,​dc=corpX,​dc=un 
-objectClass:​ organizationalUnit 
-ou: groups 
-</​code><​code>​ 
-server# ldapadd -x -D "​cn=admin,​dc=corpX,​dc=un"​ -w secret -f orgstructure.ldif 
 </​code>​ </​code>​
  
Line 59: Line 46:
 ==== Импорт данных о пользователях и группах ==== ==== Импорт данных о пользователях и группах ====
  
-[[http://​www.padl.com/​OSS/​MigrationTools.html]]+  * [[http://​www.padl.com/​OSS/​MigrationTools.html|MigrationTools]] 
 +  * [[https://​wiki.debian.org/​LDAP/​MigrationTools|Migrating /etc Flat File Databases to LDAP]] 
 +  * [[#​Использование migrationtools]]
  
 <​code>​ <​code>​
 server# cat passwdgroup.ldif server# cat passwdgroup.ldif
 </​code><​code>​ </​code><​code>​
-dn: cn=user1,​ou=groups,​dc=corpX,​dc=un+dn: cn=user1,​ou=Group,​dc=corpX,​dc=un
 objectClass:​ posixGroup objectClass:​ posixGroup
 cn: user1 cn: user1
 gidnumber: 10001 gidnumber: 10001
  
-dn: cn=user2,​ou=groups,​dc=corpX,​dc=un+dn: cn=user2,​ou=Group,​dc=corpX,​dc=un
 objectClass:​ posixGroup objectClass:​ posixGroup
 cn: user2 cn: user2
 gidnumber: 10002 gidnumber: 10002
  
-dn: uid=user1,​ou=users,​dc=corpX,​dc=un +dn: uid=user1,​ou=People,​dc=corpX,​dc=un 
-objectClass: ​account+objectClass: ​inetOrgPerson
 objectClass:​ posixAccount objectClass:​ posixAccount
 uid: user1 uid: user1
-cn: Ivanov Ivan Ivanovitch+sn: Ivanov 
 +cn: Ivan Ivanovitch ​Ivanov 
 +gecos: ​Ivan Ivanovitch ​Ivanov,​RA7,​401,​499-239-45-23 
 +uidNumber: 10001 
 +gidNumber: 10001
 loginshell: /bin/sh loginshell: /bin/sh
-uidnumber: 10001 +homeDirectory: /home/user1
-gidnumber: 10001 +
-homedirectory: /home/user1 +
-gecos: Ivanov Ivan Ivanovitch,​239,​45-67,​499-239-45-23+
 userpassword:​ * userpassword:​ *
 +#​userpassword:​ password1
  
-dn: uid=user2,​ou=users,​dc=corpX,​dc=un +dn: uid=user2,​ou=People,​dc=corpX,​dc=un 
-objectClass: ​account+objectClass: ​inetOrgPerson
 objectClass:​ posixAccount objectClass:​ posixAccount
 uid: user2 uid: user2
-cn: Petrov Petr Petrovitch +sn: Petrov 
-loginshell/bin/sh+cn: Petr Petrovitch ​Petrov 
 +gecosPetr Petrovitch Petrov,​RA7,​402,​499-323-55-53
 uidnumber: 10002 uidnumber: 10002
 gidnumber: 10002 gidnumber: 10002
 +loginshell: /bin/sh
 homedirectory:​ /home/user2 homedirectory:​ /home/user2
-gecos: Petrov Petr Petrovitch,​240,​45-68,​499-323-55-53 
 userpassword:​ * userpassword:​ *
 +#​userpassword:​ password2
  
-dn: cn=group1,​ou=groups,​dc=corpX,​dc=un+dn: cn=group1,​ou=Group,​dc=corpX,​dc=un
 cn: group1 cn: group1
 gidNumber: 15001 gidNumber: 15001
Line 117: Line 110:
 ==== Удаление информации из ldap каталога ==== ==== Удаление информации из ldap каталога ====
 <​code>​ <​code>​
-server# ldapdelete -x -D "​cn=admin,​dc=corpX,​dc=un"​ -w secret "​uid=user1,​ou=users,​dc=corpX,​dc=un"​+server# ldapdelete -x -D "​cn=admin,​dc=corpX,​dc=un"​ -w secret "​uid=user1,​ou=People,​dc=corpX,​dc=un"​
 </​code>​ </​code>​
  
 +==== Модификация информации в ldap каталоге =====
 +
 +==== Пример назначения номеров телефонов и адресов email ====
 +<​code>​
 +server:~# cat addmailphone.ldif
 +</​code><​code>​
 +dn: uid=user1,​ou=People,​dc=corpX,​dc=un
 +changetype: modify
 +add: telephoneNumber
 +telephoneNumber:​ 401
 +
 +dn: uid=user1,​ou=People,​dc=corpX,​dc=un
 +changetype: modify
 +add: mail
 +mail: user1@corpX.un
 +
 +dn: uid=user2,​ou=People,​dc=corpX,​dc=un
 +changetype: modify
 +add: telephoneNumber
 +telephoneNumber:​ 402
 +
 +dn: uid=user2,​ou=People,​dc=corpX,​dc=un
 +changetype: modify
 +add: mail
 +mail: user2@corpX.un
 +</​code><​code>​
 +server# ldapmodify -x -D "​cn=admin,​dc=corpX,​dc=un"​ -w secret -f addmailphone.ldif
 +</​code>​
 +
 +==== Пример назначения UNIX атрибутов в Microsoft AD ====
 +
 +!!! Объекты guser1, guser2 и group1 должны быть созданы заранее
 +
 +<​code>​
 +gate:~# cat addunixattr.ldif
 +</​code><​code>​
 +#==== add and set attr to user1 ====
 +
 +dn: CN=guser1,​CN=Users,​DC=corpX,​DC=un
 +changetype: modify
 +add: gidNumber
 +gidNumber: 10001
 +
 +dn: CN=Ivan I. Ivanov,​CN=Users,​DC=corpX,​DC=un
 +changetype: modify
 +add: uidNumber
 +uidNumber: 10001
 +
 +dn: CN=Ivan I. Ivanov,​CN=Users,​DC=corpX,​DC=un
 +changetype: modify
 +add: gidNumber
 +gidNumber: 10001
 +
 +dn: CN=Ivan I. Ivanov,​CN=Users,​DC=corpX,​DC=un
 +changetype: modify
 +add: unixHomeDirectory
 +unixHomeDirectory:​ /home/user1
 +
 +dn: CN=Ivan I. Ivanov,​CN=Users,​DC=corpX,​DC=un
 +changetype: modify
 +add: loginShell
 +loginShell: /bin/sh
 +
 +#==== add and set attr to user2 ====
 +
 +dn: CN=guser2,​CN=Users,​DC=corpX,​DC=un
 +changetype: modify
 +add: gidNumber
 +gidNumber: 10002
 +
 +dn: CN=Petr P. Petrov,​CN=Users,​DC=corpX,​DC=un
 +changetype: modify
 +add: uidNumber
 +uidNumber: 10002
 +
 +dn: CN=Petr P. Petrov,​CN=Users,​DC=corpX,​DC=un
 +changetype: modify
 +add: gidNumber
 +gidNumber: 10002
 +
 +dn: CN=Petr P. Petrov,​CN=Users,​DC=corpX,​DC=un
 +changetype: modify
 +add: unixHomeDirectory
 +unixHomeDirectory:​ /home/user2
 +
 +dn: CN=Petr P. Petrov,​CN=Users,​DC=corpX,​DC=un
 +changetype: modify
 +add: loginShell
 +loginShell: /bin/sh
 +
 +#==== add and set attr to group1 ====
 +
 +dn: CN=group1,​CN=Users,​DC=corpX,​DC=un
 +changetype: modify
 +add: gidNumber
 +gidNumber: 15001
 +
 +dn: CN=group1,​CN=Users,​DC=corpX,​DC=un
 +changetype: modify
 +add: memberUid
 +memberUid: user1
 +
 +dn: CN=group1,​CN=Users,​DC=corpX,​DC=un
 +changetype: modify
 +add: memberUid
 +memberUid: user2
 +</​code><​code>​
 +gate:~# ldapmodify -x -D "​cn=Administrator,​cn=Users,​dc=corpX,​dc=un"​ -W -H ldap://​server -f addunixattr.ldif
 +</​code>​
 +
 +===== Использование migrationtools =====
 +<​code>​
 +# apt install migrationtools
 +
 +# cat /​etc/​migrationtools/​migrate_common.ph
 +</​code><​code>​
 +...
 +$DEFAULT_MAIL_DOMAIN = "​corpX.un";​
 +...
 +$DEFAULT_BASE = "​dc=corpX,​dc=un";​
 +...
 +$EXTENDED_SCHEMA = 1;
 +...
 +$IGNORE_UID_BELOW = 1000;
 +$IGNORE_GID_BELOW = 1000;
 +...
 +$IGNORE_UID_ABOVE = 65500;
 +$IGNORE_GID_ABOVE = 65500;
 +...
 +</​code><​code>​
 +# ln -s /​etc/​migrationtools/​migrate_common.ph /​etc/​perl/​migrate_common.ph
 +
 +# /​usr/​share/​migrationtools/​migrate_passwd.pl /etc/passwd | tee users.ldif
 +!!! удалить все про krb5
 +
 +# ldapadd -x -D "​cn=admin,​dc=corpX,​dc=un"​ -w secret -f users.ldif
 +
 +# /​usr/​share/​migrationtools/​migrate_group.pl /etc/group | tee groups.ldif
 +
 +# ldapadd -x -D "​cn=admin,​dc=corpX,​dc=un"​ -w secret -f groups.ldif
 +</​code>​
хранение_учетных_записей_unix_в_ldap.txt · Last modified: 2024/02/01 15:32 by val