« Le système d'exploitation GNU-Linux/Le partage de fichiers Samba » : différence entre les versions

Un livre de Wikilivres.
Contenu supprimé Contenu ajouté
rajout des fichiers smb.conf commentés
coorections des tabulations qui font buguer WB
Ligne 217 : Ligne 217 :
# Configuration globale de Samba
# Configuration globale de Samba
[global]
[global]
# Nom du groupe de travail
# Nom du groupe de travail
workgroup = WORKGROUP
workgroup = WORKGROUP
# Nom Netbios de la machine (identification réseau)
# Nom Netbios de la machine (identification réseau)
netbios name = SERVEUR
netbios name = SERVEUR
# Chaine de commentaire associé au serveur (voisinage réseau)
# Chaine de commentaire associé au serveur (voisinage réseau)
server string = %h Serveur (Samba %v)
server string = %h Serveur (Samba %v)
# Utilisateurs interdits
# Utilisateurs interdits
invalid users = root
invalid users = root
# Enregistre un fichier de log par machine cliente du réseau MS
# Enregistre un fichier de log par machine cliente du réseau MS
log file = /var/log/samba/log.%m
log file = /var/log/samba/log.%m
# Taille maximale des logs : 1 Mo
# Taille maximale des logs : 1 Mo
max log size = 1000
max log size = 1000
# On n'utilise pas Syslog pour enregistrer les logs
# On n'utilise pas Syslog pour enregistrer les logs
syslog = 0
syslog = 0
# On fait un partage par utilisateur
# On fait un partage par utilisateur
security = user
security = user
# On utilise les mots de passe encryptés
# On utilise les mots de passe encryptés
# (attention, W95 et W98a fonctionnent avec les mdp en clair)
# (attention, W95 et W98a fonctionnent avec les mdp en clair)
encrypt passwords = true
encrypt passwords = true
# Accélère les transferts réseaux
# Accélère les transferts réseaux
socket options = TCP_NODELAY
socket options = TCP_NODELAY
# Empeche nmbd de chercher à résoudre le nom netbios via le DNS
# Empeche nmbd de chercher à résoudre le nom netbios via le DNS
dns proxy = no
dns proxy = no
# Nom du compte invité qui va permettre de créer une
# Nom du compte invité qui va permettre de créer une
# ressource partagée par mot de passe (celui du compte invite)
# ressource partagée par mot de passe (celui du compte invite)
# POUR LE CAS n°3
# POUR LE CAS n°3
guest account = invite
guest account = invite
# Emplacement du fichier contenant les logins et mdp samba
# Emplacement du fichier contenant les logins et mdp samba
# concerne le CAS n°1 et n°3
# concerne le CAS n°1 et n°3
smb passwd file = /etc/samba/smbpasswd
smb passwd file = /etc/samba/smbpasswd
# Section HOMES
# Section HOMES
# Cette section particulière permet de remonter une ressource
# Cette section particulière permet de remonter une ressource
Ligne 266 : Ligne 266 :
# de l'utilisateur qui s'est authentifié
# de l'utilisateur qui s'est authentifié
[homes]
[homes]
# Correspond au home directory de l'utilisateur authentifié
# Correspond au home directory de l'utilisateur authentifié
# %U sera remplacé par le nom d'utilisateur (login)
# %U sera remplacé par le nom d'utilisateur (login)
comment = Le répertoire personnel de %U
comment = Le répertoire personnel de %U
# Si on active cette option, on dispose d'une ressource 'homes'
# Si on active cette option, on dispose d'une ressource 'homes'
# redondante avec la ressource 'login'
# redondante avec la ressource 'login'
browseable = no
browseable = no
# Il faut que l'utilisateur soit authentifié pour accéder
# Il faut que l'utilisateur soit authentifié pour accéder
# à la ressource (son home directory sur le serveur)
# à la ressource (son home directory sur le serveur)
public = no
public = no
# Autorise l'écriture dans le répertoire personnel
# Autorise l'écriture dans le répertoire personnel
writable = yes
writable = yes
# Droits d'accés des fichiers et répertoires crées
# Droits d'accés des fichiers et répertoires crées
create mask = 0644
create mask = 0644
directory mask = 0755
directory mask = 0755
# Section PRINTERS
# Section PRINTERS
# Cette section permet de partager les imprimantes définies sur le serveur
# Cette section permet de partager les imprimantes définies sur le serveur
[printers]
[printers]
# Le commentaire associé à l'imprimante
# Le commentaire associé à l'imprimante
comment = Les imprimantes
comment = Les imprimantes
# Affiche les imprimantes dans la liste des partages du serveur
# Affiche les imprimantes dans la liste des partages du serveur
browseable = yes
browseable = yes
# Dans le cas d'une imprimante, c'est l'emplacement
# Dans le cas d'une imprimante, c'est l'emplacement
# des fichiers temporaires
# des fichiers temporaires
path = /tmp
path = /tmp
# Spécifie qu'il s'agit d'une imprimante et non un répertoire
# Spécifie qu'il s'agit d'une imprimante et non un répertoire
printable = yes
printable = yes
# Partage l'imprimante de manière anonyme
# Partage l'imprimante de manière anonyme
public = yes
public = yes
# Logique
# Logique
writable = no
writable = no
# Empeche d'autres utilisateurs de supprimer mes impressions
# Empeche d'autres utilisateurs de supprimer mes impressions
create mode = 0700
create mode = 0700
# Sections REPERTOIRES PARTAGES
# Sections REPERTOIRES PARTAGES
Ligne 317 : Ligne 317 :
# Un CDROM
# Un CDROM
[cdrom]
[cdrom]
# Le commentaire associé au CDROM
# Le commentaire associé au CDROM
comment = Le CDROM
comment = Le CDROM
# Point de montage du CDROM
# Point de montage du CDROM
# synonyme de directory =
# synonyme de directory =
path = /cdrom
path = /cdrom
# Empeche le bloquage d'un fichier par un utilisateur
# Empeche le bloquage d'un fichier par un utilisateur
locking = no
locking = no
# Logique
# Logique
writable = no
writable = no
# Partage le CDROM de manière anonyme
# Partage le CDROM de manière anonyme
public = yes
public = yes
# CAS n°1
# CAS n°1
# Un répertoire partagé qu'a certains utilisateurs
# Un répertoire partagé qu'a certains utilisateurs
[prive]
[prive]
# Le commentaire associé au répertoire
# Le commentaire associé au répertoire
comment = Un répertoire partagé qu'a certains utilisateurs (CAS n°1)
comment = Un répertoire partagé qu'a certains utilisateurs (CAS n°1)
# Emplacement du répertoire partagé
# Emplacement du répertoire partagé
path = /home/prive
path = /home/prive
# Support en lecture / écriture
# Support en lecture / écriture
# synonyme de read only = no
# synonyme de read only = no
writable = yes
writable = yes
# Partage anonyme désactivé (cas par défaut)
# Partage anonyme désactivé (cas par défaut)
# synonyme de guest ok = no
# synonyme de guest ok = no
public = no
public = no
# Dans le cas du mode user, pour accéder à une ressource partagée
# Dans le cas du mode user, pour accéder à une ressource partagée
# qu'a certains utilisateurs, il faut créer un compte UNIX
# qu'a certains utilisateurs, il faut créer un compte UNIX
# pour chacun d'eux :
# pour chacun d'eux :
# adduser --shell /bin/false --disabled-login paul
# adduser --shell /bin/false --disabled-login paul
# adduser --shell /bin/false --disabled-login pierre
# adduser --shell /bin/false --disabled-login pierre
# Créer ensuite une entrée dans le fichier /etc/samba/smbpasswd
# Créer ensuite une entrée dans le fichier /etc/samba/smbpasswd
# smbpasswd -a paul
# smbpasswd -a paul
# smbpasswd -a pierre
# smbpasswd -a pierre
# On définit ensuite les utilisateurs autorisés
# On définit ensuite les utilisateurs autorisés
valid users = paul pierre
valid users = paul pierre
# ATTENTION toutefois : coté Linux, les utilisateurs doivent
# ATTENTION toutefois : coté Linux, les utilisateurs doivent
# avoir le droit d'écriture sur le répertoire partagé.
# avoir le droit d'écriture sur le répertoire partagé.
# La méthode la plus simple mais la moins sécurisée est d'autoriser
# La méthode la plus simple mais la moins sécurisée est d'autoriser
# tout le monde a écrire dans ce répertoire (rwxrwxrwx)
# tout le monde a écrire dans ce répertoire (rwxrwxrwx)
# La méthode sécurisée consiste à créer un groupe Unix contenant
# La méthode sécurisée consiste à créer un groupe Unix contenant
# les utilisateurs autorisés, et d'attribuer le repertoire
# les utilisateurs autorisés, et d'attribuer le repertoire
# partagé au groupe en question :
# partagé au groupe en question :
# addgroup prive
# addgroup prive
# adduser paul prive
# adduser paul prive
# adduser pierre prive
# adduser pierre prive
# chgrp prive /home/prive
# chgrp prive /home/prive
# chmod 770 /home/prive
# chmod 770 /home/prive
# chmod g+s /home/prive
# chmod g+s /home/prive
#
#
# Une fois ceci-fait, on peut remplacer : valid users = pierre paul
# Une fois ceci-fait, on peut remplacer : valid users = pierre paul
# par : valid users = @prive
# par : valid users = @prive
# le @prive désigne le groupe Unix 'prive'
# le @prive désigne le groupe Unix 'prive'
# Avantages : pour ajouter de nouveaux utilisateurs, il suffit
# Avantages : pour ajouter de nouveaux utilisateurs, il suffit
# de leur créer le compte unix, une entrée dans smbpasswd et de
# de leur créer le compte unix, une entrée dans smbpasswd et de
# les ajouter au groupe prive (il n'est plus nécessaire de
# les ajouter au groupe prive (il n'est plus nécessaire de
# modifier le fichier smb.conf)
# modifier le fichier smb.conf)
# Masque de création des fichiers et répertoires
# Masque de création des fichiers et répertoires
create mask = 0644
create mask = 0644
directory mask = 0755
directory mask = 0755
# CAS n°3
# CAS n°3
# Un répertoire partagé mais protégé par mot de passe
# Un répertoire partagé mais protégé par mot de passe
[partage]
[partage]
# Le commentaire associé au répertoire
# Le commentaire associé au répertoire
comment = Un répertoire partagé mais protégé par mot de passe
comment = Un répertoire partagé mais protégé par mot de passe
# Emplacement du répertoire partagé
path = /home/partage
# Support en lecture / écriture
# synonyme de read only = no
writable = yes
# Partage anonyme désactivé (cas par défaut)
# synonyme de guest ok = no
public = no
guest ok = true
# Dans le cas du mode user, pour pouvoir positionner un mot de passe
# Emplacement du répertoire partagé
# sur une ressource, il faut créer un compte UNIX 'invite' :
path = /home/partage
# adduser --shell /bin/false --disabled-login invite
# Créer ensuite une entrée dans le fichier /etc/samba/smbpasswd
# smbpasswd -a invite
# Le mot de passe saisi correspondra à celui du répertoire partagé
# Il faut ensuite donner l'arborescence partagée à l'utilisateur
# invite du groupe invite
valid users = invite
# Masque de création des fichiers et répertoires
# Support en lecture / écriture
create mask = 0644
# synonyme de read only = no
directory mask = 0755
writable = yes
# Partage anonyme désactivé (cas par défaut)
# synonyme de guest ok = no
public = no
guest ok = true
# Dans le cas du mode user, pour pouvoir positionner un mot de passe
# sur une ressource, il faut créer un compte UNIX 'invite' :
# adduser --shell /bin/false --disabled-login invite
# Créer ensuite une entrée dans le fichier /etc/samba/smbpasswd
# smbpasswd -a invite
# Le mot de passe saisi correspondra à celui du répertoire partagé
# Il faut ensuite donner l'arborescence partagée à l'utilisateur
# invite du groupe invite
valid users = invite
# Masque de création des fichiers et répertoires
create mask = 0644
directory mask = 0755
== Le partage de ressources sur un domaine Microsoft ==
== Le partage de ressources sur un domaine Microsoft ==


