GNU/Linux >> Tutoriels Linux >  >> Cent OS

Samba 4 avec Active Directory sur une installation basée sur CentOS 7 rpm avec prise en charge du partage

Dans le dernier tutoriel, je vous ai montré comment configurer Samba sur Centos 7 en compilant Samba depuis les sources puisque le package fourni par RedHat ne supporte pas Active Directory. J'ai remarqué qu'il existe un référentiel appelé Wing qui fournit le rpm samba4 avec le support AD. Dans ce tutoriel, j'utiliserai ce référentiel pour l'installation de Samba. Je montrerai également comment créer un partage Samba.

Dans ce tutoriel, j'utiliserai un serveur CentOS 7 avec une installation minimale comme base avec SELinux activé.

Préparer le serveur CentOS 7

Vérifiez l'état de SELinux.

[[email protected] ~]# sestatusÉtat SELinux :enabledMontage SELinux :/sys/fs/selinuxRépertoire racine SELinux :/etc/selinuxNom de la stratégie chargée :targetMode actuel :enforcingMode à partir du fichier de configuration :enforcingPolicy État MLS :enabledPolicy deny_unknown état :allowMax version de la politique du noyau :28[[email protected] ~]# 

Créez une entrée dans le fichier hôte avec l'adresse IP du serveur suivie du nom d'hôte complet (fqdn), puis de la partie locale du nom d'hôte.

[[email protected] ~]# cat /etc/hosts127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6192.168.1.190 samba4.sunil.cc samba4[ [email protected] ~]# 

Installez le référentiel Epel CentOS.

[[email protected] ~]# yum install epel-release -y

Installez les packages de base.

[[email protected] ~]# yum install vim wget authconfig krb5-workstation -y 

Maintenant, installez le référentiel Wing.

[[email protected] ~]# cd /etc/yum.repos.d/[[email protected] yum.repos.d]# wget http://wing-net.ddo.jp/wing/7/ EL7.wing.repo[[email protected] yum.repos.d]# sed -i '[email protected][email protected][email protected]' /etc/yum.repos.d/EL7.wing.repo[[ email protected] yum.repos.d]# yum clean allLoaded plugins :mostfastmirrorCleaning repos :base extras updates wing wing-sourceNettoyage de toutNettoyage de la liste des miroirs les plus rapides[[email protected] yum.repos.d]# 

Installer Samba 4 sur CentOS 7

Installation des packages Samba4 à partir du référentiel wing avec yum.

[[email protected] yum.repos.d]# yum install -y samba45 samba45-winbind-clients samba45-winbind samba45-client\samba45-dc samba45-pidl samba45-python samba45-winbind-krb5-locator perl- Parse-Yapp\perl-Test-Base python2-crypto samba45-common-tools 

Supprimez ces fichiers.

 [[email protected] ~]# rm -rf /etc/krb5.conf[[email protected] ~]# rm -rf /etc/samba/smb.conf 

Configuration Samba 4

Nous allons maintenant faire le provisionnement du domaine.

[[email protected] ~]# samba-tool domain provision --use-rfc2307 --interactive Realm [SUNIL.CC] :domaine [SUNIL] :rôle de serveur (dc, membre, autonome) [dc] : DNS backend (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, NONE) [SAMBA_INTERNAL] :Adresse IP du redirecteur DNS (écrivez « aucun » pour désactiver le transfert) [4.2.2.1] :Mot de passe administrateur :Retapez le mot de passe :Recherche d'adresses IPv4 Recherche d'adresses IPv6 Aucune adresse IPv6 ne sera assignéConfiguration des secrets.ldbConfiguration du registreConfiguration de la base de données des privilègesConfiguration de la base de données idmapConfiguration de la base de données SAMConfiguration des partitions et des paramètres sam.ldbConfiguration de la racine sam.ldbDSEPréchargement du schéma Samba 4 et ADAjout du domaineDN :DC=sunil,DC=ccAjout du conteneur de configurationConfiguration Schéma sam.ldbConfiguration des données de configuration sam.ldbConfiguration des spécificateurs d'affichageModification des spécificateurs d'affichageAjout d'un conteneur d'utilisateursModification d'un conteneur d'utilisateursAjout d'un conteneur d'ordinateursModification d'un conteneur d'ordinateursConfiguration de données sam.ldbConfiguration de principaux de sécurité connus Configuration des utilisateurs et des groupes sam.ldbConfiguration de l'auto-jointureAjout de comptes DNSCréation de CN=MicrosoftDNS,CN=System,DC=sunil,DC=ccCréation des partitions DomainDnsZones et ForestDnsZonesRemplissage des partitions DomainDnsZones et ForestDnsZonesConfiguration du marquage racine sam.ldbDSE comme synchroniséFixation des GUID de fournitureConfiguration Kerberos adaptée à Samba 4 a été généré sur /var/lib/samba/private/krb5.confConfiguration de faux paramètres de serveur yp Une fois les fichiers ci-dessus installés, votre serveur Samba4 sera prêt à être utilisé sunil.ccDOMAIN SID :S-1-5-21-1578983437-3114190590-2362936743[[email protected] etc]# 

