Project

General

Profile

Scénario #33471

AmonEcole 2.8.1 - Integration clients Windows 10 - profil itinérant ne fonctionne pas

Added by Christophe DESOUTTER over 2 years ago. Updated over 2 years ago.

Status:
Terminé (Sprint)
Priority:
Normal
Assigned To:
Category:
-
Start date:
12/02/2021
Due date:
12/10/2021
% Done:

0%

Story points:
1.0
Velocity based estimate:

Description

Bonjour,
A la connexion d'un utilisateur sur le domaine addc Windows 10 ne parvient pas à créer le profil itinérant.
Il semble que le module scribe ne partage pas /home/netlogon/profil sur lequel est mappé le profile itinérant.
Un contournement est d'utiliser un profil local.
Est-il possible de connaître la marche à suivre pour permettre l'utilisation des profils itinérants à partir de clients Windows?
Merci d'avance,
Christophe

smb.zip (3.29 KB) Joël Cuissinat, 12/10/2021 10:11 AM

Associated revisions

Revision 747f1a71 (diff)
Added by Joël Cuissinat over 2 years ago

Profil obligatoire => obsolète

Ref: #33471

History

#1 Updated by Joël Cuissinat over 2 years ago

Sur AmonEcole, l'option "profil itinérant" mappe le profil dans le homedir de l'utilisateur : profilePath=\\scribe\<login>\profil (comme c'était déjà le cas sur les versions précédentes de Scribe et AmonEcole).

Il faut juste vérifier que l'utilisateur est bien propriétaire de son répertoire racine (/home/adhomes/<login>).

Si vous obtenez un comportement différent c'est peut-être que vous utilisez des procédures différentes de celles fournies par le pôle ?

#2 Updated by Joël Cuissinat over 2 years ago

  • Assigned To set to Joël Cuissinat
  • Parent task set to #33394

#3 Updated by Christophe DESOUTTER over 2 years ago

Ci-dessous des informations complémentaire.
A la création d'un utilisateur se fait par l'interface web ead, dont le process est
"/usr/bin/python3 /usr/bin/twistd3 --nodaemon --no_save --pidfile
/var/run/ead/ead-web.pid --python=/usr/share/ead2/frontend/frontend.tac"

A priori la génération du profil est faite par un script python:
/usr/lib/python3/dist-packages/scribe/eoleuser.py
On retrouve la fonction qui indique le chemin vers le profil:
def gen_profil(profil, login):
"""
Génération du sambaProfilePath selon le profil demandé
"""
profil = int(profil)
if profil 2: # profil obligatoire #1
return "\\\\{0}\\netlogon\\profil".format(SMB_SERVEUR)
if profil 3: # profil obligatoire #2
return "\\\\{0}\\netlogon\\profil2".format(SMB_SERVEUR)
if profil == 4: # profil itinérant
return "\\\\{0}\\{1}\\profil".format(SMB_SERVEUR, login) # profil local à la station
return ""

Note: sur AmonEcole, SMB_SERVEUR est le conteneur "partage" (scribe).
Donc si on choisit profil "obligatoire #1" pour l'utilisateur, cela est résolu en \\scribe\netlogon\profil, cependant ce partage n'est pas configuré par le module scribe (de AmonEcole) et l'ouverture d'une session depuis un poste Windows va échouer.

Si j'active manuellement ce partage (netlogon) et que je lui donne les bons droits cela fonctionne mais je m'attendais à ce que cela soit opérationnelle sans modification de la conf samba.

Si on choisit profil itinérant, le chemin (\\scribe\<login>\profil.V6) aboutit a un share configuré mais une erreur empêche la création du profil par windows: "L'utilisateur actuel ou le groupe Administrateurs doivent être propriétaire du dossier" (Event 1526).
Cependant en analysant le dossier on s'aperçoit que le propriétaire est le compte "Unix User\root".
Il y a donc une étape qui manque à la création de l'utilisateur au niveau des scripts du module AmonEcole.

#4 Updated by Christophe DESOUTTER over 2 years ago

Information additionnelle:
Le owner des fichiers créés depuis Windows sous \\scribe\<login>\profile.Vx est aussi "Unix User\root".

#5 Updated by Christophe DESOUTTER over 2 years ago

Selon ce wiki: https://wiki.samba.org/index.php/Updating_Samba#Failure_To_Access_Shares_on_Domain_Controllers_If_idmap_config_Parameters_Set_in_the_smb.conf_File

__Failure To Access Shares on Domain Controllers If idmap config Parameters Set in the smb.conf File

4.4.6 or later

By default, the winbindd service on a Samba Active Directory (AD) domain controller (DC) generates ID's locally on the DC and stores them in the idmap.ldb database. You can override the generated ID's by setting uidNumber and gidNumber attributes in your user accounts and groups in Active Directory. Originally, if the idmap config parameters were set in the smb.conf file they were ignored, but due to a bug in Samba 4.4.6 and later, the parameters are no longer ignored and clients fail to connect to shares on the DC. To fix the problem:

Remove all idmap config parameters in the smb.conf file on DCs.
Restart the samba service.
Restart the clients.

As a result, the clients will now correctly connect to shares on the DC._
_

Il faut donc supprimer les lignes :
idmap config *:backend = tdb
idmap config *:range = 2000-999999
idmap config LF:backend = rid
idmap config LF:range = 1000000-1999999
Du fichier smb.conf sur le containeur partage.

Le ownership des fichiers est maintenant correcte.
Bonne soirée

#6 Updated by Gilles Grandgérard over 2 years ago

  • Parent task deleted (#33394)

#7 Updated by Joël Cuissinat over 2 years ago

Il y a donc deux problèmes distincts :

  • profils itinérants : nous ne reproduisons pas le problème sur nos maquettes avec les configurations samba fournies par défaut sur AmonEcole
    root@amonecole:~# ll /home/adhomes/p* -d
    drwxrwx---+ 5 prenom.eleve107    root 4096 déc.   3 00:35 /home/adhomes/prenom.eleve107/
    drwxrwx---+ 5 prenom.eleve112    root 4096 déc.   3 00:35 /home/adhomes/prenom.eleve112/
    drwxrwx---+ 5 prenom.prof21      root 4096 déc.   3 00:36 /home/adhomes/prenom.prof21/
    drwxrwx---+ 5 prenom.prof26      root 4096 déc.   3 00:36 /home/adhomes/prenom.prof26/
    drwxrwx---+ 5 prof1              root 4096 déc.   3 00:39 /home/adhomes/prof1/
    drwxrwx---+ 5 prof10             root 4096 déc.   3 00:39 /home/adhomes/prof10/
    

    La page wiki que vous signalez indique Remove all idmap config parameters in the smb.conf file on DCs. hors, le samba présent dans le conteneur partage est en mode membre.
  • profils obligatoires : son utilisation est désormais déconseillée par Microsoft. Vous pouvez faire des essais (vous pouvez déclarer les partages manquants dans /etc/samba/conf.d/) mais aucun de nos utilisateurs n'a réussi à obtenir un résultat acceptable.

#8 Updated by Gilles Grandgérard over 2 years ago

  • Tracker changed from Tâche to Scénario
  • Due date set to 12/10/2021

#9 Updated by Christophe DESOUTTER over 2 years ago

Oui effectivement:
- 1/ Les profils obligatoires sont toujours proposés dans l'interface d'administration EAD mais ne sont pas fonctionnels.
- 2/ La création depuis un poste Windows du profil itinérant sur le share (à la première connexion l'utilisateur) échoue car les répertoires et fichier créés n'ont pas le bon propriétaire.
Dans votre exemple (et avec un poste Windows 10 à jour):
drwxrwx---+ 5 prenom.eleve107 root 4096 déc. 3 00:35 /home/adhomes/prenom.eleve107/
Windows va créer un répertoire Profil.V6 sous /home/adhomes/prenom.eleve107/ qui n'aura pas le bon propriétaire (root au lien de prenom.eleve107) ce qui conduira Windows à créer un profil temporaire, perdu à la déconnexion.
Sur vos maquettes avez vous essayé de connecter un poste Windows 10 récent et de vous loguer avec un utilisateur ayant un profil itinérant?
Merci

#10 Updated by Joël Cuissinat over 2 years ago

Bonjour,

Je viens de tester sur ma maquette avec un Windows 10 21H1.

J'ai pris l'enseignant suivant :

root@amonecole:~# lxc-attach -n addc -- samba-tool user show prof.6a | grep ofileP
profilePath: \\scribe\prof.6a\profil

Ayant ces droits sur son "home" :

root@amonecole:~# getfacl /home/adhomes/prof.6a
getfacl : suppression du premier « / » des noms de chemins absolus
# file: home/adhomes/prof.6a
# owner: prof.6a
# group: root
user::rwx
user:prof.6a:rwx
group::---
mask::rwx
other::---
default:user::rwx
default:user:prof.6a:rwx
default:group::---
default:mask::rwx
default:other::---

Et j'obtiens :

root@amonecole:~# getfacl /home/adhomes/prof.6a/profil.V6/
getfacl : suppression du premier « / » des noms de chemins absolus
# file: home/adhomes/prof.6a/profil.V6/
# owner: prof.6a
# group: domain\040users
user::rwx
group::---
group:2007:rwx
group:domain\040users:---
group:prof.6a:rwx
mask::rwx
other::---
default:user::rwx
default:user:prof.6a:rwx
default:group::---
default:group:2007:rwx
default:group:domain\040users:---
default:group:prof.6a:rwx
default:mask::rwx
default:other::---

#11 Updated by Christophe DESOUTTER over 2 years ago

Bonjour,
Merci pour ces informations, de mon côté j'ai eu le problème après une installation "from scratch" de AmonEcole 2.8.1.
Est-il possible de partager la conf samba du conteneur partage de votre maquette (smb.conf et conf.d/*)?
Merci

#12 Updated by Joël Cuissinat over 2 years ago

La configuration utilisée dans nos tests d'intégration continue est ici : https://dev-eole.ac-dijon.fr/projects/eole-ci-tests/repository/revisions/master/entry/configuration/etb3.amonecole/default-2.8.1/etc/eole/config.eol
Nous évitons de trop nous écarter des valeurs par défaut.

Je joins les fichiers demandés (ils sont générés par le module et nous ne les modifions pas dans nos tests).

#13 Updated by Joël Cuissinat over 2 years ago

  • Target version changed from sprint 2021 46-49 Equipe MENSR to sprint 2021 50-02 Equipe MENSR

#14 Updated by Joël Cuissinat over 2 years ago

  • Status changed from Nouveau to Terminé (Sprint)
  • Story points set to 1.0

Also available in: Atom PDF