Ligne 441 : Ligne 441 :
# Configuration globale de Samba
# Configuration globale de Samba
[global]
[global]
# Nom du groupe de travail
# Nom du groupe de travail
workgroup = MERGUEZ
workgroup = MERGUEZ
# Nom Netbios de la machine (identification réseau)
# Nom Netbios de la machine (identification réseau)
netbios name = SERVEUR
netbios name = SERVEUR
# Chaine de commentaire associé au serveur (voisinage réseau)
# Chaine de commentaire associé au serveur (voisinage réseau)
server string = %h Serveur (Samba %v)
server string = %h Serveur (Samba %v)
# Utilisateurs interdits
# Utilisateurs interdits
invalid users = root
invalid users = root
# Enregistre un fichier de log par machine cliente du réseau MS
# Enregistre un fichier de log par machine cliente du réseau MS
log file = /var/log/samba/log.%m
log file = /var/log/samba/log.%m
# Taille maximale des logs : 1 Mo
# Taille maximale des logs : 1 Mo
max log size = 1000
max log size = 1000
# On n'utilise pas Syslog pour enregistrer les logs
# On n'utilise pas Syslog pour enregistrer les logs
syslog = 0
syslog = 0
# On fait un partage par utilisateur, l'authentification est
# On fait un partage par utilisateur, l'authentification est
# déléguée au controleur de domaine (PDC)
# déléguée au controleur de domaine (PDC)
security = server
security = server
password server = COMPAQ
password server = COMPAQ
# On utilise les mots de passe encryptés
# On utilise les mots de passe encryptés
# (attention, W95 et W98a fonctionnent avec les mdp en clair)
# (attention, W95 et W98a fonctionnent avec les mdp en clair)
encrypt passwords = true
encrypt passwords = true
# Accélère les transferts réseaux
# Accélère les transferts réseaux
socket options = TCP_NODELAY
socket options = TCP_NODELAY
# Empeche nmbd de chercher à résoudre le nom netbios via le DNS
# Empeche nmbd de chercher à résoudre le nom netbios via le DNS
dns proxy = no
dns proxy = no
# Nom du compte invité qui va permettre de créer une
# Nom du compte invité qui va permettre de créer une
# ressource partagée par mot de passe (celui du compte invite)
# ressource partagée par mot de passe (celui du compte invite)
# POUR LE CAS n°3
# POUR LE CAS n°3
guest account = invite
guest account = invite
# Emplacement du fichier contenant les logins et mdp samba
# Emplacement du fichier contenant les logins et mdp samba
# concerne le CAS n°1 et n°3
# concerne le CAS n°1 et n°3
smb passwd file = /etc/samba/smbpasswd
smb passwd file = /etc/samba/smbpasswd
Ligne 492 : Ligne 492 :
# de l'utilisateur qui s'est authentifié
# de l'utilisateur qui s'est authentifié
[homes]
[homes]
# Correspond au home directory de l'utilisateur authentifié
# Correspond au home directory de l'utilisateur authentifié
# %U sera remplacé par le nom d'utilisateur (login)
# %U sera remplacé par le nom d'utilisateur (login)
comment = Le répertoire personnel de %U
comment = Le répertoire personnel de %U
# Si on active cette option, on dispose d'une ressource 'homes'
# Si on active cette option, on dispose d'une ressource 'homes'
# redondante avec la ressource 'login'
# redondante avec la ressource 'login'
browseable = no
browseable = no
# Il faut que l'utilisateur soit authentifié pour accéder
# Il faut que l'utilisateur soit authentifié pour accéder
# à la ressource (son home directory sur le serveur)
# à la ressource (son home directory sur le serveur)
public = no
public = no
# Autorise l'écriture dans le répertoire personnel
# Autorise l'écriture dans le répertoire personnel
writable = yes
writable = yes
# Droits d'accés des fichiers et répertoires crées
# Droits d'accés des fichiers et répertoires crées
create mask = 0644
create mask = 0644
directory mask = 0755
directory mask = 0755
# Section PRINTERS
# Section PRINTERS
# Cette section permet de partager les imprimantes définies sur le serveur
# Cette section permet de partager les imprimantes définies sur le serveur
[printers]
[printers]
# Le commentaire associé à l'imprimante
# Le commentaire associé à l'imprimante
comment = Les imprimantes
comment = Les imprimantes
# Affiche les imprimantes dans la liste des partages du serveur
# Affiche les imprimantes dans la liste des partages du serveur
browseable = yes
browseable = yes
# Dans le cas d'une imprimante, c'est l'emplacement
# Dans le cas d'une imprimante, c'est l'emplacement
# des fichiers temporaires
# des fichiers temporaires
path = /tmp
path = /tmp
# Spécifie qu'il s'agit d'une imprimante et non un répertoire
# Spécifie qu'il s'agit d'une imprimante et non un répertoire
printable = yes
printable = yes
# Partage l'imprimante de manière anonyme
# Partage l'imprimante de manière anonyme
public = yes
public = yes
# Logique
# Logique
writable = no
writable = no
# Empeche d'autres utilisateurs de supprimer mes impressions
# Empeche d'autres utilisateurs de supprimer mes impressions
create mode = 0700
create mode = 0700
Ligne 543 : Ligne 543 :
# Un CDROM
# Un CDROM
[cdrom]
[cdrom]
# Le commentaire associé au CDROM
# Le commentaire associé au CDROM
comment = Le CDROM
comment = Le CDROM
# Point de montage du CDROM
# Point de montage du CDROM
# synonyme de directory =
# synonyme de directory =
path = /cdrom
path = /cdrom
# Empeche le bloquage d'un fichier par un utilisateur
# Empeche le bloquage d'un fichier par un utilisateur
locking = no
locking = no
# Logique
# Logique
writable = no
writable = no
# Partage le CDROM de manière anonyme
# Partage le CDROM de manière anonyme
public = yes
public = yes
Ligne 563 : Ligne 563 :
# Un répertoire partagé qu'a certains utilisateurs
# Un répertoire partagé qu'a certains utilisateurs
[prive]
[prive]
# Le commentaire associé au répertoire
# Le commentaire associé au répertoire
comment = Un répertoire partagé qu'a certains utilisateurs (CAS n°1)
comment = Un répertoire partagé qu'a certains utilisateurs (CAS n°1)
# Emplacement du répertoire partagé
# Emplacement du répertoire partagé
path = /home/prive
path = /home/prive
# Support en lecture / écriture
# Support en lecture / écriture
# synonyme de read only = no
# synonyme de read only = no
writable = yes
writable = yes
# Partage anonyme désactivé (cas par défaut)
# Partage anonyme désactivé (cas par défaut)
# synonyme de guest ok = no
# synonyme de guest ok = no
public = no
public = no
# Dans le cas du mode user, pour accéder à une ressource partagée
# Dans le cas du mode user, pour accéder à une ressource partagée
# qu'a certains utilisateurs, il faut créer un compte UNIX
# qu'a certains utilisateurs, il faut créer un compte UNIX
# pour chacun d'eux :
# pour chacun d'eux :
# adduser --shell /bin/false --disabled-login paul
# adduser --shell /bin/false --disabled-login paul
# adduser --shell /bin/false --disabled-login pierre
# adduser --shell /bin/false --disabled-login pierre
# Créer ensuite une entrée dans le fichier /etc/samba/smbpasswd
# Créer ensuite une entrée dans le fichier /etc/samba/smbpasswd
# smbpasswd -a paul
# smbpasswd -a paul
# smbpasswd -a pierre
# smbpasswd -a pierre
# On définit ensuite les utilisateurs autorisés
# On définit ensuite les utilisateurs autorisés
valid users = paul pierre
valid users = paul pierre
# ATTENTION toutefois : coté Linux, les utilisateurs doivent
# ATTENTION toutefois : coté Linux, les utilisateurs doivent
# avoir le droit d'écriture sur le répertoire partagé.
# avoir le droit d'écriture sur le répertoire partagé.
# La méthode la plus simple mais la moins sécurisée est d'autoriser
# La méthode la plus simple mais la moins sécurisée est d'autoriser
# tout le monde a écrire dans ce répertoire (rwxrwxrwx)
# tout le monde a écrire dans ce répertoire (rwxrwxrwx)
# La méthode sécurisée consiste à créer un groupe Unix contenant
# La méthode sécurisée consiste à créer un groupe Unix contenant
# les utilisateurs autorisés, et d'attribuer le repertoire
# les utilisateurs autorisés, et d'attribuer le repertoire
# partagé au groupe en question :
# partagé au groupe en question :
# addgroup prive
# addgroup prive
# adduser paul prive
# adduser paul prive
# adduser pierre prive
# adduser pierre prive
# chgrp prive /home/prive
# chgrp prive /home/prive
# chmod 770 /home/prive
# chmod 770 /home/prive
# chmod g+s /home/prive
# chmod g+s /home/prive
#
#
# Une fois ceci-fait, on peut remplacer : valid users = pierre paul
# Une fois ceci-fait, on peut remplacer : valid users = pierre paul
# par : valid users = @prive
# par : valid users = @prive
# le @prive désigne le groupe Unix 'prive'
# le @prive désigne le groupe Unix 'prive'
# Avantages : pour ajouter de nouveaux utilisateurs, il suffit
# Avantages : pour ajouter de nouveaux utilisateurs, il suffit
# de leur créer le compte unix, une entrée dans smbpasswd et de
# de leur créer le compte unix, une entrée dans smbpasswd et de
# les ajouter au groupe prive (il n'est plus nécessaire de
# les ajouter au groupe prive (il n'est plus nécessaire de
# modifier le fichier smb.conf)
# modifier le fichier smb.conf)
# Masque de création des fichiers et répertoires
# Masque de création des fichiers et répertoires
create mask = 0644
create mask = 0644
directory mask = 0755
directory mask = 0755
Ligne 617 : Ligne 617 :
# Un répertoire partagé mais protégé par mot de passe
# Un répertoire partagé mais protégé par mot de passe
[partage]
[partage]
# Le commentaire associé au répertoire
# Le commentaire associé au répertoire
comment = Un répertoire partagé mais protégé par mot de passe
comment = Un répertoire partagé mais protégé par mot de passe
# Emplacement du répertoire partagé
# Emplacement du répertoire partagé
path = /home/partage
path = /home/partage
# Support en lecture / écriture
# Support en lecture / écriture
# synonyme de read only = no
# synonyme de read only = no
writable = yes
writable = yes
# Partage anonyme désactivé (cas par défaut)
# Partage anonyme désactivé (cas par défaut)
# synonyme de guest ok = no
# synonyme de guest ok = no
public = no
public = no
guest ok = true
guest ok = true
# Dans le cas du mode user, pour pouvoir positionner un mot de passe
# Dans le cas du mode user, pour pouvoir positionner un mot de passe
# sur une ressource, il faut créer un compte UNIX 'invite' :
# sur une ressource, il faut créer un compte UNIX 'invite' :
# adduser --shell /bin/false --disabled-login invite
# adduser --shell /bin/false --disabled-login invite
# Créer ensuite une entrée dans le fichier /etc/samba/smbpasswd
# Créer ensuite une entrée dans le fichier /etc/samba/smbpasswd
# smbpasswd -a invite
# smbpasswd -a invite
# Le mot de passe saisi correspondra à celui du répertoire partagé
# Le mot de passe saisi correspondra à celui du répertoire partagé
# Il faut ensuite donner l'arborescence partagée à l'utilisateur
# Il faut ensuite donner l'arborescence partagée à l'utilisateur
# invite du groupe invite
# invite du groupe invite
valid users = invite
valid users = invite
# Masque de création des fichiers et répertoires
# Masque de création des fichiers et répertoires
create mask = 0644
create mask = 0644
directory mask = 0755
directory mask = 0755




