Gestion des clients windowsNG

De Mediase3
Aller à : Navigation, rechercher
Retour chapitre en cours : Table des matières#V. Gestion des clients Windows

Sommaire

Description du processus de configuration des stratégies Windows

SambaEdu3 permet l'application de configurations particulières sur les clients Windows par le biais de l’application de stratégies. Il est donc possible sur un même poste d'obtenir des paramétrages différents (restrictions ou autre) en fonction de l'utilisateur connecté. Coté serveur, ces stratégies sont matérialisées par un ensemble de clés classées dans des groupes pour plus de visibilité. Coté client, ces stratégies prendront la forme de Gpo qui seront appliquées en fonctions des choix de l'administrateur sur l'interface web.


Premier contact avec l'interface

A faire avant tout : Mettre à jour la base de clés et groupes de clés

En standard, SambaEdu3 est livré sans aucune clé, ni groupe de clés. Une importation initiale s'impose. Pour cela, deux sous-menus sont a votre disposition dans le menu "Clients Windows".


Gestion-cles.png

Cliquez simplement sur le lien Effectuer la mise a jour de la base de clés ?


Import-cles.png

Il reste alors à valider les clés proposées.


Une fois les clés importées, recommencez l'opération avec Les groupes de clés.


Gestion-groupes-cles.png

Cliquez simplement sur le lien Effectuer la mise a jour des groupes de clés ?.


Mise en place d'une configuration basique

Maintenant que vous disposez des clés et des groupes de clés nécessaires, nous allons pouvoir effectuer une configuration simpliste. Dans l'exemple qui suit, nous désirons appliquer des restrictions à tous les élèves, donner un peu plus de souplesse dans l'environnement de travail des professeurs ou administratifs et ne fixer aucune restriction aux membres du groupe admins (au minimum admin).

Attrib-cles.png

Toute cette configuration peut être réalisée simplement au moyen de l'interface configurée au niveau Débutant (minimum). Pour cela, allez dans le menu Attribution des clés :

Comme le montre la capture ci-dessus, l'interface vous propose alors la liste des templates SambaEdu3 déjà définis. Ces derniers sont classés différemment en fonction qu'il contiennent déjà ou non une configuration précédente.

  • base s'applique a tout le monde
  • profs s'applique aux Professeurs
  • eleves s'applique aux élèves
  • administratifs s'applique aux Administratifs
  • admin s'applique à l'utilisateur générique admin
  • overfill s'applique aux utilisateurs qui sont en dépassement de quota. Voir la page concernant la Gestion des quotas utilisateurs pour de plus amples précisions.

Il est bien sûr possible de rajouter d'autres templates. Je vous renvoie pour cela à la section concernant La construction de l'environnement utilisateur. Les templates déjà définis par défaut vont être tout à fait suffisants pour répondre à notre problématique.

Ces précisions étant faites, nous allons pouvoir mettre en place notre configuration


Attributions des clés au template eleves

  • Cliquer sur le template élèves, puis choisir le niveau de sécurité "Restrictions Moyennes"

Restrict-eleves.png

Cliquer ensuite sur le bouton "j'ai choisi ce niveau de sécurité" afin de confirmer votre choix. A ce moment, un clic sur le bouton "Tout" vous permet de visualiser la configuration en cours.


Restrict-eleves-ok.png


Attributions des clés au template profs

  • Cliquer sur le template profs, puis choisir le niveau de sécurité "Restrictions légères" puis confirmer


Attributions des clés au template administratifs

  • Cliquer sur administratifs, puis choisir le niveau de sécurité "Restrictions légères"


Visualiser ou modifier les stratégies en cours

Suite à cette configuration, les stratégies configurées sont visibles pour chaque template.

Par exemple, si l'on veut voir les réglages pour le groupe profs : Allez dans le menu Attribution des clés puis cliquer sur le groupe profs :

Attrib-cles2.pngAttrib cles profs.png

Pour une meilleure visibilité, seules les clés actives sont affichées. Si vous souhaitez désactiver une des clés, il suffit de cliquer dessus au niveau de la corbeille. Elle est alors supprimée de la liste et n'est plus appliquée. Si au contraire, vous voulez en ajouter, il faut passer par l’incorporation d'un groupe de clés (voir plus loin dans ce document).


