Linux:Configuration de Samba comme serveur membre d'un domaine NetBIOS

De WIKI.minetti.org
Révision de 7 avril 2016 à 18:49 par Jp (discussion | contributions) (Page créée avec « == But == Permettre aux postes Windows un accès à des ressources partagées à travers le '''Voisinage réseau'''. == Étape préliminaire == Avant de commencer, il est... »)

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

But

Permettre aux postes Windows un accès à des ressources partagées à travers le Voisinage réseau.

Étape préliminaire

Avant de commencer, il est impératif de disposer d'un serveur Samba en contrôleur principal de domaine (PDC).

Installation

Taper la commande suivante pour installer Samba en tant que membre du domaine:

  • sur une CentOS/RedHat/Fedora:
yum install samba samba-client samba-winbind samba-winbind-clients
  • sur une Debian:
aptitude install samba samba-client samba-common-bin winbind

Configuration de Samba

  • 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 de compilation et d'intégration continue

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

# 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 10
#log level = 3 smb:0 passdb:0 auth:0 winbind:0 vfs:0
log level = 0

# Mode authentification
security = domain

# Serveur contrôleur de domaine
password server = amon

# Le serveur n'est pas le maître explorateur du domaine pour son domaine
domain master = no

# N'active pas la fonction contrôleur de domaine
domain logons = 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 = 0

# Le serveur n'est pas le favoris parmi les serveurs maître du domaine
preferred master = no

# Pas de serveur WINS (service de noms NetBIOS)
wins support = no

# Serveur WINS externe
wins server = 192.168.1.1

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

# Pas de partage d'imprimantes
load printers = no

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

# 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

# Pas de synchronisation de l'horloge des clients sur celle du serveur
time server = no

# 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: Apache ANT
# ==============================================================================

[ant]

# Commentaire qui apparaît lors du parcours réseau
comment = Apache ANT

# Répertoire du partage
path = /usr/opt/apache-ant

# 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 = @developpeurs

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

# Groupe propriétaire des nouveaux fichiers et répertoires dans le partage
force group = developpeurs

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

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

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


# ==============================================================================
# PARTAGE: Apache MAVEN
# ==============================================================================

[maven]

# Commentaire qui apparaît lors du parcours réseau
comment = Apache MAVEN

# Répertoire du partage
path = /usr/opt/apache-maven

# 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 = @developpeurs

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

# Groupe propriétaire des nouveaux fichiers et répertoires dans le partage
force group = developpeurs

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

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

# Cache les fichiers cachés au sens Linux, commençant par un point
hide dot files = yes
  • Démarrer Samba en tapant les commandes suivantes pour une CentOS/RedHat/Fedora:
service smb start
service nmb start
service winbind start
  • ou les commandes suivantes pour une Debian:
/etc/init.d/samba restart
/etc/init.d/winbind restart
  • Faire joindre le serveur au domaine en tapant la commande suivante:
net rpc join -S amon -Uadmin
  • Avant d'aller plus loin, il est impératif de paramétrer SELinux en exécutant les commandes suivantes:
setsebool -P samba_export_all_rw on
restorecon -R -v /home
setsebool -P samba_enable_home_dirs on
  • Modifier la ligne suivante dans le fichier /etc/nsswitch.conf:
hosts:      files ldap dns wins
  • Taper la commande suivante pour tester l'accès au domaine MINETTI:
smbclient -L \\isis -U toto
Enter toto's password: 
Domain=[MINETTI] OS=[Unix] Server=[Samba 3.5.10-125.el6]

	Sharename       Type      Comment
	---------       ----      -------
	ant             Disk      Apache ANT
	maven           Disk      Apache MAVEN
	IPC$            IPC       IPC Service (Serveur de compilation et d'intégration continue)
	toto            Disk      Répertoire personnel
Domain=[MINETTI] OS=[Unix] Server=[Samba 3.5.10-125.el6]

	Server               Comment
	---------            -------
	ISIS                 Serveur de compilation et d'intégration continu
	AMON                 Serveur principal

	Workgroup            Master
	---------            -------
	MINETTI              AMON
  • Taper la commande suivante pour tester un partage:
smbclient //isis/maven -U toto
  • Taper la commande suivante pour tester le bon fonctionnement du serveur WINS:
nmblookup -A isis
Looking up status of 192.168.1.4
	ISIS            <00> -         H <ACTIVE> 
	ISIS            <03> -         H <ACTIVE> 
	ISIS            <20> -         H <ACTIVE> 
	MINETTI         <1e> - <GROUP> H <ACTIVE> 
	MINETTI         <00> - <GROUP> H <ACTIVE> 

	MAC Address = 00-00-00-00-00-00
  • 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