Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
Dernière révision Les deux révisions suivantes
samba_smb.conf [Le 03/06/2015, 11:11]
bcag2 [Gestion des utilisateurs : à la maison] Je remets la cde pdbedit de création d'utilisateur
samba_smb.conf [Le 21/11/2022, 21:21]
92.89.129.155 [Droits sur les répertoires partagés : en entreprise de petite taille]
Ligne 10: Ligne 10:
   - Un certain nombre de notions sont rapidement expliquées ici, cette page est destinée à documenter le fichier de configuration de **Samba**, pas toutes les notions à avoir pour tout comprendre en détail. Faites appel à votre curiosité pour en savoir plus (si vous estimez en avoir besoin).   - Un certain nombre de notions sont rapidement expliquées ici, cette page est destinée à documenter le fichier de configuration de **Samba**, pas toutes les notions à avoir pour tout comprendre en détail. Faites appel à votre curiosité pour en savoir plus (si vous estimez en avoir besoin).
   - Dans cette page, le terme "​serveur"​ sera souvent employé, car Samba est un service auquel se connectent des clients, il s'agit donc d'un serveur (au même titre qu' apache, par exemple), même si Samba tourne sur un PC domestique avec une version //​non-server//​ de n'​importe quelle distribution GNU/Linux.   - Dans cette page, le terme "​serveur"​ sera souvent employé, car Samba est un service auquel se connectent des clients, il s'agit donc d'un serveur (au même titre qu' apache, par exemple), même si Samba tourne sur un PC domestique avec une version //​non-server//​ de n'​importe quelle distribution GNU/Linux.
-  - Cette page a été écrite par rapport à Samba 3 qui est utilisé par les versions d'​Ubuntu jusqu'​à Lucid (12.04). A partir de Trusty (14.04), c'est Samba 4 qui prend le relais avec de nombreuses différences et incompatibilités ! N'​hésitez pas à éditez ​le manuel pour vérifier si le paramètre a encore lieu d'​être : <​code>​man smb.conf</​code>​+  - Cette page a été écrite par rapport à Samba 3 qui est utilisé par les versions d'​Ubuntu jusqu'​à Lucid (12.04). A partir de Trusty (14.04), c'est Samba 4 qui prend le relais avec de nombreuses différences et incompatibilités ! N'​hésitez pas à éditer ​le manuel pour vérifier si le paramètre a encore lieu d'​être : <​code>​man smb.conf</​code>​
 </​note>​ </​note>​
  
Ligne 53: Ligne 53:
 Dans certains cas, il est possible d'​affecter une liste de valeurs à un même paramètre, la syntaxe à utiliser est alors : Dans certains cas, il est possible d'​affecter une liste de valeurs à un même paramètre, la syntaxe à utiliser est alors :
 <​file>​paramètre = valeur1,​valeur2,​valeur3</​file>​ <​file>​paramètre = valeur1,​valeur2,​valeur3</​file>​
-ou séparés ​par des espaces+ou séparées ​par des espaces
 <​file>​paramètre = valeur1 valeur2 valeur3</​file>​ <​file>​paramètre = valeur1 valeur2 valeur3</​file>​
 Il est coutumier d'​indenter((ajouter des espaces en début de ligne)) les paramètres afin de les distinguer des sections et des commentaires. Il est coutumier d'​indenter((ajouter des espaces en début de ligne)) les paramètres afin de les distinguer des sections et des commentaires.
Ligne 264: Ligne 264:
 <​file>​ <​file>​
 # quelques lignes dans la section [global] # quelques lignes dans la section [global]
-########## Printing ########## ​+########## Printing ##########
    load printers = yes     load printers = yes 
    ​printing = cups     ​printing = cups 
    ​printcap name = cups     ​printcap name = cups 
  
-[printers] ​+[printers]
    ​comment = All Printers ​    ​comment = All Printers ​
    ​browseable = no     ​browseable = no 
Ligne 278: Ligne 278:
    ​create mask = 0700     ​create mask = 0700 
  
-[print$] ​+[print$]
    ​comment = Printer Drivers ​    ​comment = Printer Drivers ​
    path = /​var/​lib/​samba/​printers ​    path = /​var/​lib/​samba/​printers ​
Ligne 284: Ligne 284:
    read only = yes     read only = yes 
    guest ok = no     guest ok = no 
-# Uncomment to allow remote administration of Windows print drivers.  +# Uncomment to allow remote administration of Windows print drivers. 
-# Replace '​ntadmin'​ with the name of the group your admin users are +# Replace '​ntadmin'​ with the name of the group your admin users are
 # members of. # members of.
 ######### !!!!!!!!!! Attention à cette ligne !!!!!!!!!!!!! ######## ######### !!!!!!!!!! Attention à cette ligne !!!!!!!!!!!!! ########
Ligne 306: Ligne 306:
  
 Ce paramètre peut avoir les valeurs suivantes : Ce paramètre peut avoir les valeurs suivantes :
-  * **[[#​security_share|SHARE]]** : Sécurité basée sur les mots de passes. Les utilisateurs accèdent au partage en indiquant le mot de passe d'un utilisateur. Les droits sur les fichiers s'​appliqueront sur le partage. Mode utilisé pour des postes sous Windows 9x et Me. Il est aussi possible de ne pas faire d'​authentification via ce mode.+  * **[[#​security_share|SHARE]]** : Sécurité basée sur les mots de passe. Les utilisateurs accèdent au partage en indiquant le mot de passe d'un utilisateur. Les droits sur les fichiers s'​appliqueront sur le partage. Mode utilisé pour des postes sous Windows 9x et Me. Il est aussi possible de ne pas faire d'​authentification via ce mode.
   * **[[#​security_user|USER]]** : Une sécurité basée sur une identification par login et mot de passe depuis une liste d'​utilisateurs (Base d'​utilisateurs Samba, base d'​annuaire LDAP, ...). Ce mode est celui par défaut si le champ security n'est pas renseigné.   * **[[#​security_user|USER]]** : Une sécurité basée sur une identification par login et mot de passe depuis une liste d'​utilisateurs (Base d'​utilisateurs Samba, base d'​annuaire LDAP, ...). Ce mode est celui par défaut si le champ security n'est pas renseigné.
   * **[[#​security_domain|DOMAIN]]** : Une sécurité basée sur une identification par login et mot de passe géré par un contrôleur de domaine.   * **[[#​security_domain|DOMAIN]]** : Une sécurité basée sur une identification par login et mot de passe géré par un contrôleur de domaine.
Ligne 315: Ligne 315:
  
 ===== security = SHARE ===== ===== security = SHARE =====
-Obsolète avec Samba 4 ([[:​samba_smb.conf#​security_server|cf. note security = server]])\\+<note important>​Obsolète avec Samba 4 ([[:​samba_smb.conf#​security_server|cf. note security = server]])\\ 
 +Vous êtes prévenu.\\ 
 +Il est fort probable que votre testparm ne passe pas à cause de cela. 
 +</​note>​ 
 Dans ce mode, donc pas de droits à gérer, juste les partages en accès libre. La seule restriction possible est la lecture seule. L'​authentification se fait par mot de passe. Ce mode permet aux postes sous Windows 9x et Me d'​accéder à un partage avec des identifiants différents. Dans ce mode, donc pas de droits à gérer, juste les partages en accès libre. La seule restriction possible est la lecture seule. L'​authentification se fait par mot de passe. Ce mode permet aux postes sous Windows 9x et Me d'​accéder à un partage avec des identifiants différents.
  
Ligne 360: Ligne 364:
 <​code>​pdbedit -i smbpasswd -e tdbsam</​code>​ <​code>​pdbedit -i smbpasswd -e tdbsam</​code>​
 </​note>​ </​note>​
 +Pour supprimer un utilisateur :
 +<​code>​ pdbedit -x -u nom_utilisateur </​code>​
  
 Création du groupe en commun : Création du groupe en commun :
Ligne 379: Ligne 385:
  
 Puis rentrer deux fois le mot de passe de cet utilisateur (ou le faire taper par l'​utilisateur) Puis rentrer deux fois le mot de passe de cet utilisateur (ou le faire taper par l'​utilisateur)
 +
 +Pour lister les utilisateurs samba:
 +
 +<​code>​ sudo pdbedit -L -v </​code>​
  
  
Ligne 385: Ligne 395:
 ==== Configuration ==== ==== Configuration ====
  
-<​file>​ 
-#​======================= Global Settings ======================= 
  
-[global]+## Identification ### 
 +workgroup = nom-du-domaine --> Nom sous lequel le serveur apparaitra 
 +server string = Serveur Samba MohYns (%h) --> Nom du serveur Samba 
 +netbios name = Serveur Samba --> Nom
  
-## Browsing/​Identification ​### +### Debugging ​### 
-workgroup ​Arcade +log file /​var/​log/​samba/​log.%m --> Emplacement du fichier log 
-server string = Samba server (%h) +max log size 1000 --> Taille maximum
-netbios name = Serveur +
-dns proxy no+
  
-#### Networking ​#### +#### Authentication ​#### 
-interfaces ​192.168.214.20 +security ​user --> Sécurité 
-bind interfaces only yes+valid users YnsMohUser --> Utilisateurs valides 
 +encrypt passwords = true --> Les mots de passent sont cryptés 
 +passdb backend = YnsMoh --> Stockage des comptes utilisateurs autorisés à se connecter au serveur
  
-### Access rights ### 
-create mask = 0660 
-directory mask = 0770 
  
-#### Debugging/​Accounting ​#### +#### Reste #### 
-log file /​var/​log/​samba/​log.%m +Browseable=yes --> Visible par les clients 
-max log size 1000 +Writable=yes --> Droit d'​écriture
-syslog = 0 +
-panic action = /​usr/​share/​samba/​panic-action %d+
  
-####### Authentication ####### +#### Configuration d'un partage en lecture/​écriture pour certains utilisateurs ​#### 
-security ​user +path /​mnt/​raid/​screen --> Chemin du dossier partagé 
-# ATTENTION A BIEN REMPLACER ​"groupe_principal" ​par le nom du groupe dont vous faites partie +comment = Repertoire ​" ​Screen ​" ​--> Répertoire en lecture ​et écriture pour tous ceux qui y ont accès 
-# (si vous êtes l'​utilisateur principal, c'est également votre login) +read only non --> Restriction de lecture 
-et de rajouter les éventuels autres utilisateurs... +write list liste des utilisateurs ayant le droit de lire et d'​écrire séparés par des espaces
-valid users @guest, @groupe_principal +
-encrypt passwords ​true +
-passdb backend = tdbsam +
-obey pam restrictions = yes +
-unix password sync = no +
-map to guest = bad user+
  
-############​ Misc ############​ 
-socket options = TCP_NODELAY IPTOS_LOWDELAY SO_RCVBUF=8192 SO_SNDBUF=8192 
-usershare allow guests = no 
-</​file>​ 
  
-=== Configuration d'un partage en lecture/​écriture pour certains utilisateurs === 
  
-Ajouter les lignes suivantes pour chacun des partages de ce type : 
-<​file>​ 
-[Nom_du_partage] 
-   path = /​chemin/​du/​répertoire/​partagé 
-   ​comment = Répertoire en lecture et écriture pour tous ceux qui y ont accès 
-   read only = no 
-   valid users = liste des utilisateurs séparés par des espaces 
-</​file>​ 
- 
-=== Configuration d'un partage en lecture/​écriture pour certains utilisateurs et en lecture seule pour d'​autres=== 
-Ajouter les lignes suivantes pour chacun des partages de ce type : 
-<​file>​ 
-[Nom_du_partage] 
-   path = /​chemin/​du/​répertoire/​partagé 
-   ​comment = Répertoire en lecture seule pour certains, en lecture/​écriture pour d'​autres (sans compter ceux qui n'y ont pas accès) 
-   read only = yes 
-   valid users = liste des utilisateurs n'​ayant que le droit de lire séparés par des espaces 
-   write list = liste des utilisateurs ayant le droit de lire et d'​écrire séparés par des espaces 
-</​file>​ 
-<​note>​Les utilisateurs de write list doivent être dans les valid users sinon ils n'ont pas d'​accès !</​note>​ 
 ==== Droits sur les répertoires partagés : à la maison ==== ==== Droits sur les répertoires partagés : à la maison ====
  
Ligne 459: Ligne 434:
 ==== Droits sur les répertoires partagés : en entreprise de petite taille ==== ==== Droits sur les répertoires partagés : en entreprise de petite taille ====
  
-Remarque importante : Au niveau d'un répertoire partagé, Samba choisi toujours les droits "​minimum"​. Si on désire qu'un utilisateur ou groupe puisse écrire sur le répertoire partagé à partir d'un autre ordinateur, non seulement il doit disposer des droits d'​écriture sur le répertoire lui-même (à vérifier avec la commande chmod), ET le smb.conf doit également lui permettre de le faire. ​+Remarque importante : Au niveau d'un répertoire partagé, Samba choisi toujours les droits "​minimum"​. Si on désire qu'un utilisateur ou groupe puisse écrire sur le répertoire partagé à partir d'un autre ordinateur, non seulement il doit disposer des droits d'​écriture sur le répertoire lui-même (à vérifier avec la commande chmod), ET le smb.conf doit également lui permettre de le faire.
  
 Le plus simple étant que le répertoire appartienne à l'​utilisateur "​samba" ​ ainsi qu'au groupe "​sambausers"​ prévu à cet effet. Voici la commande à lancer pour tous les répertoires partagés : Le plus simple étant que le répertoire appartienne à l'​utilisateur "​samba" ​ ainsi qu'au groupe "​sambausers"​ prévu à cet effet. Voici la commande à lancer pour tous les répertoires partagés :
Ligne 469: Ligne 444:
 Ainsi, tous les utilisateurs qui sont présents dans le groupe propriétaire "​sambausers"​ disposeront de tous les droits sur ce répertoire,​ mais via le partage réseau c'est la configuration de Samba (dans le smb.conf) qui fixera précisément qui peut lire et qui peut écrire parmi les utilisateurs de ce groupe : Ainsi, tous les utilisateurs qui sont présents dans le groupe propriétaire "​sambausers"​ disposeront de tous les droits sur ce répertoire,​ mais via le partage réseau c'est la configuration de Samba (dans le smb.conf) qui fixera précisément qui peut lire et qui peut écrire parmi les utilisateurs de ce groupe :
 <​code>​ <​code>​
-valid user = @sambausers ​                # seuls les utilisateurs du groupe sambausers peuvent se connecter au répertoire partagé+valid users = @sambausers ​                # seuls les utilisateurs du groupe sambausers peuvent se connecter au répertoire partagé
 read only = yes                       # limitation des droits à la lecture pour tout le groupe sambausers, mais ..... read only = yes                       # limitation des droits à la lecture pour tout le groupe sambausers, mais .....
 write list = utilisateur01 ​            #​........sauf pour utilisateur01 (qui est dans le groupe sambausers) qui pourra y écrire. write list = utilisateur01 ​            #​........sauf pour utilisateur01 (qui est dans le groupe sambausers) qui pourra y écrire.
Ligne 482: Ligne 457:
  
 ===== security = SERVER ===== ===== security = SERVER =====
-Obsolète avec Samba 4((cf. la page sur [[https://​wiki.samba.org/​index.php/​Samba_4.0_Whitepaper]])) (version actuellement supportée) ​+Obsolète avec Samba 4((cf. la page sur [[https://​wiki.samba.org/​index.php/​Samba_4.0_Whitepaper]])) (version actuellement supportée)
  
 ===== security = ADS ===== ===== security = ADS =====
Ligne 568: Ligne 543:
 FIXME Appel à contribution FIXME Appel à contribution
  
-=====Liens=====+===== Version Protocole ===== 
 +Certains serveurs Windows utilisaient smb v1 qui comporte des failles de sécurité et il est donc vivement conseillé de désactiver cette version du protocole SMB. Cela peut entraîner des soucis de connexion pour les utilisateurs ubuntu.\\ 
 +La version, //​vers=2.1//,​ peut-être précisée lors du montage: 
 +<​code>​[login@machine ~]$ id login 
 +uid=XXXXX(login) gid=YYYYY(groupe) 
 + 
 +[login@machine ~]$ mkdir /​media/​PARTAGE 
 +[login@machine ~]$ sudo mount -v -t cifs //​@IP_SERVEUR/​PARTAGE/​ /​media/​PARTAGE/​ -o user="​login",​dom="​TON-DOMAINE.FR",​vers=2.1,​uid=XXXXX,​gid=YYYYY 
 +</​code>​ 
 + 
 +mais il est possible de spécifier la version min/max dans le fichier de conf((https://​askubuntu.com/​questions/​919967/​how-to-tell-gigolo-gvfs-to-use-smbv2-for-windows-shares)):​ 
 +<​file>​ 
 +server min protocol = SMB2 
 +client min protocol = SMB2 
 +</​file>​ 
 +<​note>​Le protocole SMB v1 sera désactivée par défaut à partir de Samba 4.11 [[https://​wiki.samba.org/​index.php/​Samba_4.11_Features_added/​changed|(paragraphe 7.2.2 du wiki)]]</​note>​ 
 +===== Liens =====
  
   * [[samba|Page principale concernant Samba]].   * [[samba|Page principale concernant Samba]].
  • samba_smb.conf.txt
  • Dernière modification: Le 26/08/2023, 20:48
  • par L'Africain