Dans la plupart des organisations, les utilisateurs et les groupes sont créés et gérés sur Windows Active Directory. Nous pouvons intégrer nos serveurs RHEL 7 et CentOS 7 avec AD (Active Directory) à des fins d'authentification. En d'autres termes, nous pouvons joindre nos serveurs CentOS 7 et RHEL 7 sur le domaine Windows afin que les administrateurs système puissent se connecter à ces serveurs Linux avec des informations d'identification AD. Lors de la création d'utilisateurs UNIX sur AD, nous pouvons associer ces utilisateurs à un groupe spécifique afin que le niveau d'accès soit contrôlé de manière centralisée à partir d'AD.
Dans cet article, nous expliquons comment intégrer CentOS 7.x et RHEL 7.x avec AD (Windows Server 2008 R2 &Windows Server 2012 R2 ). Les étapes suivantes s'appliquent à la fois à CentOS 7 et à RHEL 7.
Étape 1 Installez les packages requis à l'aide de la commande yum
Utilisez la commande yum pour installer les packages suivants à partir de la ligne de commande.
[[email protected] ~]# yum install sssd realmd oddjob oddjob-mkhomedir adcli samba-common samba-common-tools krb5-workstation openldap-clients policycoreutils-python
Mettez à jour le fichier /etc/hosts et /etc/resolv.conf afin que le nom DNS ou le nom d'hôte du serveur AD soit résolu correctement. Dans mon cas, le nom d'hôte du serveur AD est "adserver.example.com ", placez donc la ligne ci-dessous dans le fichier /etc/hosts
192.168.0.151 adserver.example.com adserver
Le contenu de resolv.conf devrait être quelque chose comme ci-dessous. Remplacez simplement le nom de domaine et l'adresse IP du serveur DNS selon votre configuration
[[email protected] ~]# cat /etc/resolv.conf search example.com nameserver 192.168.0.151 [[email protected] ~]#
Étape : 2 Rejoignez maintenant le domaine Windows ou intégrez-le à AD à l'aide de la commande realm
Lorsque nous installons les packages requis ci-dessus, la commande realm sera disponible. Nous utiliserons la commande under realm pour intégrer CentOS 7 ou RHEL 7 avec AD via l'utilisateur "tech". tech est un utilisateur lié qui dispose des privilèges requis sur AD ou nous pouvons également être un utilisateur administrateur d'AD Server à des fins d'intégration.
[[email protected] ~]# realm join --user=tech adserver.example.com Password for tech: [[email protected] ~]#
Vérifiez maintenant si notre serveur a rejoint le domaine Windows ou non. Exécutez simplement la commande 'liste de domaines ‘
[[email protected] ~]# realm list example.com type: kerberos realm-name: EXAMPLE.COM domain-name: example.com configured: kerberos-member server-software: active-directory client-software: sssd required-package: oddjob required-package: oddjob-mkhomedir required-package: sssd required-package: adcli required-package: samba-common-tools login-formats: %[email protected] login-policy: allow-realm-logins [[email protected] ~]#
Chaque fois que nous exécutons la commande 'realm join', elle configure automatiquement '/etc/sssd/sssd.conf ' fichier.
Étape : 3 Vérifier les utilisateurs AD sur les serveurs REHL 7 ou CentOS 7
Avec 'identifiant ' sous Linux, nous pouvons vérifier l'uid et le gid de l'utilisateur et ses informations de groupe. À ce stade, notre serveur fait maintenant partie du domaine Windows. Utilisez la commande ci-dessous pour vérifier les détails des utilisateurs AD.
[[email protected] ~]# id [email protected] uid=1997801106([email protected]) gid=1997800513(domain [email protected]) groups=1997800513(domain [email protected]e.com) [[email protected] ~]#
Vous avez peut-être remarqué dans la commande ci-dessus que j'ai mentionné le nom de domaine ainsi que le nom d'utilisateur car il est contrôlé par le fichier '/etc/sssd/sssd.conf'. Si nous exécutons la commande id sans nom de domaine, nous n'obtiendrons aucun détail pour l'utilisateur.
[[email protected] ~]# id linuxtechi id: linuxtechi: no such user [[email protected] ~]#
Nous pouvons changer ce comportement en éditant le fichier /etc/sssd/sssd.conf.
Modifiez les paramètres suivants à partir de
use_fully_qualified_names = True fallback_homedir = /home/%[email protected]%d
à
use_fully_qualified_names = False fallback_homedir = /home/%u
Redémarrez le service sssd à l'aide de la commande systemctl suivante
[[email protected] ~]# systemctl restart sssd [[email protected] ~]# systemctl daemon-reload
Exécutez maintenant la commande id et voyez si vous pouvez obtenir les détails de l'utilisateur AD sans mentionner le nom de domaine
[[email protected] ~]# id linuxtechi uid=1997801106(linuxtechi) gid=1997800513(domain users) groups=1997800513(domain users) [[email protected] ~]#
Essayons ssh CentOS 7 ou RHEL 7 Server avec les identifiants AD
[[email protected] ~]# ssh [email protected] [email protected]'s password: Last login: Fri Mar 3 10:18:41 2017 from serverb.example.com [[email protected] ~]$ id uid=1997801106(linuxtechi) gid=1997800513(domain users) groups=1997800513(domain users) [[email protected] ~]$ pwd /home/linuxtechi [[email protected] ~]$
Étape :4 Droits Sudo pour les utilisateurs AD sur CentOS 7 ou RHEL 7
Si vous souhaitez configurer les droits sudo pour les utilisateurs AD, la meilleure façon est de créer un groupe sur AD avec le nom sudoers et d'ajouter des utilisateurs Linux/UNIX dans ce groupe et sur le serveur Linux de créer un fichier avec le nom "sudoers ” sous le dossier /etc/sudoers.d/
Mettez le contenu suivant dans le fichier.
[[email protected] ~]# cat /etc/sudoers.d/sudoers %sudoers ALL=(ALL) ALL [[email protected] ~]#
Dans mon cas, j'ai donné tous les droits aux utilisateurs qui font partie du groupe sudoers. Une fois que vous avez terminé avec ces modifications, reconnectez-vous à votre serveur avec les informations d'identification AD et voyez si l'utilisateur fait partie du groupe sudoers.
C'est tout de cet article, j'espère que vous avez une idée de comment rejoindre le serveur RHEL ou CentOS avec le domaine Windows. Veuillez partager vos commentaires et vos précieux commentaires.