Test des stratégies appliquées

La configuration définitive appliquée à un utilisateur sur son poste dépend des fragments de configurations appliqués à tous les templates (utilisateur, groupes, machine, parcs, doubles templates) associés à l'utilisateur lorsqu'il se connecte sur sa machine. Lors de configurations complexes, il est parfois difficile de savoir qui héritera de quoi. C'est le rôle de la fonction "Test des restrictions effectives" qui, à partir d'un nom d'utilisateur et de machine, va réaliser un calcul des clés de registres qui seront effectivement applicables sur le poste.


Testconfig.png


Remise à zéro d'un template

Lorsque l'on a effectué des tests avant la mise en production, il est souhaitable de remettre à zéro les clés appliquées sur un template avant d'effectuer de nouveaux réglages. Pour cela, dans "Attribution des clés", cliquer sur le template à réinitialiser puis, en bas du tableau présentant les clés, sur "Remise à zéro".


Remise-a-zero.png


Ordre d'attribution des clés

Une fois définis les clés et les groupes de clés, il faut les attribuer aux utilisateurs ou aux machines. Dans SambaEdu3, le vecteur naturel de distribution de configuration est le template. En effet, celui-ci permet la distribution de raccourcis sur le bureau, dans le menu démarrer, mais aussi des scripts de login en fonction des utilisateurs, des groupes, des machines et des groupes de machines. Il est donc parfaitement naturel que ce soit par les templates que les configurations de registre soient également distribuées.

L'ordre de concaténation des templates est le suivant :

     base
     groupes d'utilisateurs (Eleves, Profs, ...)
     parcs de machines
     machine
     utilisateur
     utilisateur@@machine  (Ces derniers templates doivent être créés à la main, en minuscules, dans \\se3\admhomes\_templates )
     utilisateur@@Parcs
     groupes@@machine
     groupes@@parcs

Pour chaque clé, seule la dernière valeur lue dans la liste précédente est appliquée.


Exemples :

Si une clé de restriction est active sur le template "base", inactive sur le template "profs" et non configurée sur le template "eleves", alors :

  • l'élève toto se verra appliqué la restriction appliquée à base (puisque celle-ci n'est pas levée ensuite).
  • le prof lecluseo ne subira pas la restriction puisque celle-ci est inactive sur le template "profs".

Si la clé de configuration "page de démarrage d'internet explorer" a la valeur http://google.fr sur le template "eleves", http://blogdubahut.org sur le template atelier-info@@salle1, alors :

  • l'élève toto, membre du groupe Atelier-info, qui se connecte en salle1 aura comme page de démarrage d'IE : http://blogdubahut.org
  • l'élève toto, membre du groupe Atelier-info, qui se connecte dans un autre parc que "salle1" aura comme page de démarrage d'IE : http://google.fr
  • l'élève tata, qui n'est pas membre du groupe Atelier-info, qui se connecte en "salle1" aura comme page de démarrage d'IE : http://google.fr


Remarque : on ne maîtrise pas dans chaque catégorie l'ordre d'application. Par exemple, si un utilisateur appartient au groupe Eleves, Classe_2nd, Cours_2nd_maths, Cours_2nd_Francais, et s'il existe 2 templates cours_2nd_maths, cours_2nd_francais, il n'y a pas moyen de savoir à l'avance lequel de ces deux templates sera évalué en premier. Par conséquent, si une restriction est appliquée dans l'un de ces templates et levée dans l'autre, au final, le résultat sera aléatoire pour un utilisateur qui dépendrait de ces deux templates !!

Dans ce cas, une façon simple de procéder pour effectuer les réglages peut donc être d'activer des restrictions sur le template "base" et de les rendre "inactives" sur d'autres templates (profs, admin,...). Ceci permet d'obtenir un comportement déterministe.


Utilisation avancée

Le menu Gestion des clés

Cette page se décompose en deux parties :

  • La gestion des clés.
  • La gestion des groupes de clés.

Gestion des clés

