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 [2021/01/13 19:45]
val
хранение_учетных_записей_unix_в_ldap [2024/02/01 15:32] (current)
val [Использование migrationtools]
Line 14: Line 14:
   * [[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 69: Line 53:
 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
Line 91: 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
Line 104: 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 124: 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 156: Line 159:
 </​code>​ </​code>​
  
-==== Пример назначения UNIX атрибутов в Microsoft AD ====+=== Пример назначения UNIX атрибутов в Microsoft AD === 
 + 
 +!!! Объекты guser1, guser2 и group1 должны быть созданы заранее
  
 <​code>​ <​code>​
-client1:~# cat addunixattr.ldif+gate:~# cat addunixattr.ldif
 </​code><​code>​ </​code><​code>​
 +#==== 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 190: 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 210: 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 dn: CN=group1,​CN=Users,​DC=corpX,​DC=un
Line 226: Line 237:
 memberUid: user2 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
- +
-client1:~# ldapmodify -x -D "​cn=Administrator,​cn=Users,​dc=corp6,​dc=un"​ -W -H ldaps://server -f addunixattr.ldif+
 </​code>​ </​code>​
  
Line 235: Line 244:
 # apt install migrationtools # apt install migrationtools
  
-server.corp13.un:​~diff migrate_common.ph ​/​etc/​migrationtools/​migrate_common.ph+cat /​etc/​migrationtools/​migrate_common.ph
 </​code><​code>​ </​code><​code>​
-58c58 +... 
-<       ​$NAMINGCONTEXT{'​passwd'​} ​           = "​ou=People";​ +$DEFAULT_MAIL_DOMAIN = "​corpX.un";​ 
---- +... 
->       ​$NAMINGCONTEXT{'​passwd'​} ​           = "​ou=users";​ +$DEFAULT_BASE = "​dc=corpX,​dc=un";​ 
-61c61 +... 
-<       ​$NAMINGCONTEXT{'​group'​} ​            = "​ou=Group";​ +$EXTENDED_SCHEMA ​1
---- +... 
->       ​$NAMINGCONTEXT{'​group'​} ​            = "​ou=groups";​ +$IGNORE_UID_BELOW = 1001
-71c71 +$IGNORE_GID_BELOW = 1001
-< $DEFAULT_MAIL_DOMAIN = "padl.com";​ +... 
---- +$IGNORE_UID_ABOVE = 65500
-$DEFAULT_MAIL_DOMAIN = "​corpX.un";​ +$IGNORE_GID_ABOVE = 65500; 
-74c74 +...
-< $DEFAULT_BASE = "​dc=padl,​dc=com";​ +
---- +
-$DEFAULT_BASE = "​dc=corpX,​dc=un";​ +
-96,97c96,97 +
-< #$IGNORE_UID_BELOW ​1000+
-< #​$IGNORE_GID_BELOW = 100; +
---- +
-$IGNORE_UID_BELOW = 1000+
-$IGNORE_GID_BELOW = 1000+
-100,​101c100,​101 +
-< #$IGNORE_UID_ABOVE = 9999+
-< #$IGNORE_GID_ABOVE ​= 9999; +
---- +
-> $IGNORE_UID_ABOVE ​= 65500; +
-> $IGNORE_GID_ABOVE = 65500;+
 </​code><​code>​ </​code><​code>​
 # ln -s /​etc/​migrationtools/​migrate_common.ph /​etc/​perl/​migrate_common.ph # ln -s /​etc/​migrationtools/​migrate_common.ph /​etc/​perl/​migrate_common.ph
  
-# /​usr/​share/​migrationtools/​migrate_group.pl /etc/group+# /​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
  
-/​usr/​share/​migrationtools/​migrate_passwd.pl /etc/passwd+ldapadd -x -D "​cn=admin,​dc=corpX,​dc=un"​ -w secret -f groups.ldif
 </​code>​ </​code>​
хранение_учетных_записей_unix_в_ldap.1610556306.txt.gz · Last modified: 2021/01/13 19:45 by val