Linux - Dominio Samba - 3/7 - Installare Server LDAP in prospettiva di creare un dominio

Per la parte precedente 2/7 seguente cliccare qui

Per la parte seguente 4/7 seguente cliccare qui 



Al fine di creare un dominio con Samba è necessario prima inistallare un Server LDAP:

  1) Installiamo e configuriamo LDAP



     yum -y install openldap-servers openldap-clients



2) Generiamo la password per ldap admin


    
    slappasswd -s mettipassword-h {MD5}


    chiederà di inserire una password in formato normale due volte. 
    
    IMPORTANTE: ricordiamoci questa password servirà al punto 8)
    
    darà in output un codice


    {MD5}*********************


3) vim /etc/openldap/slapd.conf


     # line 86: specifichiamo il suffisso
     suffix "dc=instyle,dc=locale"


     # line 87: specifichiamo il suffisso admin
     rootdn   "cn=Manager,dc=instyle,dc=locale"


     # line 93: specifichiamo la password generata al punto (1)
     rootpw   {SSHA}************************


     # aggiungere in fondo
     access to attrs=userPassword
         by self write
         by dn="cn=Manager,dc=instyle,dc=locale" write
         by anonymous auth
         by * none


     access to *
         by dn="cn=Manager,dc=instyle,dc=locale" write
         by self write
         by * read
      
     N.B. Da provare questa opzione se il comando lanciato al punto 8 appare l'errore 'err=49 which is "invalid credentials" '
     rootpw secret



4) cp /etc/openldap/DB_CONFIG.example /var/lib/ldap/DB_CONFIG 


     cd /var/lib/ldap


     chown ldap.ldap  DB_CONFIG


     chmod 700    DB_CONFIG


5) /etc/init.d/ldap start


     Checking configuration files for slapd: /etc/openldap/slapd.conf: line 116: rootdn is always granted      unlimited privileges.
     /etc/openldap/slapd.conf: line 121: rootdn is always granted unlimited privileges.
     config file testing succeeded      [ OK ]
     Starting slapd:   [ OK ]


6) chkconfig ldap on 
  7) Aggiungiamo le informazioni iniziali
     cd /usr/share/openldap/migration


     vim migrate_common.ph


     # line 71: specifichiamo il nome del dominio
     $DEFAULT_MAIL_DOMAIN = "instyle.locale";
  
     # line 74: specifichiamo il suffisso


     $DEFAULT_BASE = "dc=instyle,dc=locale"


  8) ./migrate_base.pl > base.ldif


  9) vim base.ldif


     # editare solo le parti di interesse, le seguenti sezioni sono quelle minimali
     dn: dc=instyle,dc=locale
     dc: instyle
     objectClass: top
     objectClass: domain


     dn: ou=Hosts,dc=instyle,dc=locale
     ou: Hosts
     objectClass: top
     objectClass: organizationalUnit


     dn: ou=People,dc=instyle,dc=locale
     ou: People
     objectClass: top
     objectClass: organizationalUnit


     dn: ou=Group,dc=instyle,dc=locale
     ou: Group
     objectClass: top
     objectClass: organizationalUnit
     
     N.B. Da un altro post se appare l'errore 'err=49 which is "invalid credentials" '


    "I had the same error Im doing what you are doing I fixed it by adding a o: opting in my     ldif file my ldif file is as followed:


    dn: dc=example,dc=com
    dc: example
    objectClass: dcObject
    objectClass: organization
    o: example company"


8) ldapadd -x -W -D "cn=Manager,dc=instyle,dc=locale" -f base.ldif


     Enter LDAP Password: # inserire la password non in formato SSHA ma nel formato testuale
   
     adding new entry "dc=instyle,dc=locale"


     adding new entry "ou=Hosts,dc=instyle,dc=locale"


     adding new entry "ou=People,dc=instyle,dc=locale"


     adding new entry "ou=Group,dc=instyle,dc=locale" 


9) Aggiungiamo gli utenti esistenti al Server Ldap con i relativi gruppi
     
     # otteniamo l'utenti da /etc/passwd
     grep "x:[5-9][0-9][0-9]" /etc/passwd > passwd


     # otteniamo i gruppi da /etc/group
     grep "x:[5-9][0-9][0-9]" /etc/group > group


     ./migrate_passwd.pl passwd > passwd.ldif


     ./migrate_group.pl group > group.ldif


     
     # aggiungere utenti e gruppi al server LDAP


     Enter LDAP Password: # inserire la password non in formato SSHA ma nel formato testuale


     adding new entry "uid=fedora,ou=People,dc=instyle,dc=locale"


     adding new entry "uid=suse,ou=People,dc=instyle,dc=locale"


     adding new entry "uid=ubuntu,ou=People,dc=instyle,dc=locale"


     adding new entry "uid=cent,ou=People,dc=instyle,dc=locale"


     adding new entry "uid=debian,ou=People,dc=instyle,dc=locale"


     ldapadd -x -W -D "cn=Manager,dc=instyle,dc=locale" -f group.ldif


     Enter LDAP Password: # inserire la password non in formato SSHA ma nel formato testuale


     adding new entry "cn=fedora,ou=Group,dc=instyle,dc=locale"


     adding new entry "cn=suse,ou=Group,dc=instyle,dc=locale"


     adding new entry "cn=ubuntu,ou=Group,dc=instyle,dc=locale"


     adding new entry "cn=cent,ou=Group,dc=instyle,dc=locale"


     adding new entry "cn=debian,ou=Group,dc=instyle,dc=locale" 