Ligne 657 : Ligne 657 :
# Configuration globale de Samba
# Configuration globale de Samba
[global]
[global]
# Nom du groupe de travail
# Nom du groupe de travail
workgroup = DOMAINE
workgroup = DOMAINE
# Nom Netbios de la machine (identification réseau)
# Nom Netbios de la machine (identification réseau)
netbios name = SERVEUR
netbios name = SERVEUR
# Chaine de commentaire associé au serveur (voisinage réseau)
# Chaine de commentaire associé au serveur (voisinage réseau)
server string = %h Serveur (Samba %v)
server string = %h Serveur (Samba %v)
# Utilisateurs interdits
# Utilisateurs interdits
invalid users = root
invalid users = root
# Enregistre un fichier de log par machine cliente du réseau MS
# Enregistre un fichier de log par machine cliente du réseau MS
log file = /var/log/samba/log.%m
log file = /var/log/samba/log.%m
# Taille maximale des logs : 1 Mo
# Taille maximale des logs : 1 Mo
max log size = 1000
max log size = 1000
# On n'utilise pas Syslog pour enregistrer les logs
# On n'utilise pas Syslog pour enregistrer les logs
syslog = 0
syslog = 0
# On est PDC, on fait l'authentification par utilisateur
# On est PDC, on fait l'authentification par utilisateur
security = user
security = user
# On utilise les mots de passe encryptés
# On utilise les mots de passe encryptés
# (attention, W95 et W98a fonctionnent avec les mdp en clair)
# (attention, W95 et W98a fonctionnent avec les mdp en clair)
encrypt passwords = true
encrypt passwords = true
# Accélère les transferts réseaux
# Accélère les transferts réseaux
socket options = TCP_NODELAY
socket options = TCP_NODELAY
# Empeche nmbd de chercher à résoudre le nom netbios via le DNS
# Empeche nmbd de chercher à résoudre le nom netbios via le DNS
dns proxy = no
dns proxy = no
# Nom du compte invité qui va permettre de créer une
# Nom du compte invité qui va permettre de créer une
# ressource partagée par mot de passe (celui du compte invite)
# ressource partagée par mot de passe (celui du compte invite)
# POUR LE CAS n°3
# POUR LE CAS n°3
guest account = invite
guest account = invite
# Emplacement du fichier contenant les logins et mdp samba
# Emplacement du fichier contenant les logins et mdp samba
# concerne le CAS n°1 et n°3
# concerne le CAS n°1 et n°3
smb passwd file = /etc/samba/smbpasswd
smb passwd file = /etc/samba/smbpasswd
# Permet de devenir le master browser du réseau
# Permet de devenir le master browser du réseau
# Le master browser est responsable de l'état du réseau
# Le master browser est responsable de l'état du réseau
# C'est en général le PDC qui effectue cette tache
# C'est en général le PDC qui effectue cette tache
local master = yes
local master = yes
# Permet de devenir le DOMAIN master browser du réseau
# Permet de devenir le DOMAIN master browser du réseau
domain master = yes
domain master = yes
# Cette option permet de déclencher une election sur le réseau
# Cette option permet de déclencher une election sur le réseau
# afin de déterminer qui sera le master browser
# afin de déterminer qui sera le master browser
# Le fait de déclencher cette election me donne le plus de chance
# Le fait de déclencher cette election me donne le plus de chance
# devenir ce master browser
# devenir ce master browser
preferred master = yes
preferred master = yes
# Si ce chiffre est le plus grand du réseau, je deviens le PDC
# Si ce chiffre est le plus grand du réseau, je deviens le PDC
os level = 255
os level = 255
# Permet aux utilisateurs de changer leur mot de passe sur ce serveur
# Permet aux utilisateurs de changer leur mot de passe sur ce serveur
# depuis leur poste
# depuis leur poste
update encrypted = yes
update encrypted = yes
# Définit que le daemon nmbd doit agir en tant que serveur WINS
# Définit que le daemon nmbd doit agir en tant que serveur WINS
wins support = yes
wins support = yes
# Winbind permet de placer des machines dans un domaine controlé
# Winbind permet de placer des machines dans un domaine controlé
# par un PDC et d'autoriser les utilisateurs a accéder
# par un PDC et d'autoriser les utilisateurs a accéder
# à ces machines en utilisant les informations du PDC
# à ces machines en utilisant les informations du PDC
winbind separator = +
winbind separator = +
winbind enum users = no
winbind enum users = no
winbind enum groups = no
winbind enum groups = no
winbind uid = 10000-20000
winbind uid = 10000-20000
winbind gid = 10000-20000
winbind gid = 10000-20000
# désactive le support des ACL (Access Control List)
# désactive le support des ACL (Access Control List)
# fonctionnalité utilisée par Active Directory
# fonctionnalité utilisée par Active Directory
nt acl support = no
nt acl support = no
# Logins autorisés à se connecter aux ressources administratives
# Logins autorisés à se connecter aux ressources administratives
# comme C$, ADMIN$ et IPC$
# comme C$, ADMIN$ et IPC$
# pour que ceci marche, il faut créer un compte unix correspondant
# pour que ceci marche, il faut créer un compte unix correspondant
# à la machine et rajouter une entrée de type machine dans smbpasswd
# à la machine et rajouter une entrée de type machine dans smbpasswd
# Attention : ce login doit porter le nom netbios de la machine
# Attention : ce login doit porter le nom netbios de la machine
# et se terminer par un dollar (d'ou le --force-badname)
# et se terminer par un dollar (d'ou le --force-badname)
# adduser --shell /bin/false --disabled-login --force-badname nompc$
# adduser --shell /bin/false --disabled-login --force-badname nompc$
# smbpasswd -a -m nompc$
# smbpasswd -a -m nompc$
admin users = admin
admin users = admin
# PRIMORDIAL !, sinon ca marche pas :
# PRIMORDIAL !, sinon ca marche pas :
# il faut que la ressource [netlogon] existe, meme si on n'utilise
# il faut que la ressource [netlogon] existe, meme si on n'utilise
# pas un script logon
# pas un script logon
domain logons = yes
domain logons = yes
# Pour autoriser les utilisateurs a changer leurs mots de passe
# Pour autoriser les utilisateurs a changer leurs mots de passe
passwd program = /usr/bin/passwd %u
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\sUnix\spassword:* %n\n *Retype\snew\sUnix\spassword:* %n\n
passwd chat = *Enter\snew\sUnix\spassword:* %n\n *Retype\snew\sUnix\spassword:* %n\n
# Section NETLOGON
# Section NETLOGON
Ligne 760 : Ligne 760 :
# client du domaine. Ceci permet par exemple connecter un lecteur réseau (Z:)
# client du domaine. Ceci permet par exemple connecter un lecteur réseau (Z:)
[netlogon]
[netlogon]
# Il n'apparaitra pas dans la liste des ressources partagées
# Il n'apparaitra pas dans la liste des ressources partagées
browsable = no
browsable = no
# Chemin vers le script netlogon optionnel
# Chemin vers le script netlogon optionnel
path = /etc/samba/netlogon
path = /etc/samba/netlogon
# Cette ressource doit impérativement exister et etre
# Cette ressource doit impérativement exister et etre
# accessible en accés anonyme
# accessible en accés anonyme
public = no
public = no
# Pour la sécurité, cette ressource est exportée en read only
# Pour la sécurité, cette ressource est exportée en read only
writable = no
writable = no
# Permet à plusieurs utilisateurs d'utiliser le meme fichier
# Permet à plusieurs utilisateurs d'utiliser le meme fichier
# en meme temps
# en meme temps
locking = no
locking = no
### Ce serveur effectuant la mission cruciale de PDC, il n'est pas
### Ce serveur effectuant la mission cruciale de PDC, il n'est pas
Ligne 781 : Ligne 781 :
[homes]
[homes]
path = %H
path = %H
browsable = no
browsable = no

