Overblog
Editer l'article Suivre ce blog Administration + Créer mon blog

Création des Comptes Utilisateurs Unix sur un Annuaire Ldap

14 Septembre 2020 , Rédigé par 2KM Publié dans #Services

Dans ce tuto, comme nous vous avions promit de revenir sur la création des comptes utilisateurs UNIX. Aujourd’hui nous allons créer des fichiers ldif pour alimenter notre annuaire ldap et le consulter pour utiliser les comptes.

Nous attaquons le vif du sujet.

NB : On utilise une machine Linux

 

1 - Création de l'annuaire
Le format LDIF (Ldap Data Interchange Format) est un format standard définit par la RFC2849 qui permet de représenter sous forme de fichier texte les donnés présentes dans un annuaire. Il offre également une syntaxe qui permet de faire des modifications dans l'annuaire.


1.1 - Créer le fichier LDIF qui va initialiser le sommet de notre racine

On crée un fichier racine.ldif, ce dans ce fichier qu’on va créer notre racine c’est-à-dire notre DN (Distinguished Name),comme nous l’avions bien dit auparavant l’attribut obligatoire d’une organisation est « o »
1ère ligne: dn: dc=koretelecoms,dc=td, veut dire que le nom de notre racine s’appelle koretelecoms et son extension est td,
2ème et 3ème ligne: objectClass: organization et objectClass: dcObject, veulent dire que l’objet de classe qu’on veut utiliser est une organisation
4ème ligne: o: koretelecoms, veut dire que le nom de l’organisation est koretelecoms
5ème ligne: dc: koretelecoms,veut dire que le nom de la base est koretelecoms
 

# nano /etc/ldap/racine.ldif

pour sauvegarder, on fait CTRL+X avec l’éditeur de texte « nano ».

1.2 – Ajouter donc le fichier racine.ldif dans l’annuaire ldap
C’est la commande ldapadd -x -D "cn=admin,dc=koretelecoms,dc=td" -W -f racine.ldif, après avoir valider cette commande, ldap demandera le mot de passe de l’administrateur de l’annuaire qui nous avions saisit auparavant.

On constate très clairement qu’il y a une entrée vient d’être ajouter.

 

1.3 – Créer le fichier LDIF qui va créer les unités organisationnelles
Pour créer des unités organisationnelles dans un fichier ou.ldif, on doit faire appel a la classe organizationalUnit et à un attribut obligatoire qui est "ou". Pour déclarer,on doit faire comme suit :
dn: ou=nomd’uniteOrganisationnelle,dc=nomdelaracine,dc=extension
Mais dans notre cas, on va créer deux unités organisationnelles L2(TR&MIC)
L’Algo:
Editer le fichier ou.ldif comme suit : nano /etc/ldap/ou.ldif et ajouter ces lignes
dn: ou=L2TR,dc=koretelecoms,dc=td, veut dire que l’unité organisationnelle qu’on veut créer a pour nom L2TR sur l’annuaire koretelecoms.td
objectClass: organizationalUnit, veut dire que pour créer une unité organisationnelle, on est obligé de faire appel a cette classe.
ou: L2TR, veut dire que l’unité a pour nom L2TR

NB : on fait la même chose pour le/les reste(s) des unités organisationnelles.
Remarque : Entre l’attribut et valeur de l’attribut il y a une espace après le collage de deux points(:) sur l’attribut.

Pour sauvegarder le fichier ou.ldif, on fait CTRL+X comme nous avons choisit l’éditeur de texte nano.

 

1.4 – Alimenter donc le fichier ou.ldif dans l’annuaire ldap
C’est la commande ldapadd -x -D "cn=admin,dc=koretelecoms,dc=td" -W -f ou.ldif qui permet d’ajouter le fichier dans l’annuaire, après avoir valider cette commande, ldap demandera le mot de passe de l’administrateur de l’annuaire que nous avons saisit auparavant.

On constate très clairement qu’il y a deux(2) entrées c’est-à-dire les deux unités organisationnelles viennent d’être ajouter comme nous montre la figure ci-dessus. Donc créer des comptes UNIX dans un fichier.

 

1.5 – Créer le fichier LDIF qui va créer des comptes unix.
Pour créer des comptes unix dans un fichier, on doit faire appel a notre :
-Distinguished Name qui aura pour valeur : le uid de l’utilisateur,le nom de l’unité organisationnelle et le nom de notre racine ldap comme suit:
dn: uid=kore-kevin,ou=L2TR,dc=koretelecoms,dc=td
-Aux 4(quatre)classes:top,posixAccount,shadowAccount et inetOrgPerson
-Les attributs obligatoires qui sont : cn,sn et userPassword...etc
-Les attributs supplémentaires qui sont : uidNumber, gidNumber, loginShell, homeDirectory, mail, givenName, telephoneNumber,jpegPhoto...etc
NB : La même chose pour le reste de(s)compte(s).
Pour écrire le code, nous allons créer le fichier  avec la commande : 