Assurez-vous que les ports sont ouverts dans le pare-feu.

[[email protected] etc]#firewall-cmd --add-port=53/tcp --permanent;firewall-cmd --add-port=53/udp --permanent;firewall-cmd --add- port=88/tcp --permanent;firewall-cmd --add-port=88/udp --permanent; \firewall-cmd --add-port=135/tcp --permanent;firewall-cmd --add-port=137-138/udp --permanent;firewall-cmd --add-port=139/tcp --permanent; \firewall-cmd --add-port=389/tcp --permanent;firewall-cmd --add-port=389/udp --permanent;firewall-cmd --add-port=445/tcp --permanent; \firewall-cmd --add-port=464/tcp --permanent;firewall-cmd --add-port=464/udp --permanent;firewall-cmd --add-port=636/tcp --permanent; \firewall-cmd --add-port=1024-3500/tcp --permanent;firewall-cmd --add-port=3268-3269/tcp --permanent[[email protected] ~]# firewall-cmd --reload 

Le paquet ne fournit pas le script d'initialisation, nous allons l'ajouter maintenant.

[[email protected] ~]# cat /etc/systemd/system/samba.service[Unit]Description=Samba 4 Active DirectoryAfter=syslog.targetAfter=network.target[Service]Type=forkingPIDFile=/var/run /samba.pidExecStart=/usr/sbin/samba[Install]WantedBy=multi-user.target[[email protected] ~]#[[email protected] ~]# systemctl enable sambaCreated symlink from /etc/systemd/system/multi -user.target.wants/samba.service vers /etc/systemd/system/samba.service.[[email protected] ~]# systemctl restart samba

Toutes les autres étapes sont similaires à mon article précédent

pour configurer les hôtes Windows et Linux, veuillez vous y référer

Installation du contrôleur de domaine Samba4 à partir de la source

Création du partage Samba avec prise en charge de Windows ACL

Nous devons configurer l'ACL étendue pour samba4. Ajoutez ce qui suit dans le fichier smb.conf sous global.

[[email protected] ~]# cat /etc/samba/smb.conf# Paramètres globaux[global] ------------ ------------ - vfs objects =acl_xattr map acl inherit =yes store dos attributs =yes ------------ -------------[[email protected] ~]# 

Redémarrez maintenant le service Samba.

[[email protected] ~]# systemctl redémarrer samba

Seuls les utilisateurs et les groupes disposant du privilège SeDiskOperatorPrivilege peuvent configurer les autorisations de partage.

[[email protected] ~]# net rpc rights grant "SUNIL\Domain Admins" SeDiskOperatorPrivilege -U "USER\administrator"Entrez le mot de passe de l'UTILISATEUR\administrateur :droits accordés avec succès.[[email protected] ~]#

Avant de créer le partage, nous devons nous assurer que le serveur samba4 s'authentifie auprès de lui-même.

Nous ne pouvons pas utiliser la méthode habituelle car elle ne fonctionne pas car le package existant de wing sera en conflit avec les packages fournis par RedHat, nous ne pouvons pas utiliser sssd ici. Nous utiliserons winbind pour que cela fonctionne.

Veuillez utiliser la méthode ci-dessous. Ceci est nécessaire pour créer le partage Samba avec des autorisations spécifiques

Installez le package ci-dessous.

[[email protected] ~]#yum -y install authconfig-gtk*

Exécutez la commande.

[[email protected] yum.repos.d]# authconfig-tui

veuillez sélectionner le winbind, suivez les étapes suivantes.

Vous ne pourrez pas entrer le mot de passe, appuyez simplement sur ok.

Puis commentez les lignes dans /etc/samba/smb.conf et redémarrez le service samba.

Votre configuration devrait ressembler à ceci :

[[email protected] ~]# cat /etc/samba/smb.conf# Paramètres globaux[global]#--authconfig--start-line--# Généré par authconfig le 2017/05/26 17:23 :04# NE PAS MODIFIER CETTE SECTION (délimitée par --start-line--/--end-line--)# Toute modification peut être supprimée ou modifiée par authconfig à l'avenir# workgroup =SUNIL# password server =samba4.sunil .cc# realm =SUNIL.CC# security =ads# idmap config * :range =16777216-33554431# template shell =/sbin/nologin# kerberos method =secrets only# winbind use default domain =false# winbind offline logon =false# --authconfig--end-line-- nom netbios =SAMBA4 realm =SUNIL.CC workgroup =SUNIL dns forwarder =4.2.2.1 server role =contrôleur de domaine Active Directory idmap_ldb:use rfc2307 =yes vfs objects =acl_xattr map acl inherit =yes stocker les attributs dos =yes[netlogon] path =/var/lib/samba/sysvol/sunil.cc/scripts read only =No[sysvol] path =/va r/lib/samba/sysvol lecture seule =Non[[email protected] ~]#[[email protected] ~]# systemctl restart samba

Vérifiez si nous pouvons renseigner les utilisateurs et les groupes :