Version du 11 février 2008 à 13:33

Introduction

Samba est l'implémentation du protocole SMB (Server Message Block) sous Unix / Linux. Il sert à partager des fichiers et des imprimantes avec les réseaux Microsoft.

Site officiel : www.samba.org

Samba lance deux services : smbd et nmbd.

Le protocole SMB est tout sauf performant : il pollue le reseau par l'utilisation intensive du broadcast.

Samba utilise les ports 137 (netbios name service, nbname, en UDP), 138 (netbios datagram service nbdatagram, en UDP), 139 (netbios session service, nbsession, en TCP), et 445 ("direct-hosted" tcp, en tcp et udp).

La méthode de connexion traditionnelle smb utilise les ports 137, 138 et 139 tandis que la nouvelle méthode (CIFS, sur windows XP) n'utilise que le port 445.

Installation

Pour installer Samba, on tape la commande suivante :

 # apt-get install samba smbclient smbfs

Configuration

Le fichier de configuration de Samba est /etc/samba/smb.conf.

Le programme testparm analyse le fichier smb.conf et signale les erreurs éventuelles.

Après avoir modifié la configuration, il faut relancer le service :

 # /etc/init.d/samba restart


Le fichier /etc/samba/smb.conf se divise en différentes sections :

  • La section [global] : configuration globale de samba
  • La section [homes] : cette section particulière permet de remonter une ressource qui correspond au répertoire de travail (home directory) de l'utilisateur qui s'est authentifié.

