Présentation   |  Installation |  Configuration     ]

Dernière modification 25 août 2017

Samba

Configuration du réseau

Présentation

Samba est un service qui permet de partager vos imprimantes et disques durs pour d'autres PC sous Windows. Je présente, ici, une configuration simple (trop ?) de samba avec exportation de disques et d'imprimantes sans jouer sur tous les autres paramètres. C'est généralement largement suffisant pour une configuration pour un réseau local "familial".
[Retour haut de la page ]

Installation

Sur une Mageia vous devez installer les packages suivants

samba-common
samba-server

Le fichier de configuration se trouve sous /etc/samba et a pour nom smb.conf

[Retour haut de la page ]

Configuration

Voilà le fichier de configuration de samba est /etc/samba/smb.conf. C'est un exemple de base, épuré des commentaires et de toutes les options que je juge non nécessaires, les paramètres pour lesquels les commentaires sont en anglais sont par défaut dans une config  et que je n'ai pas cherché à modifier.
Les lignes commençant par ; ou # ne sont pas prises en compte.

[global]

# 1. Server Naming Options: options de nommage du serveur

# ici je définis le workgroup, c'est le nom qui apparaitra dans le voisinage réseau des PC sous windows,
# vous pouvez donc faire en sorte que ce nom de domaine soit le meme que celui des PC sous windows
   workgroup = mon-domaine

   netbios name = mon-serveur
   server string = %h

# 2. Printing Options: options d'impression

# définition du daemon d'imprimante

    printcap name = cups
    load printers = yes 
    printcap cache time = 60

    printing = cups

# si votre serveur samba n'est pas le serveur d'impression du réseau vous pouvez spécifier ici le nom du serveur CUPS
    cups server = serveur-cups

# 3. Logging Options: options de log

# Pour créer un fichier de log par machine qui se connecte, par exemple

# si machine1 et machine2 utilisent les services de samba du serveur linux
# vous aurez les fichiers de log log.machine1 et log.machine2
   log file = /var/log/samba/log.%m

# Taille limite des fichiers de log (en Ko)
   max log size = 50

# 4. Security and Domain Membership Options: options de sécurité et d'appartenance à un domaine

# ici on restreint le domaine des adresses IP qui pourront accéder au serveur (seulement 192.168.1.* et les adresses locales en loopback)
    hosts allow = 192.168.1. 127.

# seuls les utilisateurs déclarés pourront se connecter
    map to guest = bad user

#c'est le mode d'authentification le plus courant, c'est la combinaison login/password
   security = user

# les mots de passe sont chiffrés et contenus dans le fichier smbpasswd
  encrypt passwords = yes
  smb passwd file = /etc/samba/smbpasswd

# 7. Name Resolution Options: options de résolution de noms

# on ne cherche à identifier les noms d'hôtes NetBios via des requêtes DNS
   dns proxy = no

#============================ Share Definitions ==============================
#exportation des home directories vers les PC sous Windows, pour cela un meme utilisateur doit avoir
# le meme login sous Linux et sous Windows, il doit aller dans l'explorateur de Windows, scruter le réseau et puis monter les partages
[homes]
   comment = Home Directories
   browseable = no
   writable = yes

[printers]
   comment = All Printers
   path = /var/spool/samba
   browseable = no
# to allow user 'guest account' to print.
   guest ok = no
   writable = no
   printable = yes
   create mode = 0700
   print command = lpr-cups -P %p -o raw %s -r   # using client side printer drivers.

# cette option signifie qu'il faudra installer le driver sur le poste windows
    use client driver = yes

[print$]
   path = /var/lib/samba/printers
   browseable = yes
   write list = @adm root
   guest ok = no
   inherit permissions = yes
   # Settings suitable for Winbind:
   # write list = @"Domain Admins" root
   # force group = +@"Domain Admins"


# exportation de tmp pour faire des transferts de fichier
# sur les PC sous Windows on doit taper \\nom-du-serveur-linux\tmp dans connecter lecteur réseau
# On n'a pas de saisie de mot de passe (public=yes)
[tmp]
   comment = Temporary file space
   path = /tmp
   read only = no
   public = yes