[[email protected] ~]# wbinfo -uSUNIL\administratorSUNIL\sambauserSUNIL\testuserSUNIL\krbtgtSUNIL\guest[[email protected] ~]# wbinfo -gSUNIL\cert publishersSUNIL\ras and ias serversSUNIL\allowed rodc password replication groupSUNIL\ groupe de réplication de mot de passe rodc refuséSUNIL\dnsadminsSUNIL\contrôleurs de domaine en lecture seule d'entrepriseSUNIL\administrateurs de domaineSUNIL\utilisateurs de domaineSUNIL\invités de domaineSUNIL\ordinateurs de domaineSUNIL\contrôleurs de domaineSUNIL\administrateurs de schémaSUNIL\administrateurs d'entrepriseSUNIL\propriétaires du créateur de la stratégie de groupeSUNIL\contrôleurs de domaine en lecture seuleSUNIL\dnsupdateproxy[[ e-mail protégé] ~]#

Modifiez les lignes dans nsswitch.conf :

[[email protected] ~]# cat /etc/nsswitch.conf-------------------passwd :fichiers winbindshadow :fichiers winbindgroup :fichiers winbindhosts :fichiers dns winsservices :fichiers winbindnetgroup :fichiers winbind------------------

Vérifiez maintenant si nous pouvons obtenir le nom d'utilisateur à l'aide de la commande id :

[[email protected] ~]# id testuseruid=3000019(SUNIL\testuser) gid=100(users) groups=100(users),3000019(SUNIL\testuser),3000009(BUILTIN\users)[[email protected ] ~]#

Création d'un partage Samba

Je vais créer deux partages, l'un accessible uniquement par testuser et l'autre partagé accessible par tous les utilisateurs du groupe d'utilisateurs du domaine.

Le partage accessible par testuser s'appellera testshare.

Le partage accessible par tous les utilisateurs sera appelé partage commun.

[[email protected] ~]# mkdir /testshare[[email protected] ~]# mkdir /commonshare[[email protected] ~]# chmod 770 /testshare[[email protected] ~]# chmod 770 /commonshare[ [email protected] ~]# chown -R root:testuser /testshare[[email protected] ~]# chown -R root:"Domain Users" /commonshare

Ajoutez maintenant les entrées dans smb.conf

[[email protected] ~]# cat /etc/samba/smb.conf# Global parameters[global] netbios name =SAMBA4 realm =SUNIL.CC workgroup =SUNIL dns forwarder =4.2.2.1 server role =domaine Active Directory controller idmap_ldb:use rfc2307 =yes vfs objects =acl_xattr map acl inherit =yes store dos attributs =yes[netlogon] path =/var/lib/samba/sysvol/sunil.cc/scripts read only =No[sysvol] path =/ var/lib/samba/sysvol read only =No[TestShare] comment =Test share accessible by testuser path =/testshare valid users =SUNIL\testuser writable =yes read only =no force create mode =0660 create mask =0770 directory mask =0770 force directory mode =0770 access based share enum =yes hide unreadable =yes[CommonShare] comment =Accessible par tous les utilisateurs path =/commonshare valid users ="@SUNIL\Do main Users" writable =yes read only =no force create mode =0660 create mask =0777 directory mask =0777 force directory mode =0770 access based share enum =yes hide unreadable =yes[[email protected] ~]#

Redémarrez le service Samba.

[[email protected] ~]# systemctl redémarrer samba

Accédez au partage Samba en tant qu'utilisateur test.

Ici, vous verrez que testshare et commonshare sont visibles.

Testé la création de fichiers et de dossiers sous testshare.

[[email protected] /]# cd /testshare/[[email protected] testshare]# ls -ltotal 8-rwxrwx---+ 1 SUNIL\testuser users 0 May 27 22:56 1.txtdrwxrwx--- + 2 utilisateurs SUNIL\testuser 6 27 mai 22:56 test[[email protected] testshare]#

Maintenant, je me connecte en tant qu'utilisateur différent, seul le partage commun est visible :

Création de fichiers sous partage commun.

[[email protected] commonshare]# ls -ltotal 8drwxrwxrwx+ 2 utilisateurs SUNIL\testuser 6 27 mai 23:02 testdrwxrwxrwx+ 2 utilisateurs SUNIL\sambauser 6 mai 27 23:07 test2[[email protected] commonshare]#

C'est ainsi que nous créons des partages sous Samba 4.


Cent OS
  1. Étapes d'installation de CentOS 7 avec captures d'écran

  2. Étapes d'installation d'OpenCart 2.0 sur CentOS 7

  3. Comment installer ownCloud sur CentOS 7

  4. Choisir SSSD ou Winbind &Samba pour l'intégration d'Active Directory dans CentOS/RHEL

  5. Intégrez des serveurs Linux à Active Directory à l'aide de Samba, Winbind et Kerberos

Installation du contrôleur de domaine Samba 4 sur CentOS 7

Contrôleur de domaine supplémentaire Samba 4 pour la réplication de basculement sur CentOS 7

Installation et configuration du serveur Samba sur CentOS 7

Installation de Nginx avec PHP5 (et PHP-FPM) et prise en charge de MySQL sur CentOS 6.4

Intégrer Samba à Active Directory sur CentOS

Comment se connecter avec Samba à Linux Active Directory