# nano /etc/ldap/users.ldif

Apres avoir mit le code,nous devons sauvegarder le fichier en faisant CTRL+X

 

1.6 – Alimenter le fichier users.ldif dans l’annuaire ldap
C’est la commande ldapadd -x -D "cn=admin,dc=koretelecoms,dc=td" -W -f users.ldif qui permet d’ajouter une entrée dans un annuaire, après avoir valider cette commande, ldap demandera le mot de passe de l’administrateur de l’annuaire que nous avons saisit auparavant.

On constate très clairement qu’il y a deux(2) entrées c’est-à-dire le deux comptes unix viennent d’être ajouter comme nous montre la figure ci-dessus. Les deux entrées sont l’utilisateur kore_kevin et covid19 chacun dans son unité organisationnelle bien respective dans la racine koretelecoms.td.
NB : Comme vous connaissez, un compte unix doit obligatoirement avoir un groupe spécifique. Donc passons a créer un groupe pour chacun de ce compte. comment pouvez vous créer des groupes dans l’annuaire ldap ?

 

1.7 – Créer le fichier LDIF qui va créer les groupe.ldif
Pour créer des groupes dans un fichier, on doit faire appel a :
-Distinguished Name qui aura pour valeur : le uid de l’utilisateur,le nom de l’unité organisationnelle et le nom de notre racine ldap comme suit:
dn: uid=kore_kevin,ou=L2TR,dc=koretelecoms,dc=td
-A une seule classe : posixGroup
-Deux attributs obligatoires : cn et gidNumber
-et l’attribut optionnel : memberUid
NB : même si vous voulez créer mille groupe c’est la même façon. Dans notre cas, nous avons deux comptes qui sont kore_kevin et covid19, pour cela nous allons créer pour chacun de ces comptes un groupe spécifique.

cn ce le nom du compte utilisateur. Sauvegarder en faisant CTRL+X.

 

1.8 – Alimenter le fichier groupe.ldif dans l’annuaire ldap
C’est la commande ldapadd -x -D "cn=admin,dc=koretelecoms,dc=td" -W -f groupe.ldif qui permet d’ajouter les entrées dans l’annuaire, après avoir valider cette commande, ldap demandera le mot de passe de l’administrateur de l’annuaire que nous avons saisit auparavant.

On constate très clairement qu’il y a deux(2) entrées c’est-à-dire le deux groupes viennent d’être ajouter comme nous montre la figure ci- dessus. Les deux entrées sont le groupe kore_kevin et covid19 chacun dans la racine koretelecoms.td.

Q1 : Mais nous venons de créer des comptes unix et même leurs groupes respectifs, Donc Comment nous pouvons utiliser ces Comptes?
R1 : Pour utiliser ces Comptes, nous aurons besoin de deux modules qui vont fournir des services :
1 - le nommage qui va autoriser à notre serveur Ldap d’être utilisé comme service de nom.
2 - Aussi l’authentification des utilisateurs dans les programmes.
Q2 : Donc quels sont ces modules ?
R2 : Le module nss et le module pam.

 

2 - Installer le module nss et pam
Le paquet libnss-ldap fournit un service de nommage qui autorise notre serveur LDAP d'être utilisé comme service de nom.

Le paquet libpam-ldap permet l'authentification des utilisateurs dans les programmes qui utilisent PAM (Pluggable Authentication Module)

Module Fonction
libnss-ldap Le paquet libnss-ldap fournit un service de nommage qui authorise votre serveur LDAP d'être utilisé comme service de nom.
libpam-ldap Le paquet libpam-ldap permet l'authentification des utilisateurs dans les programmes qui utilisent PAM (Pluggable Authentication Module).

 

2.1 - installation du libnss-ldap
La commande qui permet d’installer le module libnss-ldap : # apt install libnss-ldap

Apres avoir valider c’est-à-dire après avoir souhaiter de continuer, vous aurez des questions a répondre comme ci-dessous.


2.1.1 – la première étape permet de préciser l’adresse ip de la machine du serveur ldap
Comme on est en local, nous allons préciser l’adresse localhost/LOOPBACK
NB : Dans la figure ci-dessous, nous allons faire de modification pour identifier l’adresse du serveur
1ère modification : enlever le « i » qui se trouve apres ldap « i ».
2nd modification : enlever un slash « / » parmi les trois

appuyer sur tab puis  sur entrer

 

2.1.2 – la deuxième étape permet de préciser le DN (distinguished name) du serveur ldap

Ici nous allons mettre le nom de notre domaine : dc=koretelcoms,dc=td

 

2.1.3 – La troisième étape permet de préciser la version du protocole ldap a utilisé.
La version du protocole ldap choisit ici est la version 3 comme nous montre la figure ci-dessous : 

 

2.1.4 – La quatrième étape permet de préciser si le root a le droit d’utiliser la base de donnée de l’admin ldap
Nous avons choisit l’option OUI, mais les choix sont optionnels.

 

