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
samba_smb.conf [Le 17/04/2014, 21:25]
2.1.126.171 [Paramètres généraux de [global]]
samba_smb.conf [Le 26/08/2023, 20:48] (Version actuelle)
L'Africain
Ligne 1: Ligne 1:
-{{tag>​samba partage ​BROUILLON}}+{{tag>​samba partage}}
  
 ====== Le fichier de configuration de Samba : smb.conf ====== ====== Le fichier de configuration de Samba : smb.conf ======
  
 La configuration de **[[Samba]]** n'est pas une mince affaire, c'est pourquoi cette page est assez longue, mais soyez tranquille, seule une partie s'​appliquera à votre besoin, continuez de lire attentivement.\\ La configuration de **[[Samba]]** n'est pas une mince affaire, c'est pourquoi cette page est assez longue, mais soyez tranquille, seule une partie s'​appliquera à votre besoin, continuez de lire attentivement.\\
-**Cette page n'est pas exhaustive** et ne permettra pas à tout le monde d'y trouver son bonheur, toutefois vous y trouverez ce dont vous avez besoin pour une configuration simple. Des configurations nécessaires à un aboutissement suffisant y sont proposées. Comme c'est le cas pour bon nombre de logiciels (serveurs, en l'​occurrence) des configurations différentes sont possibles, en fonction des habitudes…\\ 
-⇒ **Ce ne sont que des propositions.** 
  
-<note warning>​ +Cette page est destinée à documenter le fichier de configuration de **[[Samba]]**
-  - 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é, c'est parce que je(([[utilisateurs:​MrWaloo]])) considère Samba comme un service auquel se connectent des clients, il s'agit donc d'un serveur (au même titre que apache, par exemple), même si Samba tourne sur un PC domestique avec une version //​non-server//​ de n'​importe quelle distribution GNU/Linux+
-</​note>​+
  
 ===== Introduction ===== ===== Introduction =====
Ligne 19: Ligne 15:
   * ''​[homes]''​ est spécifique au partage du répertoire personnel d'un utilisateur (son répertoire $HOME) il apparaîtra dans la liste des partages avec le nom d'​utilisateur du client (s'il est identifié),​   * ''​[homes]''​ est spécifique au partage du répertoire personnel d'un utilisateur (son répertoire $HOME) il apparaîtra dans la liste des partages avec le nom d'​utilisateur du client (s'il est identifié),​
   * ''​[le_nom_d'​un_partage]''​ pour chaque partage   * ''​[le_nom_d'​un_partage]''​ pour chaque partage
- 
-[[:​tutoriel:​comment_editer_un_fichier|Éditez le fichier]] **/​etc/​samba/​smb.conf**\\ ​ 
-Dans ce fichier de configuration par défaut il y a beaucoup de commentaires,​ afin de ne pas les perdre et d'​avoir un fichier clair, il est conseillé de [[:​tutoriel/​console_commandes_de_base#​cp|copier]] ce fichier sous un autre nom et de partir de zéro((oui : page blanche, mais soyez sans crainte, elle ne le restera pas)). 
- 
-Une fois terminé, pour vérifier que la configuration est sans faute de syntaxe, utiliser la commande suivante : 
-<​code>​ 
-testparm -s 
-</​code>​ 
-Vous verrez comment ''​samba''​ interprètera votre fichier de configuration et, en cas d'​erreurs,​ vous serez averti. 
- 
-Après chaque modification,​ il faut redémarrer ''​samba''​ : 
- 
-  * ** Ubuntu 9.10 [[karmic|( Karmic Koala )]] et versions antérieures : ** 
-<​code>​ 
-sudo service samba restart 
-</​code>​ 
-  * ** Ubuntu 10.04 [[lucid|( Lucid Lynx )]] et versions supérieures : ** 
-<​code>​ 
-sudo service smbd restart 
-</​code>​ 
- 
-\\ Si un redémarrage complet n'est pas possible pour des raisons de continuité de service et/ou si les modifications ne touchent pas le service NetBios (nmbd), la commande suivante suffit : 
-  * ** Ubuntu 9.10 [[karmic|( Karmic Koala )]] et versions antérieures : ** 
-<​code>​ 
-sudo service samba reload 
-</​code>​ 
-  * ** Ubuntu 10.04 [[lucid|(Lucid Lynx )]] et versions supérieures : ** 
-<​code>​ 
-sudo service smbd reload 
-</​code>​ 
  
 ===== Généralités ===== ===== Généralités =====
  
 Le fichier **/​etc/​samba/​smb.conf** est construit de différentes sections dont la première est généralement : [global].\\ Le fichier **/​etc/​samba/​smb.conf** est construit de différentes sections dont la première est généralement : [global].\\
