Linux:Configuration de Samba comme contrôleur principal d'un domaine NetBIOS

De WIKI.minetti.org
Révision de 7 avril 2016 à 18:48 par Jp (discussion | contributions) (Page créée avec « == But == Permettre aux postes Windows une authentification centralisée ainsi que l'accès à des ressources partagées à travers le '''Voisinage réseau'''. == Étape... »)

(diff) ← Version précédente | Voir la version courante (diff) | Version suivante → (diff)
Aller à : navigation, rechercher

But

Permettre aux postes Windows une authentification centralisée ainsi que l'accès à des ressources partagées à travers le Voisinage réseau.

Étape préliminaire

Avant de commencer, il est impératif:

Installation

L'idéal est d'installer le contrôleur principal du domaine (PDC) sur la même machine que le LDAP.

Taper la commande suivante pour installer Samba sur une CentOS/RedHat/Fedora:

yum install samba samba-client smbldap-tools samba-winbind samba-winbind-clients

Configuration au niveau du serveur LDAP

Ajout du schéma samba

  • Ajouter la ligne suivante dans le fichier /etc/openldap/schema_convert.conf pour ajouter le schéma Samba:
include /etc/openldap/schema/samba.schema
  • Déterminer le numéro de ligne qui vient d'être ajoutée dans le fichier en commençant par 0: dans notre cas se sera 12.
  • Exécuter les commandes suivantes pour convertir notre fichier .schema en .ldif:
cd /root/ldap
mkdir schema.tmp
slapcat -f /etc/openldap/schema_convert.conf -F /root/ldap/schema.tmp -n0 -s "cn={12}samba,cn=schema,cn=config" > cn=samba.ldif
  • Editer le fichier cn=samba.ldif:
vi cn\=samba.ldif
  • enlever le {12} présent sur les 3 premières lignes:
dn: cn=samba,cn=schema,cn=config
objectClass: olcSchemaConfig
cn: samba
  • supprimer les 7 dernières lignes:
structuralObjectClass: olcSchemaConfig
entryUUID: b53b75ca-083f-102d-9fff-2f64fd123c95
creatorsName: cn=config
createTimestamp: 20080827045234Z
entryCSN: 20080827045234.341425Z#000000#000#000000
modifiersName: cn=config
modifyTimestamp: 20080827045234Z
  • et taper la commande suivante pour importer le schéma:
ldapadd -Y EXTERNAL -H ldapi:/// -f cn=samba.ldif

Ajout des index samba

  • Créer le fichier samba-indexes.ldif suivant pour ajouter les indexes issus du nouveau schéma:
dn: olcDatabase={2}bdb,cn=config
changetype: modify
add: olcDbIndex
olcDbIndex: sambaSID eq,sub
-
add: olcDbIndex
olcDbIndex: sambaGroupType eq
-
add: olcDbIndex
olcDbIndex: sambaSIDList pres,eq
-
add: olcDbIndex
olcDbIndex: sambaDomainName pres,eq
  • exécuter la commande suivante:
ldapmodify -Y EXTERNAL -H ldapi:/// -f samba-indexes.ldif
  • et vérifier les indexes en exécutant la commande suivante:
ldapsearch -Y EXTERNAL -H ldapi:/// -b "cn=config" | grep ^olcDbIndex

Création du compte pour l'accès au LDAP

Créer le compte que le serveur Samba va utiliser pour accéder au LDAP:

  • pour cela, commencer par créer le fichier LDIF:
dn: cn=samba,ou=sysaccount,ou=localnet,dc=minetti,dc=org
objectClass: organizationalRole
objectClass: simpleSecurityObject
cn: samba
description: Compte serveur Samba
userPassword: ....
  • REMARQUE: Ne jamais mettre le mot de passe en clair (userPassword). Utiliser la commande suivante pour chiffrer le mot de passe:
slappasswd
  • Taper la commande suivante pour importer le nouveau compte dans le LDAP:
ldapadd -x -v -ZZ -D "cn=Manager,dc=minetti,dc=org" -W -f samba.ldif

Ajout des droits d'accès pour samba

  • Créer le fichier samba-acl.ldif suivant pour ajouter des droits d'accès au démon samba (et aussi NSS/PAM):
dn: olcDatabase={2}bdb,cn=config
add: olcAccess
olcAccess: {7}to dn.base="ou=people,ou=localnet,dc=minetti,dc=org" by dn="cn=Manager,dc=minetti,dc=org" manage by dn="cn=linux,ou=sysaccount,ou=localnet,dc=minetti,dc=org" write by dn="cn=samba,ou=sysaccount,ou=localnet,dc=minetti,dc=org" write by * read
olcAccess: {8}to dn.children="ou=people,ou=localnet,dc=minetti,dc=org" attrs=userPassword,shadowLastChange,sambaLMPassword,sambaNTPassword,sambaPwdLastSet by dn="cn=Manager,dc=minetti,dc=org" manage by dn="cn=linux,ou=sysaccount,ou=localnet,dc=minetti,dc=org" write by dn="cn=samba,ou=sysaccount,ou=localnet,dc=minetti,dc=org" write by dn="cn=httpd,ou=sysaccount,ou=localnet,dc=minetti,dc=org" read by dn="cn=radius,ou=sysaccount,ou=localnet,dc=minetti,dc=org" read by self write by anonymous auth by * none
olcAccess: {9}to dn.children="ou=people,ou=localnet,dc=minetti,dc=org" by dn="cn=Manager,dc=minetti,dc=org" manage by dn="cn=linux,ou=sysaccount,ou=localnet,dc=minetti,dc=org" write by dn="c" write by self write by * read
olcAccess: {11}to dn.base="ou=group,ou=localnet,dc=minetti,dc=org" by dn="cn=Manager,dc=minetti,dc=org" manage by dn="cn=linux,ou=sysaccount,ou=localnet,dc=minetti,dc=org" write by dn="cn=samba,ou=sysaccount,ou=localnet,dc=minetti,dc=org" write by * read
olcAccess: {12}to dn.children="ou=group,ou=localnet,dc=minetti,dc=org" by dn="cn=Manager,dc=minetti,dc=org" manage by dn="cn=linux,ou=sysaccount,ou=localnet,dc=minetti,dc=org" write by dn="cn=samba,ou=sysaccount,ou=localnet,dc=minetti,dc=org" write by * read
olcAccess: {14}to dn.base="ou=hosts,ou=localnet,dc=minetti,dc=org" by dn="cn=Manager,dc=minetti,dc=org" manage by dn="cn=samba,ou=sysaccount,ou=localnet,dc=minetti,dc=org" write by * read
olcAccess: {15}to dn.children="ou=hosts,ou=localnet,dc=minetti,dc=org" by dn="cn=Manager,dc=minetti,dc=org" manage by dn="cn=samba,ou=sysaccount,ou=localnet,dc=minetti,dc=org" write by * read
olcAccess: {17}to dn.base="ou=idmap,ou=localnet,dc=minetti,dc=org" by dn="cn=Manager,dc=minetti,dc=org" manage by dn="cn=samba,ou=sysaccount,ou=localnet,dc=minetti,dc=org" write by * read
olcAccess: {18}to dn.children="ou=idmap,ou=localnet,dc=minetti,dc=org" by dn="cn=Manager,dc=minetti,dc=org" manage by dn="cn=samba,ou=sysaccount,ou=localnet,dc=minetti,dc=org" write by * read
olcAccess: {20}to dn.base="ou=localnet,dc=minetti,dc=org" by dn="cn=Manager,dc=minetti,dc=org" manage by dn="cn=samba,ou=sysaccount,ou=localnet,dc=minetti,dc=org" write by * read
olcAccess: {21}to dn.one="ou=localnet,dc=minetti,dc=org" filter="objectClass=sambaDomain" by dn="cn=Manager,dc=minetti,dc=org" manage by dn="cn=samba,ou=sysaccount,ou=localnet,dc=minetti,dc=org" write by * read
olcAccess: {24}to dn.base="dc=minetti,dc=org" by dn="cn=Manager,dc=minetti,dc=org" manage by dn="cn=samba,ou=sysaccount,ou=localnet,dc=minetti,dc=org" write by * read
  • puis exécuter la commande suivante:
ldapmodify -Y EXTERNAL -H ldapi:/// -f samba-acl.ldif
  • et vérifier les droits d'accès en exécutant la commande suivante:
ldapsearch -Y EXTERNAL -H ldapi:/// -b "cn=config" | grep ^olcAccess

ATTENTION: S'assurer que l'utilisateur samba a bien les droits de modification au niveau de la base du LDAP (ou=localnet,dc=minetti,dc=org).

Test

  • Pour terminer vérifier l'accès en tapant la commande suivante:
ldapsearch -vx -ZZ -D "cn=samba,ou=sysaccount,ou=localnet,dc=minetti,dc=org" -W "(objectClass=*)"

Configuration de Samba

  • Tout d'abord, il faut s'assurer que le démon nscd ne fonctionne pas (sa présence provoque une erreur à chaque fois qu'on joint une machine au domaine):
ntsysv
  • Modifier le fichier /etc/samba/smb.conf pour qu'il ressemble à ceci:
[global]
	
# Nom du domaine
workgroup = MINETTI

# Nom qui apparaît lors du parcours réseau (%h = hostname)
server string = Serveur principal

# Nom de la machine (hostname)
netbios name = amon

# Ecoute uniquement sur les interfaces réseaux mentionnées
bind interfaces only = true

# Interfaces réseaux en écoute
interfaces = lo eth0

# Droits d'accès des machines
hosts allow = 127. 192.168.1.

# Option de connections
socket options = TCP_NODELAY IPTOS_LOWDELAY IPTOS_THROUGHPUT SO_KEEPALIVE SO_RCVBUF=8192 SO_SNDBUF=8192

# Chemin et fichier des logs (par machine cliente)	
log file = /var/log/samba/%m.log

# Taille maximum en ko d'un fichier de logs
max log size = 5000

# Niveau des logs
log level = 0

# Mode authentification
security = user

# Le serveur est le maître explorateur du domaine pour son domaine	
domain master = yes

# Active la fonction contrôleur de domaine
domain logons = yes

# Connexion au LDAP (mode TLS)
passdb backend = ldapsam:ldap://ldap.srv.minetti.org
ldap ssl = start tls

# Utilisateur LDAP
ldap admin dn = cn=samba,ou=sysaccount,ou=localnet,dc=minetti,dc=org

# Suffix LDAP
ldap suffix = ou=localnet,dc=minetti,dc=org
ldap group suffix = ou=group
ldap user suffix = ou=people
ldap machine suffix = ou=hosts
ldap idmap suffix = ou=idmap

# Synchronisation des mots de passe avec les comptes UNIX
ldap passwd sync = no
unix password sync = yes

# Activation des privilèges autorisant la gestion des droits des utilisateurs
enable privileges = yes

# Autorise les suppressions dans le LDAP
ldap delete dn = yes

# Logs
ldap debug level = 0

# Scripts de mise à jour des comptes (voir /etc/smbldap-tools/smbldap.conf)
add user script = /usr/sbin/smbldap-useradd -m -N "Prénom" -S "NOM" "%u"
delete user script = /usr/sbin/smbldap-userdel "%u"
add machine script = /usr/sbin/smbldap-useradd -W "%u"
add group script = /usr/sbin/smbldap-groupadd -p "%g"
delete group script = /usr/sbin/smbldap-groupdel "%g"
add user to group script = /usr/sbin/smbldap-groupmod -m "%u" "%g"
delete user from group script = /usr/sbin/smbldap-groupmod -x "%u" "%g"
set primary group script = /usr/sbin/smbldap-usermod -g "%g" "%u"

passwd program = /usr/sbin/smbldap-passwd -u "%u"
passwd chat = "Changing UNIX password for*\nNew password*" %n\n "*Retype new password*" %n\n
passwd chat debug = no

# Activation du cryptage des mots de passe
encrypt passwords = yes

# Compte pour les utilisateurs inconnus
guest account = nobody

# Le serveur est le maître explorateur du réseau local pour son domaine
local master = yes

# Niveau pour choisir parmis les favoris des serveurs maître du domaine
os level = 33

# Le serveur est le favoris parmi les serveurs maître du domaine
preferred master = yes

# Active le serveur WINS (service de noms NetBIOS)	
wins support = yes

# Autorise ou pas le serveur WINS à questionner le DNS s'il n'arrive 
# pas à résoudre une adresse	
dns proxy = yes

# Le serveur WINS utilise le domaine MINETTI
winbind use default domain = yes

# Partage toutes les imprimantes définies dans le fichier printcap	
load printers = yes

# Système d'impression utilisé: bsd, aix, lprng, plp, sysv, hpux, qnx, softq et cups
printing = cups

# Emplacement du fichier printcap, récapitulant toutes les imprimantes 
printcap name = cups

# Options du système CUPS
cups options = raw

# Shell de connexion pour les utilisateurs du domaine
template shell = /bin/false

# Lecteur réseau utilisé pour accéder au répertoire personnel
logon drive = Y:

# Script DOS exécuté sur le client à chaque connexion dans le domaine
logon script = startup.bat

# Chemin DOS des profils itinérants
logon path = \\%L\%U\.winprofile

# Pas de différenciation entre majuscules et minuscules
case sensitive = no

# Casse en minuscules par défaut
default case = lower

# Garder la casse des noms de fichiers
preserve case = yes
short preserve case = yes

# Table de caractères du serveur SAMBA
unix charset = UTF-8

# Table de caractères des postes WINDOWS
dos charset = 850

# Fichiers caches
hide files = /desktop.ini/ntuser.ini/NTUSER.*/lost+found/

# Lockage des fichiers
locking = yes

# Limitation du lockage des fichiers
strict locking = no

# Pas de verrouillage opportuniste par les processus de niveau 1
oplocks = no

# Pas de verrouillage opportuniste par les processus de niveau 2
level2 oplocks = no

# Pas de verrouillage opportuniste par le système UNIX
kernel oplocks = no

# Pour pouvoir synchroniser l'horloge des clients sur celle du serveur
time server = yes

# Prise en compte des liens symboliques Linux
#follow symlinks = yes
#wide links = yes
#unix extensions = no


# ==============================================================================
# PARTAGE: Répertoires personnels des utilisateurs
# ==============================================================================
	
[homes]

# Commentaire qui apparaît lors du parcours réseau
comment = Répertoire personnel

# Le partage est visible uniquement pour les utilisateurs ayant les droits d'accès
browseable = no

# Le partage est accessible en écriture sous réserve des permissions Linux 
writable = yes

# Utilisateurs autorisés à se servir du partage
valid users = MINETTI\%S

# Permissions des nouveaux fichiers dans le partage
create mode = 0600

# Permissions des nouveaux répertoires dans le partage
directory mode = 0700

# Cache les fichiers cachés au sens Linux, commençant par un point
hide dot files = yes


# ==============================================================================
# PARTAGE: Répertoire des scripts de démarrage
# ==============================================================================

[netlogon]

# Commentaire qui apparaît lors du parcours réseau
comment = Répertoire des scripts de démarrage

# Répertoire du partage
path = /var/lib/samba/netlogon

# Le partage n'est pas visible
browseable = no

# Le partage est accessible pour les invités
guest ok = yes

# Le partage est accessible en lecture/écriture
read only = no

# Utilisateurs autorisés à se servir du partage
valid users = %U

# Utilisateurs/groupes ayant les droits de modification sur ce partage
write list = @Administrateurs

# Propriétaire des nouveaux fichiers et répertoires dans le partage
force user = root

# Groupe des nouveaux fichiers et répertoires dans le partage
force group = root

# Permissions des nouveaux fichiers dans le partage
create mode = 0644

# Permissions des nouveaux répertoires dans le partage
directory mode = 0755

# Pas de verrouillage des fichiers
locking = no

# Cache les fichiers cachés au sens Linux, commençant par un point
hide dot files = no


# ==============================================================================
# PARTAGE: Répertoire données communes
# ==============================================================================

[minetti]

# Commentaire qui apparaît lors du parcours réseau 
comment = Répertoire de partage des documents communs

# Répertoire du partage
path = /var/minetti

# Le partage est visible pour tous les utilisateurs
browsable = yes

# Le partage est accessible en écriture sous réserve des permissions Linux 
writable = yes

# Utilisateurs autorisés à se servir du partage
valid users = %U

# Utilisateurs/groupes ayant les droits root sur ce partage
admin users = admin

# Permissions des nouveaux fichiers dans le partage
create mode = 0660

# Permissions des nouveaux répertoires dans le partage
directory mode = 0770

# Cache les fichiers cachés au sens Linux, commençant par un point
hide dot files = yes


# ==============================================================================
# PARTAGE: Imprimantes
# ==============================================================================

[printers]

# Commentaire du partage
comment = Toutes les imprimantes de %h.srv.minetti.org

# Répertoire de la file d'attente des impressions
path = /var/spool/samba

# Le partage n'est pas visible
browseable = no

# Partage en accès libre sans authentification nécéssaire
guest ok = yes

# Le partage est accessible en lecture seule (aucun fichier autre qu'un fichier d'impression ne peut être mis dans le partage)
writable = no

# Partage de type impression
printable = yes
  • Taper la commande suivante pour indiquer le mot de passe de cn=samba,ou=sysaccount,ou=localnet,dc=minetti,dc=org:
smbpasswd -w ......
  • Pour que le démon Samba puisse accéder au fichier .ldaprc et éviter les erreurs de type Failed to issue the StartTLS instruction: Connect error, il est impératif de copier le fichier /root/.ldaprc vers /etc/samba en gardant le même propriétaire, groupe et droits (/etc/samba n'a pas été choisi au hazard car selinux autorise le démon smbd à lire les fichiers):
cp /root/.ldaprc /etc/samba/
  • et d'ajouter la ligne suivante au début du fichier /etc/init.d/smb:
export HOME=/etc/samba
  • Créer le répertoire netlogon en tapant les commandes suivantes:
cd /var/lib/samba
mkdir netlogon
  • Créer le fichier startup.bat dans le répertoire netlogon afin qu'il ressemble à ceci:
@echo off
net time \\AMON /set /yes

net use Z: /delete
net use Z: \\AMON\minetti /persistent:yes
  • Créer un autre fichier startup-admins.bat dans le répertoire netlogon afin qu'il ressemble à ceci:
@echo off
startup.bat

net use V: /delete
net use V: \\AMON\netlogon /persistent:yes
  • Démarrer Samba en tapant les commandes suivantes:
service smb start
service nmb start
service winbind start
  • A travers phpLDAPadmin, vérifier que l'objet nommé sambaDomainName=MINETTI est bien présent dans la base du LDAP (ou=localnet,dc=minetti,dc=org) et modifier les propriétés gidNumber et uidNumber qui devront prendre l'identifiant numérique du prochain groupe et du prochain utilisateur.
  • Modifier la ligne suivante dans le fichier /etc/nsswitch.conf:
hosts:      files ldap dns wins
  • Taper la commande suivante pour relever le SID:
net getlocalsid
SID for domain AMON is: S-1-5-21-1594600318-3893234564-2187586626
  • Modifier le fichier /etc/smbldap-tools/smbldap.conf pour qu'il ressemble à ceci:
SID="......." # le SID obtenu précédemment
sambaDomain="MINETTI"

slaveLDAP="ldap.srv.minetti.org"
slavePort="389"
masterLDAP="ldap.srv.minetti.org"
masterPort="389"
ldapTLS="1"
ldapSSL="0"
verify="require"
cafile="/etc/openldap/cacerts/minettica.pem"
clientcert="/etc/pki/tls/certs/amon.pem"
clientkey="/etc/pki/tls/private/amon.key"
suffix=ou=localnet,dc=minetti,dc=org
usersdn="ou=people,${suffix}"
computersdn="ou=hosts,${suffix}"
groupsdn="ou=group,${suffix}"
idmapdn="ou=idmap,${suffix}"
sambaUnixIdPooldn="sambaDomainName=${sambaDomain},${suffix}"
scope="sub"
hash_encrypt="CRYPT"
crypt_salt_format="$1$%.8s"

userLoginShell="/bin/bash"
userHome="/home/%U"
userHomeDirectoryMode="700"
userGecos="Prénom NOM"
defaultUserGid="513"
defaultComputerGid="515"
skeletonDir="/etc/skel"

userSmbHome="\\AMON\%U"
userProfile="\\AMON\%U\.winprofile"
userHomeDrive="Y:"
userScript="startup.bat"
mailDomain="minetti.org"

with_smbpasswd="0"
smbpasswd="/usr/bin/smbpasswd"
with_slappasswd="0"
slappasswd="/usr/sbin/slappasswd"
  • Modifier le fichier /etc/smbldap-tools/smbldap_bind.conf pour qu'il ressemble à ceci:
slaveDN="cn=samba,ou=sysaccount,ou=localnet,dc=minetti,dc=org"
slavePw="....."
masterDN="cn=samba,ou=sysaccount,ou=localnet,dc=minetti,dc=org"
masterPw="....."
smbldap-populate -a admin
Populating LDAP directory for domain MINETTI (S-1-5-21-1594600318-3893234564-2187586626)
(using builtin directory structure)

entry ou=localnet,dc=minetti,dc=org already exist. 
entry ou=people,ou=localnet,dc=minetti,dc=org already exist. 
entry ou=group,ou=localnet,dc=minetti,dc=org already exist. 
entry ou=hosts,ou=localnet,dc=minetti,dc=org already exist. 
entry ou=idmap,ou=localnet,dc=minetti,dc=org already exist. 
adding new entry: uid=admin,ou=people,ou=localnet,dc=minetti,dc=org
adding new entry: uid=nobody,ou=people,ou=localnet,dc=minetti,dc=org
adding new entry: cn=Domain Admins,ou=group,ou=localnet,dc=minetti,dc=org
adding new entry: cn=Domain Users,ou=group,ou=localnet,dc=minetti,dc=org
adding new entry: cn=Domain Guests,ou=group,ou=localnet,dc=minetti,dc=org
adding new entry: cn=Domain Computers,ou=group,ou=localnet,dc=minetti,dc=org
adding new entry: cn=Administrators,ou=group,ou=localnet,dc=minetti,dc=org
adding new entry: cn=Account Operators,ou=group,ou=localnet,dc=minetti,dc=org
adding new entry: cn=Print Operators,ou=group,ou=localnet,dc=minetti,dc=org
adding new entry: cn=Backup Operators,ou=group,ou=localnet,dc=minetti,dc=org
adding new entry: cn=Replicators,ou=group,ou=localnet,dc=minetti,dc=org
entry sambaDomainName=MINETTI,ou=localnet,dc=minetti,dc=org already exist. Updating it...

Please provide a password for the domain admin: 
Changing UNIX and samba passwords for admin
New password: 
Retype new password:
  • Taper la commande suivante pour tester l'accès au domaine MINETTI:
smbclient -L \\AMON -U toto
Enter toto's password: 
Domain=[MINETTI] OS=[Unix] Server=[Samba 3.5.10-125.el6]

	Sharename       Type      Comment
	---------       ----      -------
	minetti         Disk      Répertoire de partage des documents communs
	IPC$            IPC       IPC Service (Serveur principal)
	toto            Disk      Répertoire personnel
Domain=[MINETTI] OS=[Unix] Server=[Samba 3.5.10-125.el6]

	Server               Comment
	---------            -------
	AMON                 Serveur principal

	Workgroup            Master
	---------            -------
	MINETTI              AMON
  • Taper la commande suivante pour tester un partage:
smbclient //AMON/minetti -U toto
  • Taper la commande suivante pour tester le bon fonctionnement du serveur WINS:
nmblookup -A amon
added interface lo ip=::1 bcast=::1 netmask=ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff
added interface lo ip=127.0.0.1 bcast=127.255.255.255 netmask=255.0.0.0
added interface eth0 ip=fe80::213:d3ff:fe35:895c%eth0 bcast=fe80::ffff:ffff:ffff:ffff%eth0 netmask=ffff:ffff:ffff:ffff::
added interface eth0 ip=192.168.1.1 bcast=192.168.1.255 netmask=255.255.255.0
Socket opened.
Looking up status of 192.168.1.1
	AMON            <00> -         H <ACTIVE> 
	AMON            <03> -         H <ACTIVE> 
	AMON            <20> -         H <ACTIVE> 
	..__MSBROWSE__. <01> - <GROUP> H <ACTIVE> 
	MINETTI         <1d> -         H <ACTIVE> 
	MINETTI         <1b> -         H <ACTIVE> 
	MINETTI         <1c> - <GROUP> H <ACTIVE> 
	MINETTI         <1e> - <GROUP> H <ACTIVE> 
	MINETTI         <00> - <GROUP> H <ACTIVE> 

	MAC Address = 00-00-00-00-00-00
  • Compléter les champs de l'utilisateur admin avec:
displayName: Administrateur
mail: root@minetti.org
gecos: Administrateur du domaine MINETTI
homeDirectory: /root
sambaAcctFlags: [UX]
  • Ouvrir les ports UDP 137 et 138, et TCP 139 et 145 dans iptables.
  • Ne pas oublier de rendre le lancement des démons smb et nmb automatique à chaque démarrage du serveur:
ntsysv		# sous CentOS/RedHat/Fedora
  • Avant de commencer à joindre des postes dans le domaine, il est impératif de paramétrer SELinux en exécutant les commandes suivantes:
setsebool -P samba_domain_controller on
setsebool -P samba_export_all_rw on
restorecon -R -v /home
setsebool -P samba_enable_home_dirs on
semanage fcontext -a -t samba_share_t '/var/minetti(/.*)?'
restorecon -R -v /var/minetti
semanage fcontext -a -t samba_unconfined_script_exec_t '/usr/sbin/smbldap-useradd'
semanage fcontext -a -t samba_unconfined_script_exec_t '/usr/sbin/smbldap-userdel'
semanage fcontext -a -t samba_unconfined_script_exec_t '/usr/sbin/smbldap-usermod'
semanage fcontext -a -t samba_unconfined_script_exec_t '/usr/sbin/smbldap-groupadd'
semanage fcontext -a -t samba_unconfined_script_exec_t '/usr/sbin/smbldap-groupdel'
semanage fcontext -a -t samba_unconfined_script_exec_t '/usr/sbin/smbldap-groupmod'
semanage fcontext -a -t samba_unconfined_script_exec_t '/usr/sbin/smbldap-passwd'
restorecon -R -v /usr/sbin
  • Joindre le serveur au domaine en tapant la commande suivante:
net rpc join PDC -S amon -Uadmin