On peut ensuite créer différentes sections, une par partage voulu.

Samba peut fonctionner de différentes manières. Pour chacune, nous allons étudier 3 cas de figures :

  • 1° cas : Anonymous
  • 2° cas : Partage avec un mot de passe
  • 3° cas : Login/Password

Le partage par ressource sur un réseau Workgroup

Voici un fichier /etc/samba/smb.conf permettant de partager une ressource (répertoire ou imprimante) sur un réseau Workgroup :

 # PARTAGE PAR RESSOURCES (share)
 
 # Section GLOBAL
 # Configuration globale de Samba
 [global]
       # Nom du groupe de travail
       workgroup = WORKGROUP
       
       # Nom Netbios de la machine (identification réseau)
       netbios name = SERVEUR
       
       # Chaine de commentaire associé au serveur (voisinage réseau)
       server string = %h Serveur (Samba %v)
       
       # Utilisateurs interdits
       invalid users = root
       
       # Enregistre un fichier de log par machine cliente du réseau MS
       log file = /var/log/samba/log.%m
       
       # Taille maximale des logs : 1 Mo
       max log size = 1000
       
       # On n'utilise pas Syslog pour enregistrer les logs
       syslog = 0
       
       # On fait un partage par ressources
       security = share
       
       # On utilise les mots de passe encryptés
       # (attention, W95 et W98a fonctionnent avec les mdp en clair)
       encrypt passwords = true
       
       # Accélère les transferts réseaux
       socket options = TCP_NODELAY
       
       # Empeche nmbd de chercher à résoudre le nom netbios via le DNS
       dns proxy = no
       
       # Nom du compte invité qui va permettre de créer une
       # ressource partagée par mot de passe (celui du compte invite)
       guest account = invite
       
       # Emplacement du fichier contenant les logins et mdp samba
       smb passwd file = /etc/samba/smbpasswd
       
       # Pour récupérer les imprimantes définies dans CUPS
       printing = cups  
       
       
 # Section HOMES
 # Cette section est inutile ici car on utilise le mode share
 
 
 # Section PRINTERS
 # Cette section permet de partager les imprimantes définies sur le serveur
 [printers]
       # Le commentaire associé à l'imprimante
       comment = Les imprimantes
       
       # Affiche les imprimantes dans la liste des partages du serveur
       browseable = yes
       
       # Dans le cas d'une imprimante, c'est l'emplacement 
       # des fichiers temporaires
       path = /tmp
 
       # Spécifie qu'il s'agit d'une imprimante et non un répertoire
       printable = yes
       
       # Partage l'imprimante de manière anonyme
       public = yes
       
       # Logique
       writable = no
       
       # Empeche d'autres utilisateurs de supprimer mes impressions
       create mode = 0700
 
 
 # Sections REPERTOIRES PARTAGES
 
 # Un CDROM
 [cdrom]
       # Le commentaire associé au CDROM
       comment = Le CDROM
       
       # Point de montage du CDROM
       # synonyme de directory =
       path = /cdrom
       
       # Empeche le bloquage d'un fichier par un utilisateur
       locking = no
        
       # Logique
       writable = no
       
       # Partage le CDROM de manière anonyme
       public = yes
 
 
 # Un répertoire partagé mais protégé par mot de passe
 [partage]
       # Le commentaire associé au répertoire
       comment = Un répertoire partagé mais protégé par mot de passe
       
       # Emplacement du répertoire partagé
       path = /home/partage
       
       # Support en lecture / écriture
       # synonyme de read only = no
       writable = yes
       
       # Partage anonyme désactivé (cas par défaut)
       # synonyme de guest ok = no
       public = no
       
       # Dans le cas du mode share, pour pouvoir positionner un mot de passe
       # sur une ressource, il faut créer un compte UNIX 'invite' :
       #   adduser --shell /bin/false --disabled-login invite
       # Créer ensuite une entrée dans le fichier /etc/samba/smbpasswd
       #   smbpasswd -a invite
       # Le mot de passe saisi correspondra à celui du répertoire partagé
       # Il faut ensuite donner l'arborescence partagée à l'utilisateur
       # invite du groupe invite
       valid users = invite
       
       # Masque de création des fichiers et répertoires
       create mask = 0644
       directory mask = 0755
        


