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

coorections + mise en page
(coorections des tabulations qui font buguer WB)
(coorections + mise en page)
On peut ensuite créer différentes sections, une par partage voulu.
 
Samba peut fonctionner de différentes manières. PourVoici chacune, nous allons étudier 3quelques cas de figures :courants.
 
* 1° cas : Anonymous
* 2° cas : Partage avec un mot de passe
* 3° cas : Login/Password
 
== Le partage par ressource sur un réseau Workgroup ==
# PARTAGE PAR RESSOURCES (share)
# Il y a 2 cas possibles :
#
# CAS n°1 : on partage une ressource totalement anonyme
# CAS n°2 : on partage une ressource avec un mot de passe associé à la ressource
# Section GLOBAL
# Configuration globale de Samba
# Sections REPERTOIRES PARTAGES
# UnCAS n°1: un CDROM partagé anonymement
[cdrom]
# Le commentaire associé au CDROM
# UnCAS n°2 : un répertoire partagé mais protégé par mot de passe
[partage]
# Le commentaire associé au répertoire
public = no
# Voir explication ci-dessous
# 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
directory mask = 0755
Dans le cas du mode share, pour pouvoir positionner un mot de passe sur une ressource, il faut créer un compte UNIX 'invite' :
 
 
On crée ensuite l'utilisateur '''invite''' :
 
# adduser --shell /bin/false --disabled-login invite
 
ViaOn la commande '''smbpasswd''', on créeCrée ensuite une entrée dans le fichier '''/etc/samba/smbpasswd''' :
 
# smbpasswd -a invite
 
On saisi leLe mot de passe associésaisi correspondra à celui audu compterépertoire '''invite'''partagé.
 
OnIl créefaut leensuite dossiercréer dele partagerépertoire '''/home/partage'''partagé et ondonner lel'arborescence donnepartagée à l'utilisateur '''invite''' du groupe invite :
 
# mkdir /home/partage
# chown invite.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.
# PARTAGE PAR UTILISATEUR (user) - Groupe de travail
# Il y a 32 cas possibles :
#
# CAS n°1 : cas normal du mode user, on faitpartage une authentificationressource totalement anonyme
# CAS n°2 : 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)
# Sections REPERTOIRES PARTAGES
# CAS n° 21 -: une ressource anonyme sans mot de passe
# Un CDROM
[cdrom]
# CAS n°2 : un répertoire partagé qu'à certains utilisateurs
# CAS n°1
# Un répertoire partagé qu'a certains utilisateurs
[prive]
# Le commentaire associé au répertoire
public = no
# Voir explication ci-dessous
# 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'
valid users = @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
directory mask = 0755
 
Dans le cas du mode user, pour ne partager une ressource partagée qu'a certains utilisateurs, il faut tout d'abord créer un compte UNIX pour chacun d'eux :
# CAS n°3
 
# Un répertoire partagé mais protégé par mot de passe
# adduser --shell /bin/false --disabled-login paul
[partage]
# adduser --shell /bin/false --disabled-login pierre
# Le commentaire associé au répertoire
 
comment = Un répertoire partagé mais protégé par mot de passe
On crée ensuite une entrée dans le fichier /etc/samba/smbpasswd :
 
# Emplacement du répertoire partagé
# smbpasswd -a paul
path = /home/partage
# smbpasswd -a pierre
 
# Support en lecture / écriture
Coté Linux, les utilisateurs doivent avoir le droit d'écriture sur le répertoire partagé. La meilleure méthode consiste à créer un groupe Unix contenant les utilisateurs autorisés, et d'attribuer le repertoire partagé au groupe en question :
# synonyme de read only = no
 
writable = yes
# addgroup prive
# adduser paul prive
# Partage anonyme désactivé (cas par défaut)
# adduser pierre prive
# synonyme de guest ok = no
# mkdir /home/prive
public = no
# chgrp prive /home/prive
# chmod 770 /home/prive
guest ok = true
# chmod g+s /home/prive
 
# Dans le cas du mode user, pour pouvoir positionner un mot de passe
Avantage : pour partager cette ressource à 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).
# 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
== Le partage sur un domaine Microsoft ==
# 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 :
# déléguée à un controleur de domaine (PDC : Primary Domain Controller)
# Il y a 32 cas possibles :
#
# CAS n°1 : cas normal du mode user, on faitpartage une authentificationressource totalement anonyme
# CAS n°2 : 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)
[global]
# Nom du groupe de travail
workgroup = MERGUEZDOMAINE
# Nom Netbios de la machine (identification réseau)
# Sections REPERTOIRES PARTAGES
# CAS n° 21 -: une ressource anonyme sans mot de passe
# Un CDROM
[cdrom]
# CAS n°2 : un répertoire partagé qu'à certains utilisateurs
# CAS n°1
# Un répertoire partagé qu'a certains utilisateurs
[prive]
# Le commentaire associé au répertoire
# synonyme de guest ok = no
public = no
# Voir explication ci-dessous
# 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'
valid users = @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
directory mask = 0755
Remarque : Pour que le serveur Linux puisse rejoindre le domaine existant, il faut se connecter au moins une fois avec le compte '''Administrateur''' définit sur le contrôleur de domaine, afin que ce dernier crée un compte machine :
 
# net join -W DOMAINE -U Administrateur -P
... à tester et à coller le résultat ....
# CAS n°3
 
# Un répertoire partagé mais protégé par mot de passe
Dans le cas du mode server, les utilisateurs (login et mot de passe) sont définit sur un serveur existant.
[partage]
 
# Le commentaire associé au répertoire
Coté Linux, les utilisateurs doivent avoir le droit d'écriture sur le répertoire partagé. Cependant, les utilisateurs ne sont pas définit sur le serveur Linux mais sur le contrôleur de domaine. La solution consiste à permettre à tout le monde d'écrire dans ce répertoire, Samba se chargeant de n'autoriser que les utilisateurs autorisés sur le contrôleur de domaine.
comment = Un répertoire partagé mais protégé par mot de passe
 
# mkdir /home/prive
# Emplacement du répertoire partagé
# chmod path =777 /home/partageprive
# 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
 
 
# 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
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\sUnix\spassword:* %n\n *Retype\snew\sUnix\spassword:* %n\n
# Nom du fichier netlogon
logon script = logon.bat
# 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:) ou de synchroniser l'heure
[netlogon]
# Il n'apparaitra pas dans la liste des ressources partagées
browsable = no
# CheminRépertoire verscontenant le script netlogon optionnel
path = /etc/samba/netlogon
path = %H
browsable = no
 
Pour chaque membre du domaine, 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$
 
Il faut aussi créer le répertoire pouvant acceillir le '''netlogon''' :
 
# mkdir /etc/samba/netlogon
 
Le '''netlogon''' peut servir par exemple à créer automatiquement un volume réseau (ex: '''Z:'''), ou ajuster l'heure de l'ordinateur avec celle du contrôleur de domaine.
 
On peut optionnellement créer un fichier logon.bat :
 
# echo "echo @off" > /etc/samba/netlogon/logon.bat
# echo "echo Bienvenue sur le domaine" >> /etc/samba/netlogon/logon.bat
# echo "pause" >> /etc/samba/netlogon/logon.bat
320

modifications