# exportation d'un répertoire /alphonse (et oui pourquoi pas...) uniquement vers les utilisateurs olivier et veronique
[alphonse]
comment = alphonse
path = /alphonse
valid users = olivier veronique
public = no
writable= yes

on vérifiera qu'il n'y a pas d'erreur dans le fichier de config en tapant testpam, ça doit donner quelque chose comme cela

Load smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
Processing section "[homes]"
Processing section "[printers]"
Processing section "[print$]"
Processing section "[mana]"
Loaded services file OK.
Warning: Service printers defines a print command, but rameter is ignored when using CUPS libraries.
Server role: ROLE_STANDALONE
Press enter to see a dump of your service definitions

[global]
    workgroup = mon-domaine
    server string = %h
    map to guest = Bad User
    log file = /var/log/samba/%m.log
    max log size = 50
    printcap cache time = 60
    printcap name = cups
    cups server = serveur-cups
    dns proxy = No
    idmap config * : backend = tdb
    hosts allow = 192.168.1., 127.

[homes]
    comment = Home Directories
    read only = No
    browseable = No

[printers]
    comment = All Printers
    path = /var/spool/samba
    create mask = 0700
    printable = Yes
    print ok = Yes
    print command = lpr-cups -P %p -o raw %s -r   # using client side printer drivers.
    use client driver = Yes
    browseable = No

[print$]
    path = /var/lib/samba/printers
    write list = @adm, root
    inherit permissions = Yes

[alphonse]
    comment = alphonse
    path = /alphonse
    valid users = olivier, veronique
    read only = No

il faut maintenant définir les utilisateurs avec leur mot de passe qui auront accès aux partages, cela se fait de cette manière

smbpasswd -a olivier
New SMB password:
Retype new SMB password:
Added user olivier.

On vérifie si le serveur est bien lancé en tapant

systemctl status smb

voilà ce que ça doit donner

● smb.service - LSB: Samba servers (nmbd and smbd)
   Loaded: loaded (/etc/rc.d/init.d/smb)
   Active: active (running) since ven. 2017-08-25 18:03:04 CEST; 55s ago
  Process: 22538 ExecStart=/etc/rc.d/init.d/smb start (code=exited, status=0/SUCCESS)
   CGroup: /system.slice/smb.service
           ├─22548 smbd -D
           ├─22558 nmbd -D
           └─22573 smbd -D

août 25 18:03:04 mana.kervao.fr smb[22538]: Lancement du service SaMBa : [  OK  ]
août 25 18:03:04 mana.kervao.fr smb[22538]: Lancement du service NMB : [  OK  ]

au besoin on le lancera en tapant

systemctl start smb

on veillera à bien ouvrir les ports au niveau du firewall shorewall à partir de la configuration qu'on peut trouver dans la page précitée, le fichier rules doit contenir les lignes supplémentaires suivantes

SMB(ACCEPT)  fw      lan:192.168.1.0/24
SMB(ACCEPT)  lan:192.168.1.0/24     fw

en partant sur l'hypothèse que les adresses de votre réseau sont dans le domaine 192.168.1.X.

Par défaut pour windows pour rajouter une imprimante il faudra suivre les étapes suivantes

- Menu Démarrer

- Imprimantes et télécopieurs

- Ajouter une imprimante

- Coche une imprimante réseau ou une imprimante connectée à un autre ordinateur

- Rechercher une imprimante, vous devez voir le nom de domaine défini plus haut, votre serveur puis en cliquant sur la croix l'imprimante partagée que vous pouvez sélectionner.

pour rajouter un répertoire réseau, il suffit à partir de l'explorateur de cliquer sur Outils puis Connecter un lecteur réseau, si on vous demande votre login et mot de passe vous devez indiquer celui sur le serveur, tant qu'à faire c'est mieux si vous définissez les mêmes login sur les postes windows et le serveur.
 
 
 
 
[Retour page d'accueil FUNIX] [Retour haut de la page ]