Vous pouvez :

  • Effectuer la mise a jour de la base de clés ? : [ci-dessous pour plus de détails.]
  • Editer les clés ? : cela permet de modifier les chemins-valeurs-antidotes des clés présentes sur le serveur. La modification des valeurs des clés n'est autorisée qu'en mode Confirmé (minimum). En mode Intermédiaire, les boutons d'édition sont grisés.

Vous pouvez modifier les valeurs des clés de restrictions ou de configuration comme vous le souhaitez. Si la clé modifiée a été attribuée à certains templates, ceux-ci apparaîtront avec des cases à cocher. Vous pourrez ainsi, si vous le souhaitez, mettre à jour les templates impactés par la modification.

  • Supprimer toutes les clés ? : explicite...
  • Incorporer un fichier de clés (format xml)
  • Exporter mes clés.
  • Importer un .reg


Gestion des groupes de clés

Une configuration type ne se fait pas au moyen du changement d'une clé unique mais d'un ensemble de clés. SambaEdu3 permet donc la définition de "groupes de clés" permettant de mettre en place des configurations type qui pourront ainsi être appliquées globalement. Comme pour les clés, la procédure d'import automatique permet de récupérer des groupes prédéfinis:

  • Optimisation et sécurité : permettant d'établir une configuration par défaut sur les postes,
  • Restrictions légères : contenant des clés de restrictions pouvant s'appliquer pour sécuriser un peu les postes sans trop brider leur usage, et
  • Restrictions moyennes : offrant une sécurisation acceptable des postes vis-à-vis des élèves.
  • Restrictions fortes : privilégiant la sécurisation du poste (pour ne pas dire le blocage du poste) au confort de l'utilisateur. A réserver à des fins de tests pour la mise au point d'un groupe personnalisé et à utiliser avec précaution car certaines fonction de windows peuvent dysfonctionner dans ce cas.
  • norestrict contient l’ensemble des clés existantes en mode inatif. Ne devrait pas être utile sauf en cas de problème
  • proxy : contient les clés relatives aux réglage du proxy sur IE
  • quotas contient le nom de l'explorateur à lancer pour visualiser ses quotas

Gestion-groupes-cles.png

Vous pouvez :

  • Effectuer la mise à jour des groupes de clés : cela permet de mettre à jour les groupes de clés prédéfinis dans le fichier xml fourni par le paquet se3.
  • Editer les groupes de clés : cela permet d'ajouter-supprimer des clés dans un groupe donné ou l'ajout d'un groupe personnalisé
  • Supprimer tous les groupes de clés. : explicite.
  • Incorporer un fichier de groupes de clés. : permet d'importer des groupes de clés depuis une sauvegarde précédente.
  • Exporter mes groupes de clés. Permet d'exporter ses groupes vers un xml. Vous pouvez ainsi récupérer vos données en cas de migration de serveur ou bien proposer vos groupes à la communauté :).

Les différentes types de clés

Il existe deux types de clés : les clés de restrictions et les clés de configuration.