On crée ensuite l'utilisateur invite :

 # adduser --shell /bin/false --disabled-login invite

Via la commande smbpasswd, on crée ensuite une entrée dans le fichier /etc/samba/smbpasswd :

 # smbpasswd -a invite

On saisi le mot de passe associé au compte invite.

On crée le dossier de partage /home/partage et on le donne à l'utilisateur invite :

 # mkdir /home/partage
 # chown invite /home/partage

Petit rappel : il est toujours utile de faire un testparm pour vérifier la cohérence du fichier de configuration, et ne pas oublier de relancer le service pour que les modifications soient prises en compte.


Le partage par utilisateur sur un réseau Workgroup

Voici un fichier /etc/samba/smb.conf permettant de partager une ressource (répertoire ou imprimante) avec une authentification Utilisateur / Mot de passe sur un réseau Workgroup :

 # PARTAGE PAR UTILISATEUR (user) - Groupe de travail
 
 # Il y a 3 cas possibles :
 #
 # CAS n°1 : cas normal du mode user, on fait une authentification 
 #           par login et mot de passe
 # CAS n°2 : on partage une ressource totalement anonyme
 # CAS n°3 : on partage une ressource à laquelle est associé un 
 #           mot de passe (celui du compte invite)
 
 
 # Section GLOBAL
 # Configuration globale de Samba
 [global]
       # Nom du groupe de travail
       workgroup = WORKGROUP
       
       # Nom Netbios de la machine (identification réseau)
       netbios name = SERVEUR
       
       # Chaine de commentaire associé au serveur (voisinage réseau)
       server string = %h Serveur (Samba %v)
       
       # Utilisateurs interdits
       invalid users = root
       
       # Enregistre un fichier de log par machine cliente du réseau MS
       log file = /var/log/samba/log.%m
       
       # Taille maximale des logs : 1 Mo
       max log size = 1000
       
       # On n'utilise pas Syslog pour enregistrer les logs
       syslog = 0
       
       # On fait un partage par utilisateur
       security = user
       
       # On utilise les mots de passe encryptés
       # (attention, W95 et W98a fonctionnent avec les mdp en clair)
       encrypt passwords = true
       
       # Accélère les transferts réseaux
       socket options = TCP_NODELAY
       
       # Empeche nmbd de chercher à résoudre le nom netbios via le DNS
       dns proxy = no
       
       # Nom du compte invité qui va permettre de créer une
       # ressource partagée par mot de passe (celui du compte invite)
       # POUR LE CAS n°3
       guest account = invite
       
       # Emplacement du fichier contenant les logins et mdp samba
       # concerne le CAS n°1 et n°3
       smb passwd file = /etc/samba/smbpasswd
       
       
 # Section HOMES
 # Cette section particulière permet de remonter une ressource
 # qui correspond au répertoire de travail (home directory)
 # de l'utilisateur qui s'est authentifié
 [homes]
       # Correspond au home directory de l'utilisateur authentifié
       # %U sera remplacé par le nom d'utilisateur (login)
       comment = Le répertoire personnel de %U
       
       # Si on active cette option, on dispose d'une ressource 'homes'
       # redondante avec la ressource 'login'
       browseable = no
       
       # Il faut que l'utilisateur soit authentifié pour accéder
       # à la ressource (son home directory sur le serveur)
       public = no
       
       # Autorise l'écriture dans le répertoire personnel
       writable = yes
       
       # Droits d'accés des fichiers et répertoires crées
       create mask = 0644
       directory mask = 0755
       
       
 # Section PRINTERS
 # Cette section permet de partager les imprimantes définies sur le serveur
 [printers]
       # Le commentaire associé à l'imprimante
       comment = Les imprimantes
       
       # Affiche les imprimantes dans la liste des partages du serveur
       browseable = yes
       
       # Dans le cas d'une imprimante, c'est l'emplacement 
       # des fichiers temporaires
       path = /tmp
       
       # Spécifie qu'il s'agit d'une imprimante et non un répertoire
       printable = yes
       
       # Partage l'imprimante de manière anonyme
       public = yes
       
       # Logique
       writable = no
       
       # Empeche d'autres utilisateurs de supprimer mes impressions
       create mode = 0700
       
       
 # Sections REPERTOIRES PARTAGES
 
 # CAS n° 2 - une ressource anonyme sans mot de passe
 # Un CDROM
 [cdrom]
       # Le commentaire associé au CDROM
       comment = Le CDROM
       
       # Point de montage du CDROM
       # synonyme de directory =
       path = /cdrom
       
       # Empeche le bloquage d'un fichier par un utilisateur
       locking = no
       
       # Logique
       writable = no
       
       # Partage le CDROM de manière anonyme
       public = yes
       
       
 # CAS n°1
 # Un répertoire partagé qu'a certains utilisateurs
 [prive]
       # Le commentaire associé au répertoire
       comment = Un répertoire partagé qu'a certains utilisateurs (CAS n°1) 
       
       # Emplacement du répertoire partagé
       path = /home/prive
       
       # Support en lecture / écriture
       # synonyme de read only = no
       writable = yes
       
       # Partage anonyme désactivé (cas par défaut)
       # synonyme de guest ok = no
       public = no
       
       # Dans le cas du mode user, pour accéder à une ressource partagée
       # qu'a certains utilisateurs, il faut créer un compte UNIX 
       # pour chacun d'eux :
       #   adduser --shell /bin/false --disabled-login paul
       #   adduser --shell /bin/false --disabled-login pierre
       # Créer ensuite une entrée dans le fichier /etc/samba/smbpasswd
       #   smbpasswd -a paul
       #   smbpasswd -a pierre
       # On définit ensuite les utilisateurs autorisés
       valid users = paul pierre
       # ATTENTION toutefois : coté Linux, les utilisateurs doivent
       # avoir le droit d'écriture sur le répertoire partagé.
       # La méthode la plus simple mais la moins sécurisée est d'autoriser
       # tout le monde a écrire dans ce répertoire (rwxrwxrwx)
       # La méthode sécurisée consiste à créer un groupe Unix contenant
       # les utilisateurs autorisés, et d'attribuer le repertoire
       # partagé au groupe en question :
       #   addgroup prive
       #   adduser paul prive
       #   adduser pierre prive
       #   chgrp prive /home/prive
       #   chmod 770 /home/prive
       #   chmod g+s /home/prive
       #
       # Une fois ceci-fait, on peut remplacer : valid users = pierre paul
       # par : valid users = @prive
       # le @prive désigne le groupe Unix 'prive'
       # Avantages : pour ajouter de nouveaux utilisateurs, il suffit
       # de leur créer le compte unix, une entrée dans smbpasswd et de 
       # les ajouter au groupe prive (il n'est plus nécessaire de 
       # modifier le fichier smb.conf)
       
       # Masque de création des fichiers et répertoires
       create mask = 0644
       directory mask = 0755
       
       
 # CAS n°3
 # Un répertoire partagé mais protégé par mot de passe
 [partage]
       # Le commentaire associé au répertoire
       comment = Un répertoire partagé mais protégé par mot de passe
       
       # Emplacement du répertoire partagé
       path = /home/partage
       
       # Support en lecture / écriture
       # synonyme de read only = no
       writable = yes
       
       # Partage anonyme désactivé (cas par défaut)
       # synonyme de guest ok = no
       public = no
       
       guest ok = true
 
       # Dans le cas du mode user, pour pouvoir positionner un mot de passe
       # sur une ressource, il faut créer un compte UNIX 'invite' :
       #   adduser --shell /bin/false --disabled-login invite
       # Créer ensuite une entrée dans le fichier /etc/samba/smbpasswd
       #   smbpasswd -a invite
       # Le mot de passe saisi correspondra à celui du répertoire partagé
       # Il faut ensuite donner l'arborescence partagée à l'utilisateur
       # invite du groupe invite
       valid users = invite
 
       # Masque de création des fichiers et répertoires
       create mask = 0644
       directory mask = 0755
 
       