-Une section commence par une ligne contenant un mot entre crochets et finit lorsque la section suivante commence ;-).\\ +
-Toute ligne commençant par un # est un commentaire. Toute ligne commençant par un ; est aussi considérée comme un commentaire mais sert pour les paramètres ignorés.\\+
 Dans une section, les valeurs sont affectées aux paramètres de cette manière : Dans une section, les valeurs sont affectées aux paramètres de cette manière :
 <​file>​paramètre = valeur</​file>​ <​file>​paramètre = valeur</​file>​
 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.
  
-Une ligne se terminant par le caractère ''​\''​ se prolonge sur la ligne suivante comme le veut la mode Unix.+=====Exemple de partage de dossier résumé===== 
 +<​file>​ 
 +[partage] 
 +   ​comment = Partage de données 
 +   path = /​srv/​partage 
 +   guest ok = no 
 +   read only = no 
 +   ​browseable = yes 
 +   valid users = @partage</​file>​ 
  
-Exemple illustratif ​+Quelques explications ​
-<​file>#​ Un commentaire très important puisqu'il est là… +  ​*[partage] : sert à spécifier le nom du partage entre "​[]",​ c'​est ​le nom qui devra être utilisé pour accéder au partage 
-# Début de la section +  * **comment** : description du partage, 
-[section] +  * **path** : chemin vers le dossier à partager, sur le serveur 
-# Un paramètre comme ceci +  * **guest ok** : accès invité au partage (par défaut "​no"​). Si vous décidez d'​activer cette option, vous devez configurer l'​option "guest account"​ qui par défaut prend la valeur ​"​nobody"​. 
-    paramètre unaire = valeur +  * **read only** : partage accessible uniquement en lecture seule (yes ou no) 
-ou comme cela +  * **browseable** : le partage doit-il être visible ou masqué si on liste les partages du serveur avec un hôte distant (découverte réseau)La valeur "​yes"​ permet de le rendre visible. 
-    liste de paramètres = toi,​moi,​eux +  * **valid users** : spécifier les utilisateurs ou les groupes qui ont les droits d'accès au partage (les droits sur le système ​de fichiers doivent être cohérents vis-à-vis de cette autorisation). On précise un utilisateur avec son identifiant et un groupe avec son identifiant précédé du caractère "​@"​. Pour indiquer plusieurs valeursséparez-les par une virgule.
-# ...et tous ceux qui le veulent… +
-# Celui-ci n'est pas pris en compte +
-;    paramètre invalidé = essai infructueux +
-# paramètre commenté en fin de ligne +
-    paramètre spécial = Yes # Ah oui, on peut commenter en fin de ligne ;-) mais uniquement certains paramètresévitez donc cette pratique</​file>​+
  
 La liste des paramètres se trouve dans la page de [[tutoriel/​console_commandes_de_base#​man|man]] (ou manuel) de smb.conf : La liste des paramètres se trouve dans la page de [[tutoriel/​console_commandes_de_base#​man|man]] (ou manuel) de smb.conf :
Ligne 84: Ligne 53:
    * (G) pour les paramètres de la section ''​[global]''​    * (G) pour les paramètres de la section ''​[global]''​
    * (S) pour les paramètres spécifiques aux partages (//shares// en anglais). Ces paramètres peuvent être définis dans la section ''​[global]''​ et seront valables pour tous les partages, cela évitera de les refaire figurer dans chaque partage. On dira que les paramètres sont //​hérités//​.    * (S) pour les paramètres spécifiques aux partages (//shares// en anglais). Ces paramètres peuvent être définis dans la section ''​[global]''​ et seront valables pour tous les partages, cela évitera de les refaire figurer dans chaque partage. On dira que les paramètres sont //​hérités//​.
 +=====Exemple de partage de dossier détaillé=====
  
 ==== Paramètres généraux de [global] ==== ==== Paramètres généraux de [global] ====
Ligne 175: Ligne 145:
 === Exemple de section [global] === === Exemple de section [global] ===
  
-Voici un exemple((sans commentaire,​ ce qui n'est pas top)) d'une section [global] telle qu'​elle pourrait être pour une configuration sans authentification :+Voici un exemple((sans commentaire,​ ce qui n'est pas top... Attention security= SHARE est obsolète avec Samba 4)) d'une section [global] telle qu'​elle pourrait être pour une configuration sans authentification :
 <​file>​ <​file>​
 [global] [global]
Ligne 263: Ligne 233:
     force group = nogroup     force group = nogroup
 </​file>​ </​file>​
-Ceci peut vous éviter de vous préoccuper des droits sur les fichiers.+Ceci peut vous éviter de vous préoccuper des droits sur les fichiers.\\ 
 +Le compte utilisateur sur le client [[/​adduser#​addgroup|doit faire partie du groupe]] ainsi utilisé (nogroup ci-dessus), ajouter le compte utilisateur dans ce groupe sur le serveur ne suffit pas !
  
 ==== Partage d'​imprimantes ==== ==== Partage d'​imprimantes ====
Ligne 269: Ligne 240:
 <​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 283: Ligne 254:
    ​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 289: Ligne 260:
    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 311: Ligne 282:
  
 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 318: Ligne 289:
  
 Vous l'avez compris, pour une utilisation "à la maison",​ on choisira l'un des deux premiers cas. Vous l'avez compris, pour une utilisation "à la maison",​ on choisira l'un des deux premiers cas.
- 
-===== security = SHARE ===== 
- 
-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. 
- 
-Exemple de section ''​[global]''​ : 
-<​file>​ 
-[global] 
-    server string = %h server (Samba, Ubuntu) 
-    security = SHARE 
-    syslog = 0 
-    dns proxy = No 
-    guest account = ( !!!! mettre ici le login de l'​utilisateur principal) 
-</​file>​ 
- 
-Exemple de configuration d'un partage : 
-<​file>​ 
-[Nom_du_partage] 
-   path = /​chemin/​du/​répertoire/​partagé 
-   ​comment = qui peut le plus peut le moins 
-   read only = no 
-   guest ok = yes 
-   ​public = yes 
-</​file>​ 
-Le nom du partage ne doit pas excéder 12 caractères si vous avez des clients sous MS windows 98. 
  
 ===== security = USER ===== ===== security = USER =====
Ligne 351: Ligne 297:
 <​code>​ <​code>​
 sudo useradd -s /bin/false -d /dev/null -g guest nom_utilisateur sudo useradd -s /bin/false -d /dev/null -g guest nom_utilisateur
-sudo smbpasswd ​-a nom_utilisateur+sudo pdbedit ​-a nom_utilisateur
 </​code>​ </​code>​
 Puis rentrer deux fois le mot de passe de cet utilisateur (ou le faire taper par l'​utilisateur lui-même). Puis rentrer deux fois le mot de passe de cet utilisateur (ou le faire taper par l'​utilisateur lui-même).
  
-Les utilisateurs qui ont un compte sur le PC pourront être autorisés aussi avec "valid users"​. Cependant, il faudra définir un mot de passe samba pour tous les utilisateurs :+Les utilisateurs qui ont déjà ​un compte sur le PC pourront être autorisés aussi avec "valid users"​. Cependant, il faudra définir un mot de passe samba pour tous les utilisateurs :
 <​code>​ <​code>​
-sudo smbpasswd ​-a nom_utilisateur+sudo pdbedit ​-a nom_utilisateur
 </​code>​ </​code>​
-<note important>​Il semble que l'​utilisation de smbpasswd ​ne soit plus celle conseillée ​(à vérifier), il faudrait ​utiliser+<note important> ​//smbpasswd// était utilisé pour des bases utilisateurs(([[https://​www.samba.org/​samba/​docs/​man/​Samba-HOWTO-Collection/​passdb.html#​id2592512|page sur samba.org concernant les bases des comptes utilisateurs]])) de type "​smbpasswd"​ défini dans ///​etc/​samba/​smb.conf//​ avec le paramètre //passdb backend// qui assurait sous samba 3 la compatibilité avec du samba 2. \\ 
 +Sous samba 4vous devez avoir //passdb backend = tdbsam// et c'est donc //pdbedit// qu'il faut utiliser ​:
 <​code>​pdbedit -a username</​code>​ <​code>​pdbedit -a username</​code>​
 Pour importer la base de données smbpasswd : Pour importer la base de données smbpasswd :
 <​code>​pdbedit -i smbpasswd -e tdbsam</​code>​ <​code>​pdbedit -i smbpasswd -e tdbsam</​code>​
-De plus, il faut dans le fichier smb.conf : +</​note>​ 
-<​code>​passdb backend = tdbsam</​code>​</​note>​ +Pour supprimer un utilisateur ​
- +<codepdbedit -x -u nom_utilisateur ​</code>
-==== Gestion des utilisateurs ​en entreprise de petite taille ==== +
- +
-<note>Une solution de gestion des utilisateurs est proposée ici, libre à vous de choisir de la suivre.</note> +
-Il n'est pas forcément nécessaire,​ dans une configuration simple, de faire en sorte que tous les utilisateurs système soient créés dans des groupes d'​utilisateurs différents.\\ +
-Ce qui est proposé ici est de gérer les droits uniquement via ''​samba''​. C'est une solution applicable la plupart du temps, et surtout une des plus simple.+
  
-Dans cette optique, un seul groupe ​d'​utilisateurs est créé ​:+Création du groupe ​en commun ​:
 <​code>​groupadd sambausers</​code>​ <​code>​groupadd sambausers</​code>​
  
-Ensuite soit les utilisateurs sont créés de sorte qu'ils ne puissent pas utiliser le système (shell par défaut sur /bin/false et répertoire personnel (home) sur /dev/null) :+Ensuite soit les utilisateurs sont créés de sorte qu'ils ne puissent pas utiliser le système (shell par défaut sur /bin/false et répertoire personnel (home) sur /dev/nutiuytill) :
 <​code>​ <​code>​
 sudo useradd -s /bin/false -d /dev/null -g sambausers nom_utilisateur sudo useradd -s /bin/false -d /dev/null -g sambausers nom_utilisateur
Ligne 386: Ligne 328:
  
 Enfin, créer pour chaque utilisateur un accès "​samba"​ : Enfin, créer pour chaque utilisateur un accès "​samba"​ :
-<​code>​ + 
-sudo smbpasswd ​-a nom_utilisateur +<​code>​ sudo pdbedit ​-a nom_utilisateur </​code>​ 
-</​code>​ + 
-Puis rentrer deux fois le mot de passe de cet utilisateur (ou le faire taper par l'​utilisateur ​lui-même).\\ +Puis rentrer deux fois le mot de passe de cet utilisateur (ou le faire taper par l'​utilisateur) 
-Un utilisateur nommé ''​samba''​ et faisant partie du groupe ''​sambausers''​ peut être créé pour qu'il soit propriétaire des répertoires partagés.+ 
 +Pour lister les utilisateurs ​samba
 + 
 +<​code>​ sudo pdbedit -L -v </​code>​ 
 + 
 + 
  
 ==== 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 468: Ligne 381:
 ==== 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 478: Ligne 391:
 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.
 </​code>​ </​code>​
 +L'​umask sur le serveur samba joue aussi un rôle important. Reportez-vous à la page [[droits#​droits_attribues_automatiquement_a_un_fichier|droits attribués automatiquement à un fichier (ou répertoire)]]
 ===== security = DOMAIN ===== ===== security = DOMAIN =====
 Configure Samba en contrôleur de domaine. Configure Samba en contrôleur de domaine.
 +cf. [[:​samba-active-directory]]\\
 FIXME Appel à contribution FIXME Appel à contribution
  
Ligne 491: Ligne 404:
  
 ===== security = SERVER ===== ===== security = SERVER =====
-Obsolète +Obsolète ​avec Samba 4((cf. la page sur [[https://​wiki.samba.org/​index.php/​Samba_4.0_Whitepaper]])) (version actuellement supportée)
- +
-FIXME Appel à contribution+
  
 ===== security = ADS ===== ===== security = ADS =====
Ligne 514: Ligne 425:
 [realms] [realms]
 DOMAINE.LOCAL = { DOMAINE.LOCAL = {
-kdc = 172.16.0.100 ​                             #Adresse ​IP du contrôleur de domaine +kdc = domaine.local                              #Nom DNS ou adresse ​IP du contrôleur de domaine 
-admin_server = 172.16.0.100+admin_server = domaine.local
 } }
 ... ...
Ligne 524: Ligne 435:
 <​code>​ <​code>​
 #kinit ADMINISTRATEUR@DOMAINE.LOCAL #kinit ADMINISTRATEUR@DOMAINE.LOCAL
-</​code>​ 
-Connexion au contrôleur de domaine 
-<​code>​ 
-#net ads join -U administrateur 
 </​code>​ </​code>​
 Authentification des utilisateurs par winbind Authentification des utilisateurs par winbind
Ligne 554: Ligne 461:
 idmap gid = 600-20000 idmap gid = 600-20000
 template shell = /bin/bash template shell = /bin/bash
 +template homedir = /home/%u
 +
 ... ...
 </​file>​ </​file>​
Ligne 562: Ligne 471:
 #service winbind restart #service winbind restart
 </​code>​ </​code>​
 +
 +Connexion au contrôleur de domaine
 +<​code>​
 +#net ads join -U administrateur
 +</​code>​
 +
  
 Dans le fichier smb.conf, vous pouvez utiliser l'​option write list = @nom_du_groupe_AD dans vos partages Dans le fichier smb.conf, vous pouvez utiliser l'​option write list = @nom_du_groupe_AD dans vos partages
Ligne 575: Ligne 490:
 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]].
-  * FIXME+  * [[https://​www.samba.org/​samba/​docs/​man/​manpages-3/​smb.conf.5.html|page détaillant les options du fichier smb.conf sur samba.org]] (en anglais)
  
 ---- ----
-//​Contributeurs principaux : [[utilisateurs:​MrWaloo]],​ ...//+//​Contributeurs principaux : [[utilisateurs:​MrWaloo]], ​[[utilisateurs:​bcag2]] ​...//
 ---- ----
  • samba_smb.conf.1397762749.txt.gz
  • Dernière modification: Le 17/04/2014, 21:25
  • par 2.1.126.171