Les clés de restrictions peuvent avoir 3 états : "actif", "inactif" et "non configuré". Un exemple de clé de restriction est "Désactiver l'accès au panneau de configuration". Cette restriction peut être active (le panneau est masqué) ou inactive (le panneau est affiché) ou non configuré (la clé est laissée dans le profil de l'utilisateur dans son état initial pour le template considéré).

Cle-restriction-ex.png

Les clés de configurations représente la configuration que l'on veut mettre en place sur le poste. Elles ont une seule valeur et deux états possibles : "actif" ou "non configuré". Un exemple est la page de démarrage d'Internet Explorer, qui peut avoir pour valeur "http://google.fr" et qui peut être active (on l'applique à un template) ou non configurée (on ne modifie pas la valeur de cette clé dans le profil de l'utilisateur pour ce template).

Cle-config-ex.png

Editer des clés

Ce menu vous permet de gérer les clés de registre disponibles. Il n'est visible sur l'interface SambaEdu3 qu'aux niveaux Intermédiaire et Confirmé. Du fait du nombre important de clés disponibles ; celles-ci sont rangées par catégories et sous catégories.

Gestcle1.png

Modification des valeurs des clés

La modification des valeurs des clés n'est autorisée qu'en mode Confirmé. En mode Intermédiaire, les boutons d'édition sont grisés.

Vous pouvez modifier les valeurs des clés de restrictions ou de configuration comme vous le souhaitez. Si la clé modifiée a été attribuée à certains templates, ceux-ci apparaîtront avec des cases à cocher. Vous pourrez ainsi, si vous le souhaitez, mettre à jour les templates impactés par la modification.


Gestcle2.png


Si aucun template n'est concerné par cette clé, il ne vous est pas proposé de mettre à jour la clé dans les templates.

Il est également possible de modifier les OS concernés et le type de la clé (attention, si le type n'est pas correct, la clé ne s'appliquera pas).


Ajouter une clé

Si vous souhaitez appliquer un réglage qui n'est pas proposé par l'interface de clés, vous pouvez ajouter la clé correspondante si vous la connaissez. Dans ce cas, vous devez indiquer les informations nécessaires en renseignant le formulaire proposé.

attention : pour pouvoir être utilisée, une nouvelle clé doit impérativement être ajoutée à un groupe de clés

Gest-cles-ajout.png


Suppression d'une clé

Vous ne pouvez supprimer une clé qui est utilisée dans les templates, ceci afin de garantir que cette suppression n'entraînera pas des blocages sur les postes, difficiles à supprimer par la suite.


Aide sur les clés

Dans l'aide vous avez accès aux informations principales sur les clés en particulier la valeur prise par la clé dans les templates et dans les groupes de clés où elle intervient.


Gestcle17.png

Importer des clés en masse depuis un XML

Si vous avez beaucoup de clés à ajouter, il est fastidieux de de le faire depuis l'interface. Le mieux est alors de le créer un fichier xml depuis un bon éditeur xml, et de l'importer directement.

attention : pour pouvoir être utilisées, les nouvelles clé doivent impérativement être ajoutés à un groupe de clés

Le modèle du fichier xml est celui-ci :

<?xml version="1.0" encoding="UTF-8"?>
<se3mod>
 <nom>SE3</nom>
 <version>V 0.1</version>
 <categories>
  <categorie nom="appli">
   <regles>
    <Regle ClasseObjet="INFO">
     <OS>252</OS>
     <Intitule>général</Intitule>
     <Composant>LIGNE</Composant>
     <ValeurSiCoche/>
     <ValeurSiDecoche/>
     <Commentaire/>
    </Regle>
    <Regle ClasseObjet="INFO">
     <OS>252</OS>
     <Intitule>Google Chrome</Intitule>
     <Composant>LIGNE</Composant>
     <ValeurSiCoche/>
     <ValeurSiDecoche/>
     <Commentaire/>
    </Regle>
    <Regle ClasseObjet="REGISTRE">
     <OS>TOUS</OS>
     <Chemin>reg:///HKEY_CURRENT_USER\Software\Policies\Google\Chrome</Chemin>
     <Intitule>emplacement du profil</Intitule>
     <Composant>config</Composant>
     <Variable type="REG_SZ">UserDataDir</Variable>
     <ValeurSiCoche>K:\Profil\chrome</ValeurSiCoche>
     <ValeurSiDecoche></ValeurSiDecoche>
     <commentaire>Profil centralise pour chrome</commentaire>
    </Regle>
   </regles>
  </categorie>
 </categories>
</se3mod>

Gestion des restrictions par groupes de clés personnalisés

Comme nous l'avons vu, il est possible d'appliquer aisément les groupes de clés proposés par défaut. Cependant, il peut être utile d'aller au delà si l'on désire appliquer sa propre configuration. Le principe est alors de créer son propre groupe de clés, d'y ajouter les clés de son choix. Il ne reste plus enquise qu'à appliquer le groupe personnalisé au template de son choix tout comme on le ferait avec un groupe classique.

Créer ou éditer un groupe de clés personnalisé

  • Dans le menu Gestion des clés, choisir "Editer les groupes de clés ?"
  • Cliquer sur "Créer un groupe de clés"
  • Vous obtenez alors un écran similaire à celui ci-dessous.

Groupe-cles-perso-creation.png

  • A ce niveau, il est possible d'utiliser un groupe comme modèle que l'on affinera ensuite avec ses propres choix en ajoutant ou en supprimant des clés


Groupe-cles-perso-ajoutcles.png

  • Si vous voulez ajouter une clé cliquer sur "Ajouter une clé à ....."


Groupe-cles-perso-ajoutcles1.png

  • Choisir ensuite la ou les clés à ajouter à votre groupe depuis la base. Il y a plus de 250 clés dans la base, alors il peut être utile d'utiliser les catégories pour s'y retrouver. Un fois vos clés choisies, il ne vous reste plus qu'à cliquer dans l'ordre sur  :
    1. Ajouter les clés choisies
    2. J'ai fini d'ajouter les clés à ce groupe

Importer un groupe au format XML

Pour gagner du temps il est possible d'importer directement un fichier xml. celui-ci doit avoir la syntaxe suivante :

<?xml version="1.0" encoding="UTF-8"?>
<se3mod>
 <nom>Groupe de cles</nom>
 <version>V 0.1</version>
 <categories>
  <categorie nom="test">
   <regle>
    <clef>HKEY_CURRENT_USER\Software\Policies\Google\Chrome\UserDataDir</clef>
    <value>1</value>
   </regle>
  </categorie>
 </categories>
</se3mod>

Appliquer son groupe de personnalisé à un template

Maintenant que notre groupe de clés est conforme à nos attentes, nous allons l'appliquer au groupe à qui il est destiné.

  • Dans le menu Gestion des clés, choisir "Attribution des clés"
  • Sélectionner le template concerné
  • Cliquer sur le bouton "incorporer des groupes de clés" puis procéder comme suit :

Groupe-cles-perso-application.png

Une fois le ou les groupes sélectionnés, cliquer "sur ajouter les groupes de clés au template"


Groupe-cles-perso-application1.png

Il reste à répéter l'opération sur d'autres templates le cas échéant et de modifier les clés de configuration si besoin est. Il peut être utile par exemple d'avoir une page de démarrage IE différente selon les groupes.

Appliquer un fichier .reg

Certaines applications nécessitent d'appliquer des clés de registre aux profils de tous les utilisateurs (dans la branche HKCU contenue dans le ntuser.dat) ou à la branche locale HKLM. Depuis la version 2.0 de SE3, il suffit de déposer un fichier .reg dans X:\netlogon pour qu'il soit pris en compte automatiquement. Cela évite de devoir rajouter de nombreuses clés à l'interface alors que celles-ci ne correspondent qu'au fonctionnement d'une seule application.

ATTENTION : le fichier DOIT ETRE strictement au format REGEDIT4 (MSDOS ANSI). Donc attention, ne pas faire le .reg à la main sans faire très attention ! Le plus simple est d'exporter la branche dans regedit au format regedit4.


Remarque :

Si, lors de tests sous le compte "toto", votre fichier X:\netlogon\monfichier.reg était invalide, une fois corrigé, pour qu'il s'applique sur ce compte "toto", il faudra supprimer le fichier verrou X:\profiles\toto\monfichier.lck . Ce fichier verrou est une optimisation qui permet de ne pas ré-appliquer à chaque login le même fichier monfichier.reg.

Si on veut forcer à nouveau l'application de ces clés forcées pour tous les utilisateurs, créer un fichier \\se3\netlogon\forcereg.txt : tant qu'il sera là les clés seront appliquées à chaque login ( donc ne pas le laisser en permanence )

Description du mécanisme des GPO coté serveur

Description d'un login en détail

Voici une description détaillée de ce qui se passe lors du login d'un utilisateur sur SE3. Ces étapes peuvent être testées individuellement à l'aide des rubriques qui suivent.

- le client commence par se connecter à \\se3\profiles\user (Cela se traduit sur le client par l'ouverture de la petite fenêtre "Chargement des paramètres personnels"), le root prexec du smb_WinXP.conf bloque cette connexion temporairement.

- le serveur récupère le n° de version des GPO depuis C:\Windows\System32\GroupPolicy\gpt.ini.

- le serveur exécute les scripts de construction des scripts de logon et des fichiers registres (.pol) : logon.py est exécuté et construit l'environnement de l'utilisateur en fonction des templates qui le concerne. Les fichiers \\se3\netlogon\machines\poste\user.pol , machine.pol, logon.cmd et startup.cmd sont générés. Le numéro de version des GPO est incrémenté si besoin.

- le serveur uploade ces fichiers .cmd et .pol et sur le client à l'aide du partage administratif c$

- si l'upload précédent est ok, le serveur débloque la connexion à \\se3\profiles.

- le client télécharge le profile \\se3\profiles\user\ntuser.dat (branche HKCU) et autres fichiers vers C:\Documents and Settings\user. La fenêtre "Chargement des paramètres personnels" disparaît.

- le client applique les GPO sur le registre (fichiers .pol).

- le client connecte home K: .

- le client lance le script logon.cmd de l'utilisateur (qui connecte les autres lecteurs : voir les "net use" dans X:\_templates\base\logon.bat par exemple.) .


Remarque : le script startup.cmd est lancé au prochain démarrage du client.


Simulation d'une connexion côté serveur

Dans le cas où l'on souhaite débugguer côté serveur (en root), il est possible de simuler une connexion de hugov sur le poste "poste1" d'IP 172.16.54.108 (choisir un nom d'utilisateur différent de celui déjà logué pour une exécution complète des scripts suivants) :

Tout d'abord, il faut tester si le pare-feu du poste ne bloque pas les connexions sur le port 139 depuis le serveur SE3.

/usr/share/se3/sbin/tcpcheck 10 172.16.54.108:139

Si la commande ci-dessus renvoie un "timeout" au bout de 10 secondes, ne cherchez pas plus loin : un pare-feu (windows ou autre solution antivirus) bloque l'accès au port 139. Débloquer l'accès à ce port sur tous les postes depuis l'IP du serveur... Si la commande fonctionne avec succès :

bash -x /usr/share/se3/sbin/logon.sh -s profiles hugov poste1 172.16.54.108 WinXP

Cette commande doit générer l'environnement de l'utilisateur et pousser les scripts et restrictions sur les postes. Si aucune ligne "putting file ..." n'apparaît, essayez la commande suivante :

bash -x /usr/share/se3/shares/shares.avail/logonpy-gpo.sh hugov poste1 172.16.54.108 WinXP


ATTENTION : NE PAS ENVOYER SUR LA LISTE LA SORTIE D'ECRAN DE "bash -x /usr/share/se3/shares/shares.d/profiles/WinXP/S01logonpy-gpo.sh hugov poste1 172.16.54.108 WinXP", elle contient le mot de passe d'adminse3 en clair.

Pour voir les fichiers générés (qui seront poussés sur le poste) :

ll /home/netlogon/machine/poste1/
(ou regarder dans X:\netlogon\machine\poste1 depuis un poste du réseau)

La présence des fichiers fallback.bat et enableGPO.bat est le signe d'un problème de mise en place des GPO sur le poste (sauf lors du tout premier login d'une machine cliente sur le serveur suite à son intégration au domaine). Dans ce cas, la sortie d'écran de "bash -x /usr/share/se3/shares/shares.d/profiles/WinXP/S01logonpy-gpo.sh hugov poste1 172.16.54.108 WinXP" peut vous renseigner sur le problème. En général, c'est un problème de mot de passe adminse3 local du poste windows qui est erroné. Il doit correspondre à celui trouvé dans la base de donnée. La commande Informations_système#Correction_de_problèmes permet de l'afficher dans l'interface.

Test d'une connexion côté client

Dans le cas où l'on souhaite débugguer côté client, il faut pouvoir afficher le script de login afin de localiser où il se bloque.

  • Dans l'interface, configuration générale#paramètres serveur, désactiver le masquage du script de connexion.
  • Modifier la première ligne du script X:\templates\base\logon.bat afin de voir les commandes défiler à l'écran.
@echo on
  • Tenter une connexion sur un poste à problème.

Monter les niveaux de log samba

Il peut être utile de non seulement lire les logs samba dans /var/log/samba/nom-machine.log, mais aussi deles rendre davantage verbeux.

Cette article explique comment limiter cette manipulation au seul poste utile aux tests.

https://wiki.samba.org/index.php/Client_specific_logging

Outils personnels
Espaces de noms

Variantes
Actions
Navigation
Support
Téléchargements
Développement
Outils logiciels
Boîte à outils