Le partage de ressources sur un domaine Microsoft

Voici un fichier /etc/samba/smb.conf permettant de rejoindre un domaine existant afin de partager des ressources :

 # PARTAGE PAR UTILISATEUR (server) - Domaine avec authentification
 # déléguée à un controleur de domaine (PDC : Primary Domain Controller)
 
 # Il y a 3 cas possibles :
 #
 # CAS n°1 : cas normal du mode user, on fait une authentification 
 #           par login et mot de passe
 # CAS n°2 : on partage une ressource totalement anonyme
 # CAS n°3 : on partage une ressource à laquelle est associé un 
 #           mot de passe (celui du compte invite)
 
 
 # Section GLOBAL
 # Configuration globale de Samba
 [global]
       # Nom du groupe de travail
       workgroup = MERGUEZ
        
       # Nom Netbios de la machine (identification réseau)
       netbios name = SERVEUR
       
       # Chaine de commentaire associé au serveur (voisinage réseau)
       server string = %h Serveur (Samba %v)
       
       # Utilisateurs interdits
       invalid users = root
       
       # Enregistre un fichier de log par machine cliente du réseau MS
       log file = /var/log/samba/log.%m
       
       # Taille maximale des logs : 1 Mo
       max log size = 1000
       
       # On n'utilise pas Syslog pour enregistrer les logs
       syslog = 0
       
       # On fait un partage par utilisateur, l'authentification est
       # déléguée au controleur de domaine (PDC)
       security = server
       password server = COMPAQ
       
       # On utilise les mots de passe encryptés
       # (attention, W95 et W98a fonctionnent avec les mdp en clair)
       encrypt passwords = true
       
       # Accélère les transferts réseaux
       socket options = TCP_NODELAY
       
       # Empeche nmbd de chercher à résoudre le nom netbios via le DNS
       dns proxy = no
       
       # Nom du compte invité qui va permettre de créer une
       # ressource partagée par mot de passe (celui du compte invite)
       # POUR LE CAS n°3
       guest account = invite
       
       # Emplacement du fichier contenant les logins et mdp samba
       # concerne le CAS n°1 et n°3
       smb passwd file = /etc/samba/smbpasswd
 
 
 # Section HOMES
 # Cette section particulière permet de remonter une ressource
 # qui correspond au répertoire de travail (home directory)
 # de l'utilisateur qui s'est authentifié
 [homes]
       # Correspond au home directory de l'utilisateur authentifié
       # %U sera remplacé par le nom d'utilisateur (login)
       comment = Le répertoire personnel de %U
 
       # Si on active cette option, on dispose d'une ressource 'homes'
       # redondante avec la ressource 'login'
       browseable = no
 
       # Il faut que l'utilisateur soit authentifié pour accéder
       # à la ressource (son home directory sur le serveur)
       public = no
 
       # Autorise l'écriture dans le répertoire personnel
       writable = yes
 
       # Droits d'accés des fichiers et répertoires crées
       create mask = 0644
       directory mask = 0755
       
 
 # Section PRINTERS
 # Cette section permet de partager les imprimantes définies sur le serveur
 [printers]
       # Le commentaire associé à l'imprimante
       comment = Les imprimantes
 
       # Affiche les imprimantes dans la liste des partages du serveur
       browseable = yes
 
       # Dans le cas d'une imprimante, c'est l'emplacement 
       # des fichiers temporaires
       path = /tmp
 
       # Spécifie qu'il s'agit d'une imprimante et non un répertoire
       printable = yes
 
       # Partage l'imprimante de manière anonyme
       public = yes
 
       # Logique
       writable = no
 
       # Empeche d'autres utilisateurs de supprimer mes impressions
       create mode = 0700
 
 
 # Sections REPERTOIRES PARTAGES
 
 # CAS n° 2 - une ressource anonyme sans mot de passe
 # Un CDROM
 [cdrom]
       # Le commentaire associé au CDROM
       comment = Le CDROM
 
       # Point de montage du CDROM
       # synonyme de directory =
       path = /cdrom
 
       # Empeche le bloquage d'un fichier par un utilisateur
       locking = no
       
       # Logique
       writable = no
 
       # Partage le CDROM de manière anonyme
       public = yes
 
 
 # CAS n°1
 # Un répertoire partagé qu'a certains utilisateurs
 [prive]
       # Le commentaire associé au répertoire
       comment = Un répertoire partagé qu'a certains utilisateurs (CAS n°1) 
 
       # Emplacement du répertoire partagé
       path = /home/prive
 
       # Support en lecture / écriture
       # synonyme de read only = no
       writable = yes
 
       # Partage anonyme désactivé (cas par défaut)
       # synonyme de guest ok = no
       public = no
 
       # Dans le cas du mode user, pour accéder à une ressource partagée
       # qu'a certains utilisateurs, il faut créer un compte UNIX 
       # pour chacun d'eux :
       #   adduser --shell /bin/false --disabled-login paul
       #   adduser --shell /bin/false --disabled-login pierre
       # Créer ensuite une entrée dans le fichier /etc/samba/smbpasswd
       #   smbpasswd -a paul
       #   smbpasswd -a pierre
       # On définit ensuite les utilisateurs autorisés
       valid users = paul pierre
       # ATTENTION toutefois : coté Linux, les utilisateurs doivent
       # avoir le droit d'écriture sur le répertoire partagé.
       # La méthode la plus simple mais la moins sécurisée est d'autoriser
       # tout le monde a écrire dans ce répertoire (rwxrwxrwx)
       # La méthode sécurisée consiste à créer un groupe Unix contenant
       # les utilisateurs autorisés, et d'attribuer le repertoire
       # partagé au groupe en question :
       #   addgroup prive
       #   adduser paul prive
       #   adduser pierre prive
       #   chgrp prive /home/prive
       #   chmod 770 /home/prive
       #   chmod g+s /home/prive
       #
       # Une fois ceci-fait, on peut remplacer : valid users = pierre paul
       # par : valid users = @prive
       # le @prive désigne le groupe Unix 'prive'
       # Avantages : pour ajouter de nouveaux utilisateurs, il suffit
       # de leur créer le compte unix, une entrée dans smbpasswd et de 
       # les ajouter au groupe prive (il n'est plus nécessaire de 
       # modifier le fichier smb.conf)
 
       # Masque de création des fichiers et répertoires
       create mask = 0644
       directory mask = 0755
 
 
 # CAS n°3
 # Un répertoire partagé mais protégé par mot de passe
 [partage]
       # Le commentaire associé au répertoire
       comment = Un répertoire partagé mais protégé par mot de passe
 
       # Emplacement du répertoire partagé
       path = /home/partage
 
       # Support en lecture / écriture
       # synonyme de read only = no
       writable = yes
 
       # Partage anonyme désactivé (cas par défaut)
       # synonyme de guest ok = no
       public = no
 
       guest ok = true
 
       # Dans le cas du mode user, pour pouvoir positionner un mot de passe
       # sur une ressource, il faut créer un compte UNIX 'invite' :
       #   adduser --shell /bin/false --disabled-login invite
       # Créer ensuite une entrée dans le fichier /etc/samba/smbpasswd
       #   smbpasswd -a invite
       # Le mot de passe saisi correspondra à celui du répertoire partagé
       # Il faut ensuite donner l'arborescence partagée à l'utilisateur
       # invite du groupe invite
       valid users = invite
 
       # Masque de création des fichiers et répertoires
       create mask = 0644
       directory mask = 0755