2.1.5 – La cinquième étape permet de spécifier le mode d'accès à l'annuaire LDAP. Lors de l'installation, l'accès n'a pas été limité par mot de passe.
L'option sélectionnée est donc NON.

 

2.1.6 – La sixième étape permet de saisir le nom de l’administrateur OpenLDAP.

Dans l’article sur la configuration du serveur OpenLDAP nous avions créé un utilisateur "admin".

Dans notre cas, nous allons préciser notre rootdn :
         cn=admin,dc=koretelecoms,dc=td

2.1.7 – La septième étape permet de saisir le mot de passe de l’administrateur OpenLDAP.

Tous ces paramètres pourront être reconfigurés à l'aide de l'utilitaire dpkg-reconfigure avec la commande suivante:
#sudo dpkg-reconfigure ldap-auth-config

 

2.1.8 – La huitième étape passer à la configuration du module nss.
Pour configurer le module libnss-ldap, on va éditer le fichier /etc/nsswitch.conf.


Q : Pourquoi éditer ce fichier ?
R : par ce que ce dans ce fichier qu’on va ajouter LDAP aux services que nous souhaitons activer(prenez soin de mettre ldap après "compat"). Par exemple dans notre cas on va activer.


NB : qui est le fichier de configuration central pour NSS. Il indique à NSS quelles sources utilisées pour quelles bases de données système. Nous devons ajouter la ldapdirective aux passwd, group et le shadow bases de données, assurez-vous donc que votre apparence de fichier comme celui-ci:  #nano /etc/nsswitch.conf 

 

2.1.9 – La neuvième étape, passer à redémarrer le service libnss-ldap. Avec la commande : # service libnss-ldap restart

 

3 - Installation du libpam-ldap
La commande qui permet d’installer le module libpam-ldap : # apt install libpam-ldap
le module pam permet m’avoir des sessions optionnelles

Donc passons à la configuration du module.

 

3.1 – Configurer du fichier du module pam
Pour configurer le fichier de configuration du module pam, on va éditer /etc/pam.d/common-session et on va ajouter à la fin du fichier cette ligne. session_optional pam_mkhomedir.so skel=/etc/skel : cette ligne permet de créer un répertoire personnel pour chaque de compte utilisateur.  

Donc sauvegarder le fichier en faisant CTRL+X.

 

3.2 – Regarder les id(s) des utilisateurs
Q : Pourquoi regarder les id(s) ?
R : Pour connaitre le « uid », le « gid » et le « groupe »


3.2.1 – Pour le compte koreikevin

 

3.2.2 – Pour le compte covid19

 

4 – Connexion des users
4.1 – Essayer de se connecter sur le compte

Pour se connecter sur un de ce compte système , on va utiliser la commande :su nomdeUser. Dans notre cas on va se connecter sur user de kore_kevin.
Donc on va faire su kore_kevin comme ci-dessous :

Remarque : Après avoir se connecter sur le compte, on constate que la création automatique du répertoire personnel de l’utilisateur qui sera donc /home/kevin_kevin. Pour s’assurer qu’on est bien connecté sur l’utilisateur, on a utilisé la commande pwd pour voir le répertoire courant.

 

4.2 – Ajouter le compte kore_kevin dans le groupe sudo
Pour ajouter un utilisateur dans le groupe sudo, on utilise la commande :
gpasswd -a kore_kevin sudo

 

4.3 –Reconnecter a nouveau sur le compte kore_kevin.
On va se connecter a nouveau sur compte en utilisant la même commande qui est :
su kore_kevin pour voir si réellement il se connecte avec sudo

Oui, on peut confirmer que l’utilisateur s’est connecté avec succès en su

 

4.4 – Utiliser la commande sudo -s sur le compte pour avoir tout les privilèges .
connectons avec sudo -s et puis donnons le mot de passe du compte que nous avons donné lors de sa création dans le fichier users.ldif

Après cela vous avons utilisé la commande pwd pour voir le répertoire courant

 

4.5 –Essayer de créer un fichier/dossier sur le compte
Q : Pourquoi on veut créer un fichier ?
R : Juste pour s’assurer d’avoir tout les privilèges sur le compte.

Pour créer un fichier sous Linux, on utilise la commande touch nom-fichier . Nous on créé un fichier qui va s’appeler test_ldap en faisant : touch test_ldap comme nous la figure ci-dessous :

Pour s’assurer que le fichier a été bien créé, on utilise la commande « ls » pour lister le contenu du répertoire personnel de l’utilisateur comme on a fait ci-haut.

 

Merci. c'est la fin de ce tuto. 

Nous allons revenir pour parler d'un nouveau tuto sur "Le service d’annuaire Ldap avec l’interface graphique « ldap-account-manager » " 

N’hésiter pas à aimer, publier, commenter et abonner notre page

Partager cet article

Repost0
Pour être informé des derniers articles, inscrivez vous :

Commenter cet article