10) Per cancellare Utente e gruppo cent dal Server Ldap fare come di seguito
     ldapdelete -x -W -D 'cn=Manager,dc=instyle,dc=locale'  "uid=cent,ou=people,dc=instyle,dc=locale"
     
     Enter LDAP Password: # inserire la password non in formato SSHA ma nel formato testuale
  
     ldapdelete -x -W -D 'cn=Manager,dc=instyle,dc=locale' "cn=cent,ou=group,dc=instyle,dc=locale"

     Enter LDAP Password: # inserire la password non in formato SSHA ma nel formato testuale


11) Un comando utile è il seguente per cercare nel database LDAP:


ldapsearch -h 127.0.0.1 -x -b "dc=instyle,dc=locale"

     Returns something like this:
     # extended LDIF
     #
     # LDAPv3
     # base
     # ldap-instyle.locale
     dn: dc=instyle,dc=locale
     objectClass: dcObject
     objectClass: organization
     o: Servidor LDAP ldap-kike
     dc: instylelocale
     # Manager, ldap-kike.com.uy
     dn: cn=Manager,dc=instyle,dc=locale
     objectClass: organizationalRole
     cn: Manager
     # search result
     search: 2
     result: 0 Success
     # numResponses: 3
     # numEntries: 2


12. Per aggiungere un gruppo è necessario usare la sintassi di group.ldif (a titolo di info non necessari per il dominio)


     cat group.ldif
     dn: cn=users,dc=ldap-kike,dc=com,dc=uy
     objectClass: TestGroup
     gidNumber: 10000
     cn: users
     memberUid: usuario1
     description: Gruppo Users


     ldapadd -a -x -D 'cn=Manager,dc=instyle,dc=locale' -W -f group.ldif


     id usuario1




     uid=10000(usuario1) gid=10000(users) groups=10000(users)



13. Ecco altri comandi utili (a titolo di info non necessari per il dominio)


     mkdir /home/usuario1


     rsync -a /etc/skel/ /home/usuario1


     chown -R usuario1.users /home/usuario1


     chmod 700 /home/usuario1


     ls -la /home/usuario1


 14.  Per verificare che il server LDAP funzioni è sufficiente: (a titolo di info non necessari per il dominio)


     ssh -l usuario1 192.168.150.24
     usuario1@192.168.150.24′s password:

     Last login: Sat Jan 15 21:24:50 2010 from 192.168.150.207
     id
     uid=10000(usuario1) gid=10000(users) grupos=10000(users)
     pwd
     /home/usuario1

15. Per aggiungere un altro utente (a titolo di info non necessari per il dominio):

     cat user.ldif

     dn: uid=usuario2,dc=instyle,dc=locale
     uid: usuario2
     cn: usuario2
     objectClass: account
     objectClass: posixAccount
     objectClass: top
     objectClass: shadowAccount
     userPassword: {crypt}$1$TEDFGNB3$ogOvJKTt/CviC47q/dBon1
     shadowLastChange: 14335
     shadowMax: 99999
     shadowWarning: 7
     loginShell: /bin/bash
     uidNumber: 10001
     gidNumber: 10000
     homeDirectory: /home/usuario2
     gecos: usuario2
     Add it to the LDAP database: 


     ldapadd -x -D 'cn=Manager,dc=instyle,dc=locale' -W -f user.ldif
     Enter LDAP Password:
     adding new entry "uid=usuario2,dc=instyle,dc=locale"


     Eseguiamo le stesse operazioni create al punto 13.


16.  Per aggiungere l'utente al gruppo: (a titolo di info non necessari per il dominio)


     cat group.ldif

     dn: cn=users,dc=instyle,dc=locale
     objectClass: posixGroup
     gidNumber: 10000
     cn: users
     memberUid: usuario1
     memberUid: usuario2
     description: Grupo Users


17. Per modificare il database LDAP usando il comando ldapmodify - (a titolo di info non necessari per il dominio)
     ldapmodify -x -D 'cn=Manager,dc=instyle,dc=locale' -W -f group.ldif 
     Enter LDAP Password:
     modifying entry "cn=users,dc=dc=instyle,dc=locale"

18.Verifichiamo che sia tutto ok con ldapsearch - (a titolo di info non necessari per il dominio)


     ldapsearch -h 127.0.0.1 -x -b "dc=instyle,dc=locale"

     ……
     ……

     Verifichiamo che tutto funzioni correttamente


     id usuario2

     uid=10001(usuario2) gid=10000(users) groups=10000(users)

     Per la parte precedente 2/7 seguente cliccare qui

    
Per la parte seguente 4/7 seguente cliccare qui