Microsoft AD & Serveur de fichiers Centos 7.1

Certaines personnes se demandent peut-être : “Comment faire pour remplacer un serveur de fichier Windows par un serveur Linux ? “. Si c’est le cas, je vous conseille de lire cet article. Vous y découvrirez la manière dont j’ai procédé pour remplacer mon serveur de fichier Windows tout en conservant un AD sous Windows. STOP au serveur de fichier sous Windows.

La configuration de ce LAB se présente ainsi. Un serveur Active Directory sous Windows 2012R2, pour la gestion des droits utilisateurs, et les DNS, et un serveur Samba Centos 7.1 pour le partage de fichiers. Cette solution nous permettra de faire une économie des ressources physique grâce au serveur Centos. L’administration depuis le serveur Microsoft, se révèle un bon choix grâce à sa simplicité d’utilisation, et sa gestion des utilisateurs performante.

J’exposerai dans cet article la manière dont j’ai installé et configuré le serveur Samba. Mais je ne vous présenterai pas la partie concernant les entrées DNS. Pour information, elles ont été créées sur le même serveur que l’AD.

Installation de Samba

Pour affiner vos réglages suivant vos besoins, je vous recommande de consulter la documentation. Vous pouvez accéder à la documentation de cette manière.

[root@nfsshare ~]# man smb.conf

Commençons par faire l’installation des “packages” nécessaire pour le serveur Samba.

root@nfsshare ~]# yum install realmd samba samba-common oddjob oddjob-mkhomedir sssd ntpdate ntp

Nous utiliserons le serveur AD comme serveur de temps. Pour cela, nous devons créer le service ntpd.service, ensuite nous le configurerons et enfin, nous ferons le démarrage de celui-ci.

#Activez le service ntpd
[root@nfsshare ~]# systemctl enable ntpd.service
#Configuration du service pour récupérer les informations sur le serveur Domaine Contrôleur
[root@nfsshare ~]# ntpdate Hostname.Domain.local
#On démarre le service ntpd
[root@nfsshare ~]# systemctl start ntpd.service

Nous ajoutons le serveur Samba au domaine “domain.local” grâce au compte administrator@domain.local

[root@nfsshare ~]# realm join --user=administrator@domain.local domain.local

Nous pouvons vérifier l’ajout dans le domaine pour ce serveur grâce à la commande suivante.

[root@nfsshare ~]# realm list

Configuration de Samba (/etc/samba/smb.conf)

[root@nfsshare ~]# cat /etc/samba/smb.conf
# See smb.conf.example for a more detailed config file or
# read the smb.conf manpage.
# Run 'testparm' to verify the config is correct after
# you modified it.

[global]
#Mon domaine sans le tld
workgroup = MYDOMAIN
server string = Samba Server Version %v
#IP autoriser la plage IP suivante pour accéder à ce partage (Exemple : 192.168.)
hosts allow = 192.168.

log file = /var/log/samba/log.%m
max log size = 50
security = ads
encrypt passwords = yes
passdb backend = tdbsam
#Mon domain.local
realm = domaine.local

load printers = no
cups options = raw
printcap name = /dev/null

[MyShareName]
comment = Mes commentaires
path = /Chemin de mon dossier
public = no
writable = yes
guest ok = no
read only = no
#On autorise les utilisateurs suivant
valid users = @"GroupeAD@domain.local",user@domain.local

Configuration du dossier partager

#Ajout du Groupe AD sur ce dossier
[root@nfsshare ~]# chown root:GroupAD@domain.local /MyFolder
#Modification des droits pour ce dossier
[root@nfsshare ~]# chmod 775 /MyFolder

Montage du Volume

À partir de ce moment, nous pouvons monter notre volume depuis Windows ou un Linux. Sous Linux, il faudra ajouter le “package” suivant pour le monter au démarrage. Il faudra créer un fichier contenant le nom d’utilisateur, mot de passe et domaine ayant les droits de monter ce volume.

[root@nfsshare ~]# yum install cifs-utils

Créer un fichier contenant les informations d’authentification. Dans cet exemple, je l’ai créé en invisible dans le dossier “root”.

[root@nfsshare ~]# cat /root/.cred
username=UserdeService
password=PassUserdeService
domain=DOMAIN

Vous pouvez ensuite modifier le fichier (/etc/fstab) pour monter votre volume au démarrage de la machine.

(...)
//IPServeur/CheminDuDossier        /pointdemontagelocal     cifs    _netdev,users,auto,users,credentials=/root/.cred         0 0

Ou effectuer la commande suivante pour le monter le volume temporairement.

[root@nfsshare ~]# mount -t cifs //IPServeur/CheminDuDossier /pointdemontagelocal -o username=UserdeService,password=PassUserService,domain=DOMAIN

Il faudra penser à ouvrir votre pare-feu pour le service samba. Nous pourrons ensuite démarrer les services Samba ou les créer si cela n’est pas fait.

firewall-cmd --permanent --add-service=samba
firewall-cmd --reload
#On redemare le service nmb
[root@nfsshare ~]# systemctl restart nmb.service
#On active le service smb
[root@nfsshare ~]# systemctl enable smb.service
#On démarre le service smb
[root@nfsshare ~]# systemctl start smb.service

Il faudra désactiver SeLinux. Pour le désactiver, vous devez modifier le fichier (/etc/selinux/config) de la manière suivante.

[root@nfsshare ~]# cat /etc/selinux/config 

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled

Effacer le cache du serveur Samba

Lorsque vous modifier les droits utilisateurs, le cache du serveur Samba doit être mis à jour. Les modifications ne sont pas prise en charge instantanément. Vous trouverez l’ensemble des bases local à cet emplacement (/var/lib/sss/db/). Pour plus d’information, vous pouvez vous rendre à cette adresse Clear Cache.
Pour ma part, j’utilise le plus souvent l’option suivante.

[root@nfsshare ~]# sss_cache -Ed yourdomain.LOCAL

Avec la commande suivante, vous pouvez vérifier l’état de votre cache depuis votre serveur de fichier.

[root@nfsshare ~]# id User@domain.local

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.