Intégrer votre serveur NAS basé sur Samba dans RHEL/AlmaLinux avec un domaine Active Directory (AD) est une excellente façon de centraliser l’authentification des utilisateurs dans un réseau d’entreprise. Voici un guide pas à pas pour joindre votre serveur à un domaine AD et permettre aux utilisateurs authentifiés d’accéder aux ressources partagées de Samba.
## Objectif
* Joindre le serveur Linux (RHEL/AlmaLinux) à un domaine AD.
* Permettre aux utilisateurs du domaine d’accéder aux ressources partagées de Samba.
* Contrôler les permissions par groupe de domaine (optionnel).
## Prérequis
* Le serveur doit avoir un nom d’hôte FQDN (ex: `nas01.midominio.local`).
* L’horloge doit être synchronisée (utiliser NTP).
* Accès à un contrôleur de domaine (AD basé sur Windows Server).
* Paquets Samba installés.
* Un utilisateur avec les permissions pour joindre des machines au domaine.
## Étape 1: Configurer le nom de l’équipe et résoudre le DNS
Éditez le fichier `/etc/hostname`:
sudo hostnamectl set-hostname nas01.midominio.local
Assurez-vous que votre `/etc/hosts` et `/etc/resolv.conf` pointent vers le serveur DNS du domaine:
# /etc/resolv.conf nameserver 192.168.1.10 # IP de votre contrôleur de domaine search midominio.local
Vérifiez:
ping midominio.local host controlador.midominio.local
## Étape 2: Installer les paquets nécessaires
sudo dnf install -y realmd sssd adcli oddjob oddjob-mkhomedir samba-common-tools krb5-workstation
## Étape 3: Découvrir le domaine
realm discover midominio.local
Si tout se passe bien, vous devriez voir la configuration du domaine.## Étape 4: Joindre le système au domaine
sudo realm join --user=Administrador midominio.local
Le système vous demandera le mot de passe d’un utilisateur avec les permissions pour joindre des machines au domaine.
Vérifiez que vous êtes bien connecté:
realm list
Vous pouvez aussi vérifier avec:
id midominiojuan
## Étape 5: Configurer `/etc/samba/smb.conf` pour le domaine
Éditez le fichier:
sudo vim /etc/samba/smb.conf
Assurez-vous qu’il contient quelque chose comme ceci:
[global] workgroup = MIDOMINIO security = ads realm = MIDOMINIO.LOCAL dedicated keytab file = /etc/krb5.keytab kerberos method = secrets and keytab winbind use default domain = yes winbind enum users = yes winbind enum groups = yes idmap config * : backend = tdb idmap config * : range = 3000-7999 idmap config MIDOMINIO : backend = rid idmap config MIDOMINIO : range = 10000-999999
## Étape 6: Redémarrer les services
sudo systemctl restart sssd sudo systemctl restart smb nmb winbind
## Étape 7: Tester les utilisateurs du domaine
getent passwd 'midominiojuan'
## Étape 8: Partager un dossier avec les permissions du domaine
Par exemple, partager seulement pour le groupe de domaine `NASUsers`:
[nascompartido] path = /srv/nas/adcompartido browseable = yes read only = no guest ok = no valid users = @MIDOMINIONASUsers
Assurez-vous que le groupe de domaine `NASUsers` existe dans l’AD.
sudo mkdir -p /srv/nas/adcompartido sudo chown root:"MIDOMINIONASUsers" /srv/nas/adcompartido sudo chmod 2770 /srv/nas/adcompartido
⚠️ SELinux:
Si está habilitado, etiqueta la carpeta:sudo chcon -t samba_share_t /srv/nas/adcompartido
## Optionnel: Créer des dossiers home pour les utilisateurs du domaine
Activez cette option pour que les utilisateurs de AD aient leur propre répertoire home à la première connexion:
sudo authselect enable-feature with-mkhomedir
## Vérification finale
Depuis un ordinateur Windows joint au domaine:
* Ouvrez l’explorateur.
* Tapez `nas01.midominio.localnascompartido`
* Authentifiez-vous avec les identifiants du domaine.
Intégrer Samba avec Active Directory sur RHEL/AlmaLinux: Le Guide Complet
Table of Contents
Objectif
Ce guide explique comment intégrer votre serveur NAS Samba sur RHEL/AlmaLinux dans un domaine Active Directory (AD). Cela centralise l’authentification utilisateur et permet l’accès aux ressources partagées via Samba.
Prérequis (Rappel)
Nom d’hôte FQDN.
Synchronisation de l’horloge (NTP).
Accès à un contrôleur de domaine AD.
Paquets Samba installés.
Un utilisateur avec les permissions pour joindre des machines au domaine.
Étapes de Configuration
Étape 1: Configuration de base
- Définir le nom d’hôte :
sudo hostnamectl set-hostname nas01.midominio.local
- Configurer
/etc/resolv.conf
:
nameserver 192.168.1.10 # IP du contrôleur de domaine
search midominio.local
- Vérification DNS :
ping midominio.local
ethost controlador.midominio.local
Étape 2: Installation des paquets
bash
sudo dnf install -y realmd sssd adcli oddjob oddjob-mkhomedir samba-common-tools krb5-workstation
Étape 3: Découverte du domaine
bash
realm discover midominio.local
Étape 4: Joindre le serveur au domaine
bash
sudo realm join --user=Administrador midominio.local
Vérifiez : realm list
et id midominiojuan
Étape 5: Configuration desmb.conf
Éditez /etc/samba/smb.conf
:
[global]
workgroup = MIDOMINIO
security = ads
realm = MIDOMINIO.LOCAL
dedicated keytab file = /etc/krb5.keytab
kerberos method = secrets and keytab
winbind use default domain = yes
winbind enum users = yes
winbind enum groups = yes
idmap config: backend = tdb
idmap config * : range = 3000-7999
idmap config MIDOMINIO : backend = rid
idmap config MIDOMINIO : range = 10000-999999
Étape 6: Redémarrage des services
bash
sudo systemctl restart sssd
sudo systemctl restart smb nmb winbind
Étape 7: Test des utilisateurs du domaine
bash
getent passwd 'midominiojuan'
Étape 8: Partage de dossiers avec permissions du domaine
Exemple pour le groupe NASUsers
:
[nascompartido]
path = /srv/nas/adcompartido
browseable = yes
read only = no
guest ok = no
valid users = @MIDOMINIONASUsers
Création du dossier et permissions :
bash
sudo mkdir -p /srv/nas/adcompartido
sudo chown root:"MIDOMINIONASUsers" /srv/nas/adcompartido
sudo chmod 2770 /srv/nas/adcompartido
SELinux (Si activé):
bash
sudo chcon -t sambasharet /srv/nas/adcompartido
Optionnel: Création des dossiers home
bash
sudo authselect enable-feature with-mkhomedir
Tableau Récapitulatif
| Étape | Action | Commande d’Exemple |
| :——————— | :——————————————————————– | :—————————————————————— |
| Nom d’hôte | Définir le nom de l’hôte FQDN | sudo hostnamectl set-hostname nas01.midominio.local
|
| DNS | Configurer le serveur DNS | /etc/resolv.conf
|
| Installation Paquets | Installer les paquets requis | sudo dnf install -y ...
|
| Découverte Domaine | Découvrir le domaine | realm discover midominio.local
|
| Joindre au Domaine | Joindre le serveur au domaine AD | sudo realm join --user=Administrador midominio.local
|
| smb.conf | Configurer le fichier smb.conf | Modifier le fichier /etc/samba/smb.conf
|
| Redémarrage Services | Redémarrer les services Samba, SSSD, Winbind | sudo systemctl restart ...
|
| test Utilisateur | Tester l’accès des utilisateurs du domaine | getent passwd 'midominiojuan'
|
| Partage de Dossier | Partager un dossier avec les permissions du domaine | Créer le partage dans smb.conf
et ajuster les permissions |
| Home Directories (Optionnel) | Activer la création de dossiers home pour les utilisateurs du domaine | sudo authselect enable-feature with-mkhomedir
|
FAQ
Q: Comment vérifier si le serveur est bien joint au domaine?
R: realm list
et id midominionomutilisateur
. le résultat de ‘id’ doit afficher les informations de l’utilisateur du domaine.
Q: Que faire si je n’arrive pas à joindre le domaine?
R: Vérifiez la connectivité réseau, la résolution DNS, l’horodatage et les informations d’identification. Vérifiez également les journaux système (/var/log/sssd/sssd.log
et /var/log/samba/log.smbd
).
Q: Comment donner accès à un groupe de domaine à un partage samba?
R: Utilisez l’option valid users = @MIDOMINIOnomdugroupe
dans la configuration du partage dans /etc/samba/smb.conf
, et assurez-vous que le groupe existe dans l’AD.
Q: Comment configurer des dossiers home pour les utilisateurs du domaine?
R: Utilisez la commande sudo authselect enable-feature with-mkhomedir
et assurez-vous que le paquet oddjob-mkhomedir
est installé.
Q: Quelle est l’importance de SELinux ?
R: Si SELinux est activé, assurez-vous d’étiqueter les dossiers partagés avec la commande sudo chcon -t sambasharet /chemin/vers/le/dossier
. Cela permet à Samba d’accéder correctement aux fichiers.
Q: Redémarrer les services dans quel ordre?
R: Redémarrez les services dans l’ordre suivant : sssd
, smb
, nmb
et winbind
.