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

Contenu supprimé Contenu ajouté
coorections des tabulations qui font buguer WB
coorections + mise en page
Ligne 38 :
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 ==
Ligne 50 ⟶ 47 :
# 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
Ligne 130 ⟶ 132 :
# Sections REPERTOIRES PARTAGES
# UnCAS n°1: un CDROM partagé anonymement
[cdrom]
# Le commentaire associé au CDROM
Ligne 149 ⟶ 151 :
# UnCAS n°2 : un répertoire partagé mais protégé par mot de passe
[partage]
# Le commentaire associé au répertoire
Ligne 165 ⟶ 167 :
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
Ligne 179 ⟶ 174 :
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.
Ligne 205 ⟶ 199 :
# 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)
Ligne 314 ⟶ 306 :
# Sections REPERTOIRES PARTAGES
# CAS n° 21 -: une ressource anonyme sans mot de passe
# Un CDROM
[cdrom]
Ligne 334 ⟶ 326 :
# 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
Ligne 351 ⟶ 342 :
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
Ligne 387 ⟶ 350 :
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 :
Ligne 429 ⟶ 381 :
# 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)
Ligne 442 ⟶ 392 :
[global]
# Nom du groupe de travail
workgroup = MERGUEZDOMAINE
# Nom Netbios de la machine (identification réseau)
Ligne 540 ⟶ 490 :
# Sections REPERTOIRES PARTAGES
# CAS n° 21 -: une ressource anonyme sans mot de passe
# Un CDROM
[cdrom]
Ligne 560 ⟶ 510 :
# 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
Ligne 576 ⟶ 525 :
# 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
Ligne 613 ⟶ 534 :
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
 
 
Ligne 739 ⟶ 639 :
# 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
Ligne 755 ⟶ 649 :
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
Ligne 783 ⟶ 680 :
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