Onglet Samba : Configuration du serveur de fichiers

EOLE propose un contrôleur de domaine Active Directory[1] situé dans le conteneur[2] nommé addc couplé à un serveur de fichiers en mode membre sur la partie "maître" du serveur.

Cela signifie qu'il permet une authentification centralisée des ouvertures de session sur les postes clients et qu'il fournit un ensemble de partages aux utilisateurs (dossier personnel, dossier de groupes, partages communs, d'icônes, etc.).

Les droits d'accès sont différents suivant les groupes auxquels l'utilisateur appartient.

Sur le module Scribe, un professeur aura globalement plus de droits qu'un élève. Il a également à sa disposition des outils lui permettant d'interagir avec les élèves (observation, blocage, distribution de documents, etc.).

Les variables proposées dans l'onglet Samba de l'interface de configuration agissent principalement sur la partie serveur membre du module.

Nom du serveur de fichiers

Le champ Nom du serveur de fichiers (nom du serveur dans le domaine AD) est le nom qui pourra être utilisé pour accéder au serveur de fichiers avec la syntaxe \\machine.

Attention

Sa taille maximale est fixée à 15 caractères et il ne doit pas être modifié une fois le module instancié.

ComplémentCaractères autorisés et non autorisés

Les noms d'ordinateur au format NetBIOS[3] peuvent contenir tous les caractères alphanumériques à l'exception des caractères étendus suivants :

  • la barre oblique inverse (\) ;
  • marque de barre oblique (/) ;
  • signe deux-points (:) ;
  • astérisque (*) ;
  • point d'interrogation (?) ;
  • guillemet (") ;
  • inférieur à (<) signe ;
  • signe supérieur à (>) ;
  • barre verticale (|).

Attention, les noms peuvent contenir un point, mais ne peuvent pas commencer par un point.

Pour en savoir plus sur les conventions de nommage dans un domaine, vous pouvez consulter la page :

http://support.microsoft.com/kb/909264/fr

Fichiers invisibles sur les partages

Tous les noms de fichiers commençant par un point sont invisibles dans les partages Windows.

Dans la configuration de Samba, plusieurs types de fichiers ont été ajoutés pour les rendre invisibles des utilisateurs :

  • desktop.ini : les fichiers desktop.ini générés par le fonctionnement de Windows sont cachés à l'utilisateur (hide files = /desktop.ini/ dans le fichier smb.conf). En mode expert, la liste des fichiers cachés peut être personnalisée grâce à la variable Fichiers à masquer dans le partage ;

  • $recycle.bin : les fichiers $recycle.bin générés par le fonctionnement de Windows sont cachés et inaccessibles par l'utilisateur (veto files = /$RECYCLE.BIN/ dans le fichier smb.conf).

Mode multi-établissement

Pour certaines structures, une communauté de communes par exemple, il peut être intéressant de n'avoir qu'un seul module Scribe ou AmonEcole pour gérer plusieurs établissements.

Activation du mode multi-établissement dans l'interface de configuration du module
Activation du mode multi-établissement dans l'interface de configuration du module

Pour activer le support du mode multi-établissement il faut passer la variable Support du multi-établissement à oui.

Le paramétrage du mode multi-établissement s'effectue ensuite dans l'interface d'administration EAD.

Attention

Sur les serveurs en production, l'ajout des groupes profs-etab et eleves-etab nécessite l'application du script /usr/share/eole/backend/creation_etab_eleves_profs.py.

Truc & astuce

Les associations "numéro d'établissement" - "préfixe des groupes de l'établissement" sont désormais enregistrées dans le fichier CSV[4] : /usr/share/ead2/backend/tmp/importation/etabprefix.csv.

Configuration avancée du serveur Samba

Création des comptes

Un utilisateur type "élève" est associé à une classe et à des options.

Écran

  • 1 Dossier options
    Dossier options
    Création des dossiers options lors de l'importation des comptes

    nom de la variable : ead_import_write_options

  • 2 Répertoire
    Répertoire
    Création des répertoires privés

    nom de variable : ead_import_write_prive

  • 3 Identifiants
    Identifiants
    Inversion des identifiants des élèves en Prénom Nom dans les classes

    nom de variable : reverse_login

À partir d'EOLE 2.8.1, il est possible :

  • de désactiver la création automatique des groupes "options" lors de l'importation des comptes ;
  • de désactiver la création du dossier privé qui est accessible uniquement par l'élève.

Toujours à partir d'EOLE 2.8.1, il est possible de modifier l'identification des élèves présentée aux enseignants au niveau des dossiers classes et options.

Afin de faciliter les interactions, la possibilité d'inverser le prénom et le nom dans le login à été implémenté.

Truc & astuce

Le script de secours suivant permet de re-générer les liens présents dans les sous-dossiers du répertoire /home/classes :

/usr/share/eole/backend/regen_class_link.py

Une fonctionnalité équivalente a été implémenté au niveau du nommage des devoirs élèves ramassés par les enseignants.

Écran

  • 1
    Inversion des identifiants des élèves en Prénom Nom pour les noms des devoirs

    nom de la variable : reverse_login_devoir

Attention

L'inversion prénom/nom ne peut être fonctionnelle que dans le cas où les login sont générés avec un "."

Soit au format : prenom.nom, p.nnn ou prenom.n

Concrètement, sur les postes clients cela se traduit uniquement par un changement du nom des répertoires des élèves dans le partage "classe" et/ou le nom des fichiers de "devoir".

Libellé du serveur Samba

Par défaut le libellé est le nom de l'établissement, il apparaît sur les stations clientes, il peut être modifié à votre convenance.

Activer la corbeille Samba

Par défaut lorsque l'on supprime un fichier depuis un partage Samba, il est directement supprimé.

L'option Activer la corbeille Samba permet de paramétrer Samba pour que les fichiers supprimés soient déplacés dans un répertoire "corbeille".

Le nom proposé par défaut (.corbeille) définit un répertoire qui sera masqué pour les utilisateurs.

Il est possible de rendre ce répertoire accessible en lui donnant un autre nom (exemple : corbeille).

La durée de conservation des fichiers supprimés est également paramétrable.

Remarque

Les fichiers déplacés dans la corbeille sont inclus dans le calcul de l'espace disque occupé par l'utilisateur. Pour limiter les dépassements de quota disque, il est conseillé de paramétrer une durée de conservation assez courte.

Écran

  • 1
    smb_deadtime

    Nombre de minutes d'inactivité avant déconnexion automatique d'accès à un fichier

  • 2
    smb_hide_files

    Fichiers à masquer dans le partage

  • 3
    smb_oplocks

    Activer les verrous opportunistes (oplocks)

  • 4
    smb_spools_x64

    Annoncer Spoolss comme architecture x64

Nombre de minutes d'inactivité avant déconnexion automatique d'accès à un fichier

Cette option globale définit le nombre de minutes que Samba va attendre un client inactif avant de fermer sa session avec le serveur Samba. Un client est considéré comme inactif quand il n'a pas de fichiers ouverts et qu'il n'envoie aucune donnée.

Si la valeur de cette option est mise à 0, cela qui signifie que Samba ne fermera jamais aucune connexion et cela peut conduire à une consommation inutile des ressources du serveur par les clients inactifs.

Pour la plupart des réseaux, l'utilisation de cette option ne posera pas de problème car la reconnexion du client sera réalisée de manière transparente pour l'utilisateur.

Fichiers à masquer dans le partage

Cette option permet de personnaliser la liste des fichiers qui doivent être cachés à l'utilisateur.

Attention

Il est impératif de respecter le format attendu par le fichier de configuration de Samba à savoir :

/desktop.ini/fichier2/fichier3/

Activer les verrous opportunistes (oplocks)

Les verrous opportunistes augmentent les performances du serveur en activant un accès exclusif aux fichiers.

Option à non par défaut. Les verrous sont gérés côté client et certaines applications ne gèrent pas les verrous.

Annoncer Spoolss comme architecture x64

Le service d'impression de Samba se présente par défaut comme étant 32-bit ("Windows NT x86"). Annoncer Spoolss comme architecture x64, disponible à partir de la version 2.5.2 d'EOLE, permet au serveur d'impression de se présenter comme étant 64-bit (Architecture = x64 de Windows) ce qui permet d'ajouter des pilotes d'imprimante 64 bits.

Activer des partages supplémentaires

Passer Activer des partages supplémentaires à oui permet d'activer un ou plusieurs nouveaux partages. Pour ajouter un ou plusieurs partages il faut cliquer sur le bouton + Nom du partage.

Les options à saisir pour chaque partage supplémentaire sont :

  • le Nom du partage ;

  • le Nom absolu du répertoire à partager = chemin Unix du répertoire à partager ;

  • la Visibilité du partage = visibilité dans le voisinage réseau ;

  • le Partage est en lecture/écriture :

    • si la variable est à oui → lecture/écriture ;
    • si la variable est à non → lecture seule.

Attention

L'activation et la déclaration d'un partage supplémentaire ne crée pas le répertoire sur le disque. Il faut réaliser cette opération manuellement et affecter des droits adaptés sur le répertoire.

Partages manuels

Le fichier smb.conf est re-généré à chaque reconfiguration du serveur (commande reconfigure) et également lors de l'ajout d'un partage ou d'un groupe avec partage.

Ce fichier est généré à partir du template : /usr/share/eole/creole/distrib/smb.conf et des partages déclarés dans l'annuaire LDAP.

Le template, qui contient principalement la section [global], peut éventuellement être patché.

La gestion des ACLs en elle-même est totalement indépendante de la configuration de Samba.

Il est possible de déclarer un partage supplémentaire manuellement en plaçant un fichier (possédant l'extension .conf) décrivant le partage dans le répertoire /etc/samba/conf.d/ .

Sa prise en compte nécessite un reconfigure.

Complément

Pour plus d'informations, vous pouvez consulter la page de manuel :

# man smb.conf

ou

https://manpages.ubuntu.com/manpages/jammy/en/man5/smb.conf.5.html

Autoriser l'ouverture de flux à partir d'un port source

Lors de diagnostic il peut être utile d'utiliser la commande nmblookup pour déterminer l'adresse IP du ou des serveurs contrôleurs de domaine sur le réseau local.

Pour que l'échange puisse se faire en UDP via le port 137 il est nécessaire que le serveur EOLE puisse en autoriser l'accès.

Pour activer cette fonctionnalité il faut passer Autoriser l'ouverture de flux à partir d'un port source à oui.

Les options pour le port autorisés et le protocole peuvent être laissés par défaut. Par contre il est important de choisir l'interface sur laquelle aura lieu cette autorisation.

Il est possible d'ajouter des autorisations sur plusieurs interfaces en cliquant sur le bouton Port source à partir duquel les flux sont autorisés.

Paramètres système

Écran

  • 1
    fs_inotify_max_user_instances

    fs.inotify.max_user_instances dans systctl.conf

  • 2
    fs_inotify_max_user_watches

    fs.inotify.max_user_watches dans sysctl.conf

  • 3
    fs_inotify_max_queued_events

    fs.inotify.max_queued_events dans sysctl.conf

  • 4
    smb_socket_options

    Pour voir les possibilités ce référer au man de smb.conf, partie "socket options (G)

  • 5
    smb_quotawarn

    Système d'avertissement de dépassement de l'espace alloué.

  • 6
    quota_hard_limit_percent

    Valeur permettant le calcul de la limite dure du quota associé aux nouveaux utilisateurs.

En cas de forte sollicitation d'accès à un partage Samba (nombre de fichiers ouverts par Samba supérieur à 20000) l'augmentation des valeurs sur les 3 paramètres ci-dessous permet d'éviter les pertes d'accès au partage :

  • Nombre maximum d'instances inotify pour un UID réel

  • Nombre maximum de surveillants associés à une instance inotify

  • Nombre maximum d'événements mis en file d'attente dans une instance inotify

Remarque

Ces variables sont utilisées dans /etc/sysctl.conf et /etc/sysctl.d/99-sysctl.conf.

Chaque inotify utilisée occupe 540 octets (système 32 bits) ou 1 ko (double sur 64 bits).

La variable Optimisations réseau permet de personnaliser les options de la directive Samba : socket options.

Cette option vous permet de définir les options de socket à utiliser lors des échanges avec le client. Les options de socket sont des contrôles sur la couche réseau des systèmes d'exploitation qui permettent de régler la connexion.

Activer l'envoi de courriel en cas de dépassement des quotas

Un envoi de courriel peut être activé en cas de dépassement de quotas. L'envoi se fait une fois par jour durant les 7 jours alloués pour résoudre le problème d'espace disque.