Samba en contrôleur de domaine Microsoft

Voici un fichier /etc/samba/smb.conf permettant de faire un contrôleur de domaine Microsoft :

 # Controleur de domaine PDC (Primary Domain Controller)
 
 # Section GLOBAL
 # Configuration globale de Samba
 [global]
       # Nom du groupe de travail
       workgroup = DOMAINE
        
       # Nom Netbios de la machine (identification réseau)
       netbios name = SERVEUR
 
       # Chaine de commentaire associé au serveur (voisinage réseau)
       server string = %h Serveur (Samba %v)
 
       # Utilisateurs interdits
       invalid users = root
 
       # Enregistre un fichier de log par machine cliente du réseau MS
       log file = /var/log/samba/log.%m
 
       # Taille maximale des logs : 1 Mo
       max log size = 1000
 
       # On n'utilise pas Syslog pour enregistrer les logs
       syslog = 0
 
       # On est PDC, on fait l'authentification par utilisateur
       security = user
 
       # On utilise les mots de passe encryptés
       # (attention, W95 et W98a fonctionnent avec les mdp en clair)
       encrypt passwords = true
         
       # Accélère les transferts réseaux
       socket options = TCP_NODELAY
 
       # Empeche nmbd de chercher à résoudre le nom netbios via le DNS
       dns proxy = no
 
       # Nom du compte invité qui va permettre de créer une
       # ressource partagée par mot de passe (celui du compte invite)
       # POUR LE CAS n°3
       guest account = invite
 
       # Emplacement du fichier contenant les logins et mdp samba
       # concerne le CAS n°1 et n°3
       smb passwd file = /etc/samba/smbpasswd
 
       # Permet de devenir le master browser du réseau
       # Le master browser est responsable de l'état du réseau
       # C'est en général le PDC qui effectue cette tache
       local master = yes
 
       # Permet de devenir le DOMAIN master browser du réseau
       domain master = yes
 
       # Cette option permet de déclencher une election sur le réseau 
       # afin de déterminer qui sera le master browser
       # Le fait de déclencher cette election me donne le plus de chance
       # devenir ce master browser
       preferred master = yes
 
       # Si ce chiffre est le plus grand du réseau, je deviens le PDC
       os level = 255
 
       # Permet aux utilisateurs de changer leur mot de passe sur ce serveur
       # depuis leur poste
       update encrypted = yes
 
       # Définit que le daemon nmbd doit agir en tant que serveur WINS
       wins support = yes
 
       # Winbind permet de placer des machines dans un domaine controlé 
       # par un PDC et d'autoriser les utilisateurs a accéder
       # à ces machines en utilisant les informations du PDC
       winbind separator = +
       winbind enum users = no
       winbind enum groups = no
       winbind uid = 10000-20000
       winbind gid = 10000-20000
 
       # désactive le support des ACL (Access Control List)
       # fonctionnalité utilisée par Active Directory
       nt acl support = no
 
       # Logins autorisés à se connecter aux ressources administratives
       # comme C$, ADMIN$ et IPC$
       # pour que ceci marche, il faut créer un compte unix correspondant
       # à la machine et rajouter une entrée de type machine dans smbpasswd
       # Attention : ce login doit porter le nom netbios de la machine
       # et se terminer par un dollar (d'ou le --force-badname)
       #   adduser --shell /bin/false --disabled-login --force-badname nompc$ 
       #   smbpasswd -a -m nompc$
       admin users = admin
 
       # PRIMORDIAL !, sinon ca marche pas :
       # il faut que la ressource [netlogon] existe, meme si on n'utilise
       # pas un script logon
       domain logons = yes
 
       # Pour autoriser les utilisateurs a changer leurs mots de passe
       passwd program = /usr/bin/passwd %u
       passwd chat = *Enter\snew\sUnix\spassword:* %n\n *Retype\snew\sUnix\spassword:* %n\n
 
 # Section NETLOGON
 # Permet de faire exécuter un script d'initialisation réseau par le poste 
 # client du domaine. Ceci permet par exemple connecter un lecteur réseau (Z:)
 [netlogon]
       # Il n'apparaitra pas dans la liste des ressources partagées
       browsable = no
       # Chemin vers le script netlogon optionnel
       path = /etc/samba/netlogon
 
       # Cette ressource doit impérativement exister et etre
       # accessible en accés anonyme
       public = no
 
       # Pour la sécurité, cette ressource est exportée en read only
       writable = no
 
       # Permet à plusieurs utilisateurs d'utiliser le meme fichier
       # en meme temps
       locking = no
 
 ### Ce serveur effectuant la mission cruciale de PDC, il n'est pas
 ### recommandé de partager des ressources, bien que cela soit possible
 
 [homes]
       path = %H
       browsable = no