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
хранение_учетных_записей_unix_в_ldap [2019/01/28 13:03]
val
хранение_учетных_записей_unix_в_ldap [2024/02/01 15:32] (current)
val [Использование migrationtools]
Line 9: Line 9:
  
 ===== Импорт данных в каталог ===== ===== Импорт данных в каталог =====
 +
 +==== Описание элементов схемы ====
  
   * [[http://​oav.net/​mirrors/​LDAP-ObjectClasses.html|Common LDAP schemas]]   * [[http://​oav.net/​mirrors/​LDAP-ObjectClasses.html|Common LDAP schemas]]
  
-==== Импорт данных про организацию ====+==== Импорт данных про организацию ​и структуру ​====
  
-=== Debian/​Ubuntu === +!!! Объект dc=corpX,​dc=un создается автоматически при инсталляции ​из dcObject наследуется атрибут dc, из organization наследуется атрибут o
- +
-!!! Объект dc=corpX,​dc=un создается автоматически при инсталляции ​!!! +
- +
-=== FreeBSD ===+
  
 <​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 61: Line 47:
  
   * [[http://​www.padl.com/​OSS/​MigrationTools.html|MigrationTools]]   * [[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:​ inetOrgPerson objectClass:​ inetOrgPerson
 objectClass:​ posixAccount objectClass:​ posixAccount
 uid: user1 uid: user1
 sn: Ivanov sn: Ivanov
-cn: Ivanov ​Ivan Ivanovitch +cn: Ivan Ivanovitch ​Ivanov 
-gecos: ​Ivanov ​Ivan Ivanovitch,​RA7,​401,​499-239-45-23+gecos: Ivan Ivanovitch ​Ivanov,​RA7,​401,​499-239-45-23
 uidNumber: 10001 uidNumber: 10001
 gidNumber: 10001 gidNumber: 10001
Line 87: Line 75:
 homeDirectory:​ /home/user1 homeDirectory:​ /home/user1
 userpassword:​ * userpassword:​ *
 +#​userpassword:​ password1
  
-dn: uid=user2,​ou=users,​dc=corpX,​dc=un+dn: uid=user2,​ou=People,​dc=corpX,​dc=un
 objectClass:​ inetOrgPerson objectClass:​ inetOrgPerson
 objectClass:​ posixAccount objectClass:​ posixAccount
 uid: user2 uid: user2
 sn: Petrov sn: Petrov
-cn: Petrov ​Petr Petrovitch +cn: Petr Petrovitch ​Petrov 
-gecos: ​Petrov ​Petr Petrovitch,​RA7,​402,​499-323-55-53+gecos: Petr Petrovitch ​Petrov,​RA7,​402,​499-323-55-53
 uidnumber: 10002 uidnumber: 10002
 gidnumber: 10002 gidnumber: 10002
Line 100: Line 89:
 homedirectory:​ /home/user2 homedirectory:​ /home/user2
 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 120: 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 каталоге ===== ==== Модификация информации в ldap каталоге =====
 +
 +=== Пример изменения пароля ===
 +<​code>​
 +server# cat replacepasswd.ldif
 +</​code><​code>​
 +dn: uid=user1,​ou=People,​dc=corpX,​dc=un
 +changetype: modify
 +replace: userPassword
 +userPassword:​ password1
 +
 +dn: uid=user2,​ou=People,​dc=corpX,​dc=un
 +changetype: modify
 +replace: userPassword
 +userPassword:​ password2
 +</​code><​code>​
 +server# ldapmodify -x -D "​cn=admin,​dc=corpX,​dc=un"​ -w secret -f replacepasswd.ldif
 +</​code>​
 +
 +=== Пример назначения номеров телефонов и адресов email ===
 <​code>​ <​code>​
 server:~# cat addmailphone.ldif server:~# cat addmailphone.ldif
 </​code><​code>​ </​code><​code>​
-dn: uid=user1,​ou=users,​dc=corpX,​dc=un+dn: uid=user1,​ou=People,​dc=corpX,​dc=un
 changetype: modify changetype: modify
 add: telephoneNumber add: telephoneNumber
 telephoneNumber:​ 401 telephoneNumber:​ 401
  
-dn: uid=user1,​ou=users,​dc=corpX,​dc=un+dn: uid=user1,​ou=People,​dc=corpX,​dc=un
 changetype: modify changetype: modify
 add: mail add: mail
 mail: user1@corpX.un mail: user1@corpX.un
  
-dn: uid=user2,​ou=users,​dc=corpX,​dc=un+dn: uid=user2,​ou=People,​dc=corpX,​dc=un
 changetype: modify changetype: modify
 add: telephoneNumber add: telephoneNumber
 telephoneNumber:​ 402 telephoneNumber:​ 402
  
-dn: uid=user2,​ou=users,​dc=corpX,​dc=un+dn: uid=user2,​ou=People,​dc=corpX,​dc=un
 changetype: modify changetype: modify
 add: mail add: mail
Line 148: Line 157:
 </​code><​code>​ </​code><​code>​
 server# ldapmodify -x -D "​cn=admin,​dc=corpX,​dc=un"​ -w secret -f addmailphone.ldif 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>​ </​code><​code>​
-client1:~cat addunixattr.ldif+#==== add and set attr to user1 ==== 
 dn: CN=guser1,​CN=Users,​DC=corpX,​DC=un dn: CN=guser1,​CN=Users,​DC=corpX,​DC=un
 changetype: modify changetype: modify
 add: gidNumber add: gidNumber
 gidNumber: 10001 gidNumber: 10001
- 
-dn: CN=guser2,​CN=Users,​DC=corpX,​DC=un 
-changetype: modify 
-add: gidNumber 
-gidNumber: 10002 
  
 dn: CN=Ivan I. Ivanov,​CN=Users,​DC=corpX,​DC=un dn: CN=Ivan I. Ivanov,​CN=Users,​DC=corpX,​DC=un
Line 179: Line 192:
 add: loginShell add: loginShell
 loginShell: /bin/sh 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 dn: CN=Petr P. Petrov,​CN=Users,​DC=corpX,​DC=un
Line 199: Line 219:
 add: loginShell add: loginShell
 loginShell: /bin/sh 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>​ </​code><​code>​
-client1:~# export LDAPTLS_REQCERT=never+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 = 1001; 
 +$IGNORE_GID_BELOW = 1001; 
 +... 
 +$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
  
-client1:~ldapmodify ​-x -D "cn=Administrator,​cn=Users,dc=corp6,​dc=un"​ -W -H ldaps://​server ​-f addunixattr.ldif+ldapadd ​-x -D "cn=admin,dc=corpX,​dc=un"​ -w secret ​-f groups.ldif
 </​code>​ </​code>​
хранение_учетных_записей_unix_в_ldap.1548669799.txt.gz · Last modified: 2019/01/28 13:03 by val