« Le système d'exploitation GNU-Linux/Le partage de fichiers Samba » : différence entre les versions
Aucun résumé des modifications |
Aucun résumé des modifications |
||
Ligne 9 : | Ligne 9 : | ||
- 3 cas de figures : |
- 3 cas de figures : |
||
1° cas : |
1° cas : Anonymous |
||
2° cas : |
2° cas : Partage avec un mot de passe |
||
3° cas : |
3° cas : Login/Password |
||
Ligne 40 : | Ligne 40 : | ||
Samba a 4 modes de fonctionnement: |
Samba a 4 modes de fonctionnement: |
||
- mode partage par ressources |
- mode partage par ressources (cas n°1 et 2) |
||
[global] |
[global] |
||
workgroup = "nom du groupe de travail" |
workgroup = "nom du groupe de travail" |
||
Ligne 88 : | Ligne 88 : | ||
# mkdir <nom du dossier> |
# mkdir <nom du dossier> |
||
# chown invite <nom du dossier> |
# chown invite <nom du dossier> |
||
Petit rappel: 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 utilisateurs |
- Le partage par utilisateurs (cas n°3) : |
||
C'est un partage pour les utilisateurs définis localement sur le serveur. |
|||
(nous signalons ici seulement les différences par rapport à la configuration précédente) |
|||
[global] |
[global] |
||
security = user (partage par utilisateur) |
security = user (partage par utilisateur identifié par login et mot de passe) |
||
[homes] |
|||
comment = Dossier de partage de %U (%U sera remplacé par le nom de l'utilisateur) |
|||
browseable = no (si on active cette option on dispose d'une ressource "homes" redondante avec la ressource "login") |
|||
public = no (pour obliger l'utilisateur à s'authentifier afin de pouvoir accéder à son home directory) |
|||
writable = yes (s'il ne peut pas écrire sur son répertoire, c'est ballot!) |
|||
create mask = 0644 (masque de creation de fichiers) |
|||
directory mask = 0755 (masque de création de répertoires) |
|||
[prive] (partage de répertoire réservé à certains utilisateurs ou groupes) |
|||
comment = commentaire |
|||
path = <chemin du dossier partagé> |
|||
writable = yes |
|||
public = no (pas d'anonymes!) |
|||
valid users = pierre paul @prive (liste des utilisateurs autorisés ou des groupes, le nom de ces derniers étant précédé par @) |
|||
create mask = 0644 (masque de creation de fichiers) |
|||
directory mask = 0755 (masque de création de répertoires) |
Version du 6 février 2008 à 21:06
Implémentation du protocole SMB : SERVER MESSAGE BLOCK Service qui sert au partage de fichiers et de peripheriques sous 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 du broadcast)
- 3 cas de figures :
1° cas : Anonymous 2° cas : Partage avec un mot de passe 3° cas : Login/Password
Pour installer:
- apt-get install samba smbclient smbfs
Fichier de configuration principal: /etc/samba/smb.conf
Pour tester la configuration:
- testparm analyse le fichier smb.conf et signale les erreurs éventuelles
Après avoir modifié la configuration, relancer le service:
- /etc/init.d/samba restart
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.
Le fichier 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 a 4 modes de fonctionnement:
- mode partage par ressources (cas n°1 et 2) [global] workgroup = "nom du groupe de travail" netbios name = "nom netbios du serveur" server string = "libellé sous lequel le serveur apparaitra" invalid users = "liste des utilisateurs interdits" (il est vivement conseillé d'interdire "root") log file = /var/log/samba/log.%m (par défaut un fichier de log est créé dans /var/log/samba pour chaque machine qui accède au partage) syslog = 0 (par défaut on n'écrit pas les logs dans syslog, pour éviter de polluer) security = share (signale qu'on fait un partage par ressource) encrypt passwords = true (on utlise des mots de passe encryptés, sauf pour w95 et w98a qui n'utilisent que des mots de passe en clair) socket options = TCP_NODELAY (accélère les transferts réseau) dns proxy = no (empêche le service nmbd de chercher à résoudre les noms netbios via le DNS guest account = "nom du compte qui va permettre de créer une ressource partagée par mot de passe" exemple : gest account = invite smb passwd file = /etc/samba/smbpasswd (emplacement du fichier contenant les logins et mots de passe samba) printing = cups (pour voir les imprimantes partagées par CUPS)
la section [homes] est vide car on utilise le mode share
pour partager une imprimante: [printers] comment = Les imprimantes browsable = yes (pour afficher les imprimantes dans la liste des partages) path = /tmp (comme nous sommes dans le cas d'une imprimante, on indique l'emplacement des fichiers temporaires) printable = yes (spécifie qu'il s'agit d'une imprimante et non d'un répertoire) public = yes (pour partager l'imprimante de manière anonyme) writable = no (on ne peut pas écrire sur une imprimante!) create mode = 0700 (pour éviter qu'un utilisateur ne supprime les impressions d'un autre)
pour partager un répertoire: [nom de partage] comment = "commentaire" path = "chemin du répertoire partagé" locking = no (si on veut empecher le blocage d'un fichier par un utilisateur) writable = yes ou no (selon qu'on autorise ou pas l'écriture, par exemple no pour un cdrom et yes pour un répertoire partagé en écriture) public = yes ou no (yes si on désire un partage anonyme, no sinon) valid users = invite (utilisateurs valides pour le partage) create mask = 0644 (masque de creation de fichiers) directory mask = 0755 (masque de création de répertoires)
il faut ensuite créer l'utilisateur "invité": # adduser --shell /bin/false --disabled-login invite créer ensuite une entrée dans le fichier /etc/samba/smbpasswd: # smbpasswd -a invite donner le mot de passe correspondant créer le(s) dossier(s) de partage et le(s) donner à l'utilisateur # mkdir <nom du dossier> # chown invite <nom du dossier>
Petit rappel: 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 utilisateurs (cas n°3) :
C'est un partage pour les utilisateurs définis localement sur le serveur.
(nous signalons ici seulement les différences par rapport à la configuration précédente)
[global] security = user (partage par utilisateur identifié par login et mot de passe)
[homes] comment = Dossier de partage de %U (%U sera remplacé par le nom de l'utilisateur) browseable = no (si on active cette option on dispose d'une ressource "homes" redondante avec la ressource "login") public = no (pour obliger l'utilisateur à s'authentifier afin de pouvoir accéder à son home directory) writable = yes (s'il ne peut pas écrire sur son répertoire, c'est ballot!) create mask = 0644 (masque de creation de fichiers) directory mask = 0755 (masque de création de répertoires)
[prive] (partage de répertoire réservé à certains utilisateurs ou groupes) comment = commentaire path = <chemin du dossier partagé> writable = yes public = no (pas d'anonymes!) valid users = pierre paul @prive (liste des utilisateurs autorisés ou des groupes, le nom de ces derniers étant précédé par @) create mask = 0644 (masque de creation de fichiers) directory mask = 0755 (masque de création de répertoires)