Configuration de la VM pour LDAP : OS : AlmaLinux 8 Espace : 20 Go (disque 1 : 20Go) RAM : 4096 Mo Processeur : 1 CPU Presse-papier partagé : Bidirectionnel Glisser-Déposer : Bidirectionnel Mode d'accès réseau : Accès par pont Dossiers partagés : Activé (choisir son dossier avec les packages pour l'installation Control-M) Installation de l'OS : Mettre le clavier à la bonne langue Choisir le bon fuseau horaire Choisir le bon espace de stockage (disque 1) Activer la carte réseau Créer un utilisateur admin autre que root (jfatah dans mon cas) Mises à jour de l'OS, installation des Guest Additions for VirtualBox, nommage du serveur et création ip statique : su - root yum -y update yum -y install epel-release yum -y install make gcc kernel-headers kernel-devel perl dkms bzip2 reboot exit => Insérer l'image CD des Additions Invités et le lancer su - root mkdir /media/VBoxAdditions mount -r /dev/cdrom /media/VBoxAdditions uname -r KERN_DIR=/usr/src/kernels/4.18.0-553.147.1.el8_10.x86_64 cd /media/VBoxAdditions ./VBoxLinuxAdditions.run reboot exit su - root hostnamectl set-hostname controlmsecurity hostname vi /etc/hosts ------------------- 192.168.1.XX controlmem 192.168.1.JJ controlmsecurity ------------------- exit su - root nmtui nmcli con show "enp0s3" nmcli con mod "enp0s3" ipv4.addresses "192.168.1.JJ/24" ipv4.gateway "192.168.1.254" ipv4.dns "192.168.1.254" ipv4.method manual ipv4.ignore-auto-dns yes nmcli con down "enp0s3" && nmcli con up "enp0s3" reboot exit # Installation et configuration OpenLDAP : su - root dnf config-manager --set-enabled powertools dnf repolist dnf clean all dnf makecache dnf list available | grep openldap dnf install openldap openldap-clients openldap-servers -y cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG chown ldap:ldap /var/lib/ldap/DB_CONFIG systemctl enable --now slapd systemctl status slapd ss -tlnp | grep slapd ldapsearch -Y EXTERNAL -H ldapi:/// -b cn=config ldapsearch -Y EXTERNAL -H ldapi:/// -b cn=config olcDatabase slappasswd ------------------- controlmsecurity {SSHA}gqWRIgkZcPtHbmOlL9jFRpevDRWPbWi/ ------------------- vi /root/db-config.ldif ------------------- dn: olcDatabase={2}mdb,cn=config changetype: modify replace: olcSuffix olcSuffix: dc=lab,dc=local - replace: olcRootDN olcRootDN: cn=admin,dc=lab,dc=local - replace: olcRootPW olcRootPW: {SSHA}gqWRIgkZcPtHbmOlL9jFRpevDRWPbWi/ ------------------- ldapmodify -Y EXTERNAL -H ldapi:/// -f /root/db-config.ldif ldapsearch -Y EXTERNAL -H ldapi:/// -b olcDatabase={2}mdb,cn=config olcSuffix olcRootDN vi /root/rootpw.ldif ------------------- dn: olcDatabase={2}mdb,cn=config changetype: modify replace: olcRootDN olcRootDN: cn=Manager,dc=lab,dc=local - replace: olcRootPW olcRootPW: {SSHA}gqWRIgkZcPtHbmOlL9jFRpevDRWPbWi/ ------------------- ldapmodify -Y EXTERNAL -H ldapi:/// -f /root/rootpw.ldif ldapsearch -Y EXTERNAL -H ldapi:/// -b olcDatabase={2}mdb,cn=config olcRootDN olcRootPW vi /root/change-rootdn.ldif ------------------- dn: olcDatabase={2}mdb,cn=config changetype: modify replace: olcRootDN olcRootDN: cn=admin,dc=lab,dc=local ------------------- ldapmodify -Y EXTERNAL -H ldapi:/// -f /root/change-rootdn.ldif ldapsearch -Y EXTERNAL -H ldapi:/// -b olcDatabase={2}mdb,cn=config olcSuffix olcRootDN vi /root/base.ldif ------------------- dn: dc=lab,dc=local objectClass: top objectClass: dcObject objectClass: organization o: Control-M Lab dc: lab dn: ou=Users,dc=lab,dc=local objectClass: organizationalUnit ou: Users dn: ou=Groups,dc=lab,dc=local objectClass: organizationalUnit ou: Groups ------------------- ldapadd -x -D "cn=admin,dc=lab,dc=local" -W -f /root/base.ldif ldapsearch -x -D "cn=admin,dc=lab,dc=local" -W -b "dc=lab,dc=local" ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/cosine.ldif ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/nis.ldif ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/inetorgperson.ldif ldapsearch -Y EXTERNAL -H ldapi:/// -b cn=schema,cn=config dn slappasswd ------------------- ctmadmin {SSHA}wabB55juZWu0p232SHUb5J25Yhgff3jo ctmbrowse {SSHA}AF+IZoo5pXrl+Hfevialom96SQUtM7+7 ------------------- vi /root/users.ldif ------------------- dn: uid=ctmadmin,ou=Users,dc=lab,dc=local objectClass: top objectClass: person objectClass: organizationalPerson objectClass: inetOrgPerson uid: ctmadmin sn: Admin givenName: ControlM cn: Control-M Administrator mail: ctmadmin@lab.local userPassword: {SSHA}wabB55juZWu0p232SHUb5J25Yhgff3jo dn: uid=ctmbrowse,ou=Users,dc=lab,dc=local objectClass: top objectClass: person objectClass: organizationalPerson objectClass: inetOrgPerson uid: ctmbrowse sn: Browse givenName: ControlM cn: Control-M Browse mail: ctmbrowse@lab.local userPassword: {SSHA}AF+IZoo5pXrl+Hfevialom96SQUtM7+7 ------------------- ldapadd -x -D "cn=admin,dc=lab,dc=local" -W -f /root/users.ldif ldapsearch -x -D "cn=admin,dc=lab,dc=local" -W -b "ou=Users,dc=lab,dc=local" ldapwhoami -x -D "uid=ctmadmin,ou=Users,dc=lab,dc=local" -W ldapwhoami -x -D "uid=ctmbrowse,ou=Users,dc=lab,dc=local" -W vi /root/groups.ldif ------------------- dn: cn=ControlM_Admins,ou=Groups,dc=lab,dc=local objectClass: top objectClass: groupOfNames cn: ControlM_Admins member: uid=ctmadmin,ou=Users,dc=lab,dc=local dn: cn=ControlM_Browses,ou=Groups,dc=lab,dc=local objectClass: top objectClass: groupOfNames cn: ControlM_Browses member: uid=ctmbrowse,ou=Users,dc=lab,dc=local ------------------- ldapadd -x -D "cn=admin,dc=lab,dc=local" -W -f /root/groups.ldif ldapsearch -x -D "cn=admin,dc=lab,dc=local" -W -b "ou=Groups,dc=lab,dc=local" firewall-cmd --permanent --add-port=389/tcp firewall-cmd --reload exit # Sur la VM Control-M/EM : su - root vi /etc/hosts ------------------- 192.168.1.XX controlmem 192.168.1.YY controlmserver 192.168.1.JJ controlmsecurity ------------------- dnf install openldap openldap-clients -y ldapsearch -x -H ldap://controlmsecurity -D "cn=admin,dc=lab,dc=local" -W -b "dc=lab,dc=local" exit su - ctmem cp $HOME/ctm_em/etc/DirectoryServiceType.cfg $HOME/ctm_em/etc/DirectoryServiceType.cfg.bak vi $HOME/ctm_em/etc/DirectoryServiceType.cfg ------------------- [Active Directory] DirectoryUsersDnAttr=distinguishedName DirectoryUsersIDAttr=sAMAccountName DirectoryGroupIDAttr=sAMAccountName DirectoryGroupMembersAttr=member DirectoryGroupMembersIDAttr=distinguishedName DirectoryGroupsObjectClassAttr=group [iPlanet] DirectoryUsersDnAttr=dn DirectoryUsersIDAttr=cn DirectoryGroupIDAttr=cn DirectoryGroupMembersAttr=uniqueMember DirectoryGroupMembersIDAttr=dn DirectoryGroupsObjectClassAttr=groupOfUniqueNames [OpenLDAP] DirectoryUsersDnAttr=dn DirectoryUsersIDAttr=uid DirectoryGroupIDAttr=cn DirectoryGroupMembersAttr=member DirectoryGroupMembersIDAttr=dn DirectoryGroupsObjectClassAttr=groupOfNames ------------------- exit # Sur l'interface graphique : => https://controlmem:8446/ControlM/ => Configuration => System Settings => Active Directory LDAP Login Domain : lab_local (Default) LDAP Search User : cn=admin,dc=lab,dc=local LDAP Search Password : ************ Communication Protocol : TCP LDAP Directory Server Type : OpenLDAP Server Name : controlmsecurity Port : 389 Search Base 1 : ou=Users,dc=lab,dc=local Search Base 2 : ou=Groups,dc=lab,dc=local => Configuration => Rôles => dans chaque groupe mappé le groupe LDAP Admin => Associated With Organizational Groups : ControlM_Admins BrowseGroup => Associated With Organizational Groups : ControlM_Browses => Configuration => Users (faire la recherche des users) Organizational Groups : ctmadmin et ctmbrowse