Scribe AD » Historique » Version 59
Joël Cuissinat, 23/01/2018 11:11
1 | 35 | Gérald Schwartzmann | h1. Travaux des options 1 à 5 |
---|---|---|---|
2 | 35 | Gérald Schwartzmann | |
3 | 1 | Benjamin Bohard | {{>toc}} |
4 | 34 | Gérald Schwartzmann | |
5 | 58 | Benjamin Bohard | h2. Tableau récapitulatif |
6 | 58 | Benjamin Bohard | |
7 | 58 | Benjamin Bohard | !tableau_options_seth.png! |
8 | 58 | Benjamin Bohard | |
9 | 38 | Gérald Schwartzmann | h2. Option 1 : Scribe membre de l'AD Seth (eole-ad) |
10 | 37 | Gérald Schwartzmann | |
11 | 38 | Gérald Schwartzmann | h2. Option 2 : Scribe AD |
12 | 37 | Gérald Schwartzmann | |
13 | 38 | Gérald Schwartzmann | h2. Option 3 : |
14 | 37 | Gérald Schwartzmann | |
15 | 38 | Gérald Schwartzmann | h2. Option 4 : |
16 | 37 | Gérald Schwartzmann | |
17 | 38 | Gérald Schwartzmann | h2. Option 5 : |
18 | 37 | Gérald Schwartzmann | |
19 | 34 | Gérald Schwartzmann | h1. Scribe membre de l'AD Seth (eole-ad) |
20 | 34 | Gérald Schwartzmann | |
21 | 40 | Gérald Schwartzmann | Installer un Seth DC avec un Scribe membre (les comptes sont créés sur l'AD)" + intégration de LSC pour la synchronisation #22659 |
22 | 40 | Gérald Schwartzmann | |
23 | 34 | Gérald Schwartzmann | h2. Actions |
24 | 34 | Gérald Schwartzmann | |
25 | 34 | Gérald Schwartzmann | h3. Utilisation d'un Scribe 2.6.2 |
26 | 34 | Gérald Schwartzmann | |
27 | 36 | Gérald Schwartzmann | * Utilisation de l'infra etb1 avec des postes joints au domaine NT de Scribe |
28 | 1 | Benjamin Bohard | * Configuration du serveur Amon |
29 | 36 | Gérald Schwartzmann | * Installation d'Eole-AD sur le serveur Scribe en production |
30 | 36 | Gérald Schwartzmann | * Modification du mot de passe admin dans l'EAD 2 de Scribe |
31 | 36 | Gérald Schwartzmann | * Retrait des postes du domaine NT |
32 | 36 | Gérald Schwartzmann | * Jonction de poste Windows au domaine AD de Seth |
33 | 47 | Fabrice Barconnière | ** manuelle AD %{color:green}OK% |
34 | 49 | Fabrice Barconnière | ** joineole AD avec installation client Scribe %{color:red}KO% |
35 | 49 | Fabrice Barconnière | ** joineole AD sans installation du client Scribe %{color:green}OK% |
36 | 49 | Fabrice Barconnière | * Connexion au domaine |
37 | 49 | Fabrice Barconnière | ** connexion %{color:green}OK% |
38 | 49 | Fabrice Barconnière | ** accès aux partages GUEST %{color:red}KO% |
39 | 49 | Fabrice Barconnière | *** @joineole@ positionne des clés de registre qui posent problème |
40 | 49 | Fabrice Barconnière | <pre> |
41 | 52 | Fabrice Barconnière | [HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanManWorkstation\Parameters] |
42 | 49 | Fabrice Barconnière | "DNSNameResolutionRequired"=dword:00000000 |
43 | 52 | Fabrice Barconnière | "DomainCompatibilityMode"=dword:00000001 |
44 | 49 | Fabrice Barconnière | </pre> |
45 | 49 | Fabrice Barconnière | *** Après modification des clés de registre %{color:green}OK% |
46 | 49 | Fabrice Barconnière | <pre> |
47 | 52 | Fabrice Barconnière | [HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanManWorkstation\Parameters] |
48 | 49 | Fabrice Barconnière | "DNSNameResolutionRequired"=dword:00000001 |
49 | 49 | Fabrice Barconnière | "DomainCompatibilityMode"=dword:00000000 |
50 | 49 | Fabrice Barconnière | </pre> |
51 | 49 | Fabrice Barconnière | * Installation du client Scribe après jonction au domaine |
52 | 49 | Fabrice Barconnière | ** Sans modifier les attributs d'exécution des fichiers @/home/client_scribe/cliscribe-setup.exe@ et @/home/a/admin/perso/client/cliscribe-updater-setup.exe@ %{color:red}KO% |
53 | 49 | Fabrice Barconnière | ** Ajout des attributs +x aux installeurs %{color:green}OK% |
54 | 44 | Fabrice Barconnière | ** controle-VNC AD %{color:green}OK% |
55 | 47 | Fabrice Barconnière | * Modification de mots de passe dans l'EAD 2 |
56 | 51 | Fabrice Barconnière | ** synchro sur AD %{color:green}OK% |
57 | 47 | Fabrice Barconnière | * Importation annuelle des bases dans l'EAD 2 |
58 | 50 | Fabrice Barconnière | ** Synchro des comptes et des mots de passe vers AD %{color:green}OK% |
59 | 44 | Fabrice Barconnière | |
60 | 36 | Gérald Schwartzmann | h3. Problèmes rencontrés |
61 | 1 | Benjamin Bohard | |
62 | 46 | Fabrice Barconnière | * Configuration du serveur Amon pour la prise en charge d'un sous-domaine DNS #22731 |
63 | 53 | Fabrice Barconnière | * Incompatibilité de LSC avec Java 8 et 9 #22730 |
64 | 36 | Gérald Schwartzmann | * La variable ad_server n'était pas initialisée pour la jonction au domaine, jonction au domaine de l'AD impossible #22704 |
65 | 36 | Gérald Schwartzmann | * Problème de résolution des zones forward sur Amon #22707 |
66 | 39 | Gérald Schwartzmann | * La demande de modification des mots au redémarrage du poste Windows ne fonctionne pas sur AD |
67 | 39 | Gérald Schwartzmann | * ClientScribe empêche l'accès aux partages GUEST |
68 | 39 | Gérald Schwartzmann | * Les postes n'exécutent plus les scripts ou exécutables présent sur les partages Scribe s'ils n'ont pas l'attribut +x |
69 | 36 | Gérald Schwartzmann | |
70 | 57 | Fabrice Barconnière | h2. Pistes de travail et correctifs à prévoir |
71 | 34 | Gérald Schwartzmann | |
72 | 34 | Gérald Schwartzmann | * Changement à faire sur le module Amon |
73 | 54 | Fabrice Barconnière | ** -Développement sur la partie DNS pour la prise en charge de sous-zones- #22731 |
74 | 34 | Gérald Schwartzmann | |
75 | 34 | Gérald Schwartzmann | * Changement à faire sur le module Scribe |
76 | 1 | Benjamin Bohard | ** -Faire fonctionner LSC avec Java 8 ou 9 ou backporter le paquet Java 7 et modifier la dépendance du paquet eole-ad- #22730 |
77 | 57 | Fabrice Barconnière | ** Tester une migration avec un classicupgrade pour éviter la réinitialisation des MDP, la sortie des machines du domaine NT et la jonction au nouveau domaine. |
78 | 57 | Fabrice Barconnière | *** Utiliser un Scribe en production en mode NT |
79 | 57 | Fabrice Barconnière | *** effectuer l'opération classicupgrade sur le serveur Seth (instancié à confirmer lors des tests) : |
80 | 57 | Fabrice Barconnière | https://wiki.samba.org/index.php/Migrating_a_Samba_NT4_Domain_to_Samba_AD_(Classic_Upgrade)#Upgrading_on_a_new_server |
81 | 57 | Fabrice Barconnière | *** effectuer l'installation et la configuration de eole-ad sur Scribe en suivant la même procédure |
82 | 1 | Benjamin Bohard | |
83 | 39 | Gérald Schwartzmann | * EAD 2 |
84 | 39 | Gérald Schwartzmann | ** Faire fonctionner le changement de mot de passe à l'ouverture de session |
85 | 39 | Gérald Schwartzmann | |
86 | 55 | Fabrice Barconnière | * JoinEole |
87 | 55 | Fabrice Barconnière | ** Ne pas positionner les clés de registre si on est sur AD pour permettre l'accès aux partages GUEST |
88 | 34 | Gérald Schwartzmann | |
89 | 56 | Fabrice Barconnière | * Résoudre le problème des fichiers exécutables sur les partages |
90 | 56 | Fabrice Barconnière | |
91 | 34 | Gérald Schwartzmann | h1. Scribe AD |
92 | 18 | Emmanuel GARETTE | |
93 | 1 | Benjamin Bohard | h2. Actions |
94 | 1 | Benjamin Bohard | |
95 | 2 | Benjamin Bohard | h3. Migration du Scribe NT vers Scribe AD |
96 | 1 | Benjamin Bohard | |
97 | 1 | Benjamin Bohard | h4. Procédure classicupgrade |
98 | 3 | Benjamin Bohard | |
99 | 3 | Benjamin Bohard | La procédure classicupgrade nécessite des interventions complémentaires (pouvant être scriptées). |
100 | 3 | Benjamin Bohard | |
101 | 20 | Benjamin Bohard | En partant d’un Scribe fonctionnel instancié avec import de comptes et un poste joint au domaine. |
102 | 3 | Benjamin Bohard | |
103 | 3 | Benjamin Bohard | h5. stopper et désactiver les services de samba en mode NT (smbd, nmbd, winbind), |
104 | 10 | Benjamin Bohard | |
105 | 3 | Benjamin Bohard | <pre> |
106 | 3 | Benjamin Bohard | systemctl stop nmbd |
107 | 3 | Benjamin Bohard | systemctl stop smbd |
108 | 3 | Benjamin Bohard | systemctl stop winbind |
109 | 3 | Benjamin Bohard | systemctl disable nmbd |
110 | 3 | Benjamin Bohard | systemctl disable smbd |
111 | 3 | Benjamin Bohard | systemctl disable winbind |
112 | 3 | Benjamin Bohard | </pre> |
113 | 3 | Benjamin Bohard | |
114 | 24 | Philippe Caseiro | h5. mettre à jour la version de samba (Optionnel pour des raison de tests) |
115 | 1 | Benjamin Bohard | |
116 | 24 | Philippe Caseiro | A faire uniquement si vous voulez tester avec la version samba 4.7 |
117 | 24 | Philippe Caseiro | |
118 | 23 | Benjamin Bohard | <pre> |
119 | 23 | Benjamin Bohard | cat >>/etc/apt/source.list.d/samba.list<<EOF |
120 | 23 | Benjamin Bohard | deb [ arch=amd64 ] http://test-eole.ac-dijon.fr/samba samba-4.7 |
121 | 23 | Benjamin Bohard | EOF |
122 | 23 | Benjamin Bohard | </pre> |
123 | 23 | Benjamin Bohard | |
124 | 23 | Benjamin Bohard | <pre> |
125 | 23 | Benjamin Bohard | Maj-Auto |
126 | 23 | Benjamin Bohard | CreoleCat -t smb.conf |
127 | 23 | Benjamin Bohard | </pre> |
128 | 23 | Benjamin Bohard | |
129 | 3 | Benjamin Bohard | h5. installer les outils nécessaires : |
130 | 10 | Benjamin Bohard | |
131 | 3 | Benjamin Bohard | <pre> |
132 | 11 | Benjamin Bohard | apt-get install krb5-user ldb-tools |
133 | 3 | Benjamin Bohard | </pre> |
134 | 3 | Benjamin Bohard | |
135 | 3 | Benjamin Bohard | h5. patcher nsswitch.conf.default, ldap.conf |
136 | 3 | Benjamin Bohard | |
137 | 3 | Benjamin Bohard | <pre> |
138 | 3 | Benjamin Bohard | --- distrib/nsswitch.conf.default 2017-05-15 11:18:44.000000000 +0200 |
139 | 3 | Benjamin Bohard | +++ modif/nsswitch.conf.default 2018-01-09 15:12:53.260292570 +0100 |
140 | 3 | Benjamin Bohard | @@ -7,8 +7,8 @@ |
141 | 3 | Benjamin Bohard | ######################################################## |
142 | 3 | Benjamin Bohard | # /etc/nsswitch.conf |
143 | 3 | Benjamin Bohard | |
144 | 3 | Benjamin Bohard | -%set %%active_winbind = %%getVar('activer_winbind', 'non') == 'oui' |
145 | 3 | Benjamin Bohard | -%set %%active_ldap = %%getVar('ldap_nss', 'non') == 'oui' |
146 | 3 | Benjamin Bohard | +%set %%active_winbind = True |
147 | 3 | Benjamin Bohard | +%set %%active_ldap = False |
148 | 3 | Benjamin Bohard | |
149 | 3 | Benjamin Bohard | passwd: compat %slurp |
150 | 3 | Benjamin Bohard | %if %%active_ldap |
151 | 3 | Benjamin Bohard | </pre> |
152 | 3 | Benjamin Bohard | |
153 | 12 | Benjamin Bohard | <pre> |
154 | 12 | Benjamin Bohard | --- distrib/ldap.conf 2017-04-05 12:25:55.000000000 +0200 |
155 | 12 | Benjamin Bohard | +++ modif/ldap.conf 2018-01-10 14:39:19.008000000 +0100 |
156 | 12 | Benjamin Bohard | @@ -13,7 +13,7 @@ |
157 | 12 | Benjamin Bohard | |
158 | 12 | Benjamin Bohard | %if %%active_ldap == 'oui' |
159 | 12 | Benjamin Bohard | host %%adresse_ip_ldap |
160 | 12 | Benjamin Bohard | -base %%ldap_base_dn |
161 | 12 | Benjamin Bohard | +base DC=etb1,DC=lan |
162 | 12 | Benjamin Bohard | port %%ldap_port |
163 | 12 | Benjamin Bohard | timelimit 10 |
164 | 12 | Benjamin Bohard | bind_time_limit 10 |
165 | 12 | Benjamin Bohard | @@ -23,8 +23,8 @@ |
166 | 12 | Benjamin Bohard | pam_login_attribute uid |
167 | 12 | Benjamin Bohard | pam_password md5 |
168 | 12 | Benjamin Bohard | nss_map_attribute gecos displayName |
169 | 12 | Benjamin Bohard | -nss_base_passwd %%ldap_base_dn?sub |
170 | 12 | Benjamin Bohard | -nss_base_group %%ldap_base_dn?sub |
171 | 12 | Benjamin Bohard | +nss_base_passwd DC=etb1,DC=lan?sub |
172 | 12 | Benjamin Bohard | +nss_base_group DC=etb1,DC=lan?sub |
173 | 12 | Benjamin Bohard | #fixe #1809 |
174 | 12 | Benjamin Bohard | nss_initgroups_ignoreusers root |
175 | 12 | Benjamin Bohard | %if %%ldap_tls == 'oui' |
176 | 12 | Benjamin Bohard | </pre> |
177 | 12 | Benjamin Bohard | |
178 | 3 | Benjamin Bohard | h5. déplacer la configuration samba actuelle dans un répertoire de travail |
179 | 3 | Benjamin Bohard | |
180 | 3 | Benjamin Bohard | <pre> |
181 | 3 | Benjamin Bohard | mv /etc/samba/ /etc/samba.PDC/ |
182 | 3 | Benjamin Bohard | </pre> |
183 | 3 | Benjamin Bohard | |
184 | 3 | Benjamin Bohard | h5. renommer le fichier de configuration smb.conf de ce répertoire de travail, |
185 | 3 | Benjamin Bohard | |
186 | 3 | Benjamin Bohard | <pre> |
187 | 3 | Benjamin Bohard | mv /etc/samba.PDC/smb.conf /etc/samba.PDC/smb.PDC.conf |
188 | 3 | Benjamin Bohard | </pre> |
189 | 3 | Benjamin Bohard | |
190 | 3 | Benjamin Bohard | h5. copier les bases de données de samba dans un sous-répertoire du répertoire de travail |
191 | 3 | Benjamin Bohard | |
192 | 3 | Benjamin Bohard | <pre> |
193 | 14 | Benjamin Bohard | mkdir /etc/samba.PDC/dbdir/ |
194 | 13 | Benjamin Bohard | cp -p /var/lib/samba/private/secrets.tdb /etc/samba.PDC/dbdir/ |
195 | 13 | Benjamin Bohard | cp -p /var/lib/samba/private/schannel_store.tdb /etc/samba.PDC/dbdir/ |
196 | 13 | Benjamin Bohard | cp -p /var/lib/samba/private/passdb.tdb /etc/samba.PDC/dbdir/ |
197 | 15 | Benjamin Bohard | #cp -p /var/lib/samba/var/lock/gencache_notrans.tdb /etc/samba.PDC/dbdir/ |
198 | 15 | Benjamin Bohard | cp -p /var/lib/samba/group_mapping.tdb /etc/samba.PDC/dbdir/ |
199 | 15 | Benjamin Bohard | cp -p /var/lib/samba/account_policy.tdb /etc/samba.PDC/dbdir/ |
200 | 1 | Benjamin Bohard | </pre> |
201 | 3 | Benjamin Bohard | |
202 | 8 | Benjamin Bohard | h5. lancer la commande samba-tool domain classicupgrade |
203 | 8 | Benjamin Bohard | |
204 | 1 | Benjamin Bohard | <pre> |
205 | 8 | Benjamin Bohard | realm=$(CreoleGet nom_domaine_local) |
206 | 33 | Benjamin Bohard | </pre> |
207 | 32 | Benjamin Bohard | |
208 | 32 | Benjamin Bohard | Pour samba 4.3.11 : |
209 | 32 | Benjamin Bohard | <pre> |
210 | 8 | Benjamin Bohard | samba-tool domain classicupgrade --dbdir=/etc/samba.PDC/dbdir --use-xattrs=yes --realm=${realm^^} --dns-backend=SAMBA_INTERNAL /etc/samba.PDC/smb.PDC.conf |
211 | 8 | Benjamin Bohard | </pre> |
212 | 32 | Benjamin Bohard | |
213 | 32 | Benjamin Bohard | Pour samba 4.7 (on enlève l’option pour xattrs) : |
214 | 32 | Benjamin Bohard | <pre> |
215 | 32 | Benjamin Bohard | samba-tool domain classicupgrade --dbdir=/etc/samba.PDC/dbdir --realm=${realm^^} --dns-backend=SAMBA_INTERNAL /etc/samba.PDC/smb.PDC.conf |
216 | 32 | Benjamin Bohard | </pre> |
217 | 32 | Benjamin Bohard | |
218 | 8 | Benjamin Bohard | |
219 | 29 | Benjamin Bohard | h5. créer le patch smb.conf à partir du nouveau fichier créer par samba-tool (bien renseigner le forwarder dns) |
220 | 8 | Benjamin Bohard | |
221 | 21 | Benjamin Bohard | <pre> |
222 | 21 | Benjamin Bohard | [global] |
223 | 21 | Benjamin Bohard | realm = ETB1.LAN |
224 | 21 | Benjamin Bohard | workgroup = DOMPEDAGO |
225 | 21 | Benjamin Bohard | netbios name = SCRIBE |
226 | 21 | Benjamin Bohard | |
227 | 21 | Benjamin Bohard | # disable netbios legacy protocol, only port 445 ! |
228 | 21 | Benjamin Bohard | disable netbios = yes |
229 | 21 | Benjamin Bohard | smb ports = 445 |
230 | 21 | Benjamin Bohard | |
231 | 21 | Benjamin Bohard | |
232 | 21 | Benjamin Bohard | vfs objects = acl_xattr |
233 | 21 | Benjamin Bohard | map acl inherit = Yes |
234 | 21 | Benjamin Bohard | store dos attributes = Yes |
235 | 21 | Benjamin Bohard | winbind separator = / |
236 | 21 | Benjamin Bohard | |
237 | 21 | Benjamin Bohard | server role = active directory domain controller |
238 | 21 | Benjamin Bohard | dns forwarder = 192.168.232.2 |
239 | 21 | Benjamin Bohard | |
240 | 21 | Benjamin Bohard | # active TLS (pour LDAPS et la maj des mot de passe ! |
241 | 21 | Benjamin Bohard | tls enabled = yes |
242 | 21 | Benjamin Bohard | tls keyfile = /var/lib/samba/private/tls/key.pem |
243 | 21 | Benjamin Bohard | tls certfile = /var/lib/samba/private/tls/cert.pem |
244 | 21 | Benjamin Bohard | tls cafile = /var/lib/samba/private/tls/ca.pem |
245 | 21 | Benjamin Bohard | |
246 | 21 | Benjamin Bohard | [netlogon] |
247 | 21 | Benjamin Bohard | comment = Network Logon Service |
248 | 21 | Benjamin Bohard | path = /home/sysvol/ac-test.fr/scripts |
249 | 21 | Benjamin Bohard | read only = No |
250 | 21 | Benjamin Bohard | guest ok = yes |
251 | 21 | Benjamin Bohard | |
252 | 21 | Benjamin Bohard | [sysvol] |
253 | 21 | Benjamin Bohard | comment = Sysvol Service |
254 | 21 | Benjamin Bohard | path = /home/sysvol |
255 | 21 | Benjamin Bohard | read only = No |
256 | 21 | Benjamin Bohard | guest ok = yes |
257 | 21 | Benjamin Bohard | |
258 | 21 | Benjamin Bohard | [homes] |
259 | 21 | Benjamin Bohard | path = "/home/a/%u" |
260 | 21 | Benjamin Bohard | comment = Home Directories |
261 | 21 | Benjamin Bohard | read only = no |
262 | 21 | Benjamin Bohard | root preexec = /usr/share/eole/sbin/create_adhome.sh "%u" "/home/a/" |
263 | 21 | Benjamin Bohard | invalid users = nobody guest |
264 | 21 | Benjamin Bohard | |
265 | 21 | Benjamin Bohard | </pre> |
266 | 21 | Benjamin Bohard | |
267 | 26 | Benjamin Bohard | h5. installer le script pour la création du home |
268 | 26 | Benjamin Bohard | |
269 | 26 | Benjamin Bohard | <pre> |
270 | 26 | Benjamin Bohard | #!/bin/bash |
271 | 26 | Benjamin Bohard | login=${1} |
272 | 26 | Benjamin Bohard | homebasedir=${2} |
273 | 26 | Benjamin Bohard | userdir="${homebasedir}/${login}" |
274 | 26 | Benjamin Bohard | [ -d "${userdir}" ] && exit 0 |
275 | 26 | Benjamin Bohard | mkdir -p "${userdir}" |
276 | 26 | Benjamin Bohard | setfacl -Rbk "${userdir}" |
277 | 26 | Benjamin Bohard | chmod 700 "${userdir}" |
278 | 26 | Benjamin Bohard | setfacl -m u:${login}:rwx "${userdir}" |
279 | 26 | Benjamin Bohard | setfacl -dm u:${login}:rwx "${userdir}" |
280 | 26 | Benjamin Bohard | </pre> |
281 | 26 | Benjamin Bohard | |
282 | 8 | Benjamin Bohard | h5. stopper et désactiver le service slapd |
283 | 8 | Benjamin Bohard | |
284 | 8 | Benjamin Bohard | <pre> |
285 | 8 | Benjamin Bohard | systemctl stop slapd |
286 | 8 | Benjamin Bohard | systemctl disable slapd |
287 | 8 | Benjamin Bohard | </pre> |
288 | 8 | Benjamin Bohard | |
289 | 8 | Benjamin Bohard | h5. créer le compte reader |
290 | 8 | Benjamin Bohard | |
291 | 8 | Benjamin Bohard | <pre> |
292 | 8 | Benjamin Bohard | cat /root/.reader |
293 | 8 | Benjamin Bohard | samba-tool user create reader |
294 | 8 | Benjamin Bohard | </pre> |
295 | 8 | Benjamin Bohard | |
296 | 8 | Benjamin Bohard | h5. modifier les variables |
297 | 8 | Benjamin Bohard | |
298 | 8 | Benjamin Bohard | Le base DN est maintenant du type DC=etb1,DC=lan. |
299 | 8 | Benjamin Bohard | |
300 | 8 | Benjamin Bohard | Le compte reader est maintenant du type CN=reader,CN=Users,DC=etb1,DC=lan. |
301 | 8 | Benjamin Bohard | |
302 | 25 | Philippe Caseiro | h5. modifier les scripts de posttemplate 02-annuaire et 04-fichier et 00-annuaire en pretemplate |
303 | 8 | Benjamin Bohard | |
304 | 8 | Benjamin Bohard | exit 0 ajouté en tête des fichiers pour ne pas faire les traitements. |
305 | 8 | Benjamin Bohard | |
306 | 8 | Benjamin Bohard | h5. activer et démarrer le service samba-ad-dc |
307 | 8 | Benjamin Bohard | |
308 | 8 | Benjamin Bohard | <pre> |
309 | 8 | Benjamin Bohard | systemctl enable samba-ad-dc |
310 | 8 | Benjamin Bohard | systemctl start samba-ad-dc |
311 | 8 | Benjamin Bohard | </pre> |
312 | 8 | Benjamin Bohard | |
313 | 8 | Benjamin Bohard | h5. reconfigure |
314 | 8 | Benjamin Bohard | |
315 | 8 | Benjamin Bohard | h5. stopper le service nmbd |
316 | 8 | Benjamin Bohard | |
317 | 8 | Benjamin Bohard | Le service nmbd est démarré automatiquement par creole |
318 | 8 | Benjamin Bohard | <pre> |
319 | 8 | Benjamin Bohard | systemctl stop nmbd |
320 | 3 | Benjamin Bohard | </pre> |
321 | 1 | Benjamin Bohard | |
322 | 10 | Benjamin Bohard | h4. Points à traiter |
323 | 10 | Benjamin Bohard | |
324 | 10 | Benjamin Bohard | h5. service nmbd |
325 | 10 | Benjamin Bohard | |
326 | 10 | Benjamin Bohard | Le service nmbd est géré par creole et sa désactivation manuelle n’est pas suffisante |
327 | 10 | Benjamin Bohard | |
328 | 10 | Benjamin Bohard | h5. variables creole |
329 | 10 | Benjamin Bohard | |
330 | 10 | Benjamin Bohard | Les variables concernant l’annuaire sont verrouillées (même après import du fichier de configuration : valeurs par défaut). |
331 | 10 | Benjamin Bohard | |
332 | 10 | Benjamin Bohard | Il n’est pas possible de modifier, hors des patchs, les valeurs pour le base DN, le protocole (ldaps), etc. |
333 | 10 | Benjamin Bohard | |
334 | 22 | Benjamin Bohard | h5. mise à jour samba |
335 | 22 | Benjamin Bohard | |
336 | 22 | Benjamin Bohard | Conflit avec eole-fichier-common-pkg pour la fourniture du fichier smbd.service |
337 | 22 | Benjamin Bohard | |
338 | 31 | Benjamin Bohard | h5. configuration de samba |
339 | 31 | Benjamin Bohard | |
340 | 31 | Benjamin Bohard | Vérifier que le fichier de configuration est adéquate pour un contrôleur de domaine avec des partages. |
341 | 31 | Benjamin Bohard | |
342 | 30 | Benjamin Bohard | h5. création des homes |
343 | 10 | Benjamin Bohard | |
344 | 30 | Benjamin Bohard | Le client cherche à se connecter sur un partage nommé <REALM>\<user>. |
345 | 10 | Benjamin Bohard | |
346 | 30 | Benjamin Bohard | Les clients doivent pouvoir remonter leur ancien home (<user>). |
347 | 10 | Benjamin Bohard | |
348 | 9 | Philippe Caseiro | h2. Pistes de travail pour la migration de l'annuaire |
349 | 9 | Philippe Caseiro | |
350 | 9 | Philippe Caseiro | Proposition de méthode pour arriver a un Scribe AD en utilisant malgré-tout une |
351 | 9 | Philippe Caseiro | partie du travail déjà fait par l'équipe samba dans sa procédure |
352 | 9 | Philippe Caseiro | classicupgrade. |
353 | 9 | Philippe Caseiro | |
354 | 9 | Philippe Caseiro | La procédure proprement dite n'est pas suffisante pour nous et l'utilisation |
355 | 9 | Philippe Caseiro | brute de l'outil samba non plus, cet outil réalise le provisionning AD et les |
356 | 9 | Philippe Caseiro | initialisations des fichiers db, hors pour bien faire nous avons besoin que samba ai |
357 | 9 | Philippe Caseiro | connaissance des schemas complémentaires du scribe (radius, eole, ent ...). |
358 | 9 | Philippe Caseiro | avant la migration des comptes. Pour lui ajouter les dit schémas il faut que |
359 | 9 | Philippe Caseiro | les fichiers db soient initialisées, donc l'utilisation de l'outil est |
360 | 9 | Philippe Caseiro | impossible. Par chance il utilise la lib python samaba, ce qui nous ouvre des |
361 | 9 | Philippe Caseiro | possibilités. Sans oublié que l'outil samba crée la configuration pour samba |
362 | 9 | Philippe Caseiro | a partir de l'ancienne et cette fonctionnalités ne nous ai pas vraiment utile. |
363 | 9 | Philippe Caseiro | |
364 | 9 | Philippe Caseiro | Donc l'idée est de recréer une procédure de migration complête pour nos |
365 | 9 | Philippe Caseiro | besoins. |
366 | 9 | Philippe Caseiro | |
367 | 9 | Philippe Caseiro | Il faut donc refaire le provisionning de l'AD ce qui est fait dans Seth donc |
368 | 9 | Philippe Caseiro | nous pouvons utiliser cette base de travail |
369 | 9 | Philippe Caseiro | |
370 | 9 | Philippe Caseiro | Migrer les shemas complémentaires actuels au format lisible par samba4. |
371 | 9 | Philippe Caseiro | |
372 | 9 | Philippe Caseiro | Créer un script de migration des comptes qui ajoute les schemas, utilise la |
373 | 9 | Philippe Caseiro | lib python samba4 pour migrer les comptes et ensuite mettre à jour les comptes |
374 | 9 | Philippe Caseiro | avec les attributs supplémentaires de l'ancien annuaire. |
375 | 17 | Emmanuel GARETTE | |
376 | 17 | Emmanuel GARETTE | |
377 | 17 | Emmanuel GARETTE | h3. Remplacement du Client Scribe : |
378 | 17 | Emmanuel GARETTE | |
379 | 17 | Emmanuel GARETTE | * application de policies : https://dev-eole.ac-dijon.fr/issues/22666 |
380 | 17 | Emmanuel GARETTE | |
381 | 17 | Emmanuel GARETTE | Le portage des règles Esu en policies AD va être compliqué et aléatoire. Il existe beaucoup de manières d'implémenter ces règles (fichier INI, fichier XML, Register.pol, ...). Il va falloir tester règle par règle comment c'est généré via RSAT. |
382 | 17 | Emmanuel GARETTE | |
383 | 17 | Emmanuel GARETTE | Si on veut générer les règles depuis Gaspacho il va falloir : |
384 | 17 | Emmanuel GARETTE | |
385 | 17 | Emmanuel GARETTE | # connaitre le format de chaque règle ; |
386 | 17 | Emmanuel GARETTE | # créer des parsers pour chaque format ; |
387 | 17 | Emmanuel GARETTE | # écrire les fichiers ".gasp" pour que les règles soient prise en compte dans Gaspacho ; |
388 | 17 | Emmanuel GARETTE | # créer les GPO suivant les groupes gaspacho + associer les différents critères de sélection (utilisateur/machine) ; |
389 | 17 | Emmanuel GARETTE | # lancer les différents parsers quand on applique les règles Gaspacho ; |
390 | 17 | Emmanuel GARETTE | |
391 | 17 | Emmanuel GARETTE | |
392 | 17 | Emmanuel GARETTE | * exécuter des scripts au démarrage de la machine/connexion des utilisateurs : https://dev-eole.ac-dijon.fr/issues/22665 |
393 | 17 | Emmanuel GARETTE | |
394 | 17 | Emmanuel GARETTE | L'exécution de script de démarrage est pris en compte par le système de GPO. Cela peut être des scripts "machines" (au démarrage ou arrêt du serveur) ou "utilisateurs" (à l'ouverture ou fermeture de la session). |
395 | 17 | Emmanuel GARETTE | |
396 | 17 | Emmanuel GARETTE | Il faut un mécanisme pour générer les scripts comme c'était fait sous Scribe. |
397 | 17 | Emmanuel GARETTE | De plus nous n'avons pas réussi a lancer un Script diffuser via le partage netlogon. Il va falloir trouver un moyen de les diffuser. |
398 | 17 | Emmanuel GARETTE | |
399 | 19 | Emmanuel GARETTE | * mappage des partages : https://dev-eole.ac-dijon.fr/issues/22667 |
400 | 19 | Emmanuel GARETTE | |
401 | 19 | Emmanuel GARETTE | C'est un fichier XML par GPO possiblement générable. |
402 | 19 | Emmanuel GARETTE | |
403 | 19 | Emmanuel GARETTE | * pouvoir lancer des commandes à distance : https://dev-eole.ac-dijon.fr/issues/22665 |
404 | 19 | Emmanuel GARETTE | |
405 | 19 | Emmanuel GARETTE | Il y a plusieurs pistes possible mais aucune n'ont été testé avec succès. |
406 | 19 | Emmanuel GARETTE | |
407 | 19 | Emmanuel GARETTE | * observation des postes : https://dev-eole.ac-dijon.fr/issues/22664 |
408 | 19 | Emmanuel GARETTE | |
409 | 19 | Emmanuel GARETTE | Nécessite l'exécution de commande a distance. |
410 | 58 | Benjamin Bohard | |
411 | 59 | Joël Cuissinat | h1. Portage des actions EAD2 vers EAD3 |
412 | 58 | Benjamin Bohard | |
413 | 58 | Benjamin Bohard | https://dev-eole.ac-dijon.fr/issues/22725 |
414 | 58 | Benjamin Bohard | https://dev-eole.ac-dijon.fr/issues/22670 |
415 | 58 | Benjamin Bohard | https://dev-eole.ac-dijon.fr/issues/22727 |
416 | 58 | Benjamin Bohard | https://dev-eole.ac-dijon.fr/issues/22726 |
417 | 58 | Benjamin Bohard | https://dev-eole.ac-dijon.fr/issues/22733 |
418 | 58 | Benjamin Bohard | https://dev-eole.ac-dijon.fr/issues/22728 |
419 | 58 | Benjamin Bohard | |
420 | 58 | Benjamin Bohard | h2. Gestion des comptes et groupes |
421 | 58 | Benjamin Bohard | |
422 | 58 | Benjamin Bohard | Le changement le plus important est le passage à une infrastructure séparant le contrôleur de domaine et le serveur de fichiers. |
423 | 58 | Benjamin Bohard | |
424 | 58 | Benjamin Bohard | Les actions pour la gestion des comptes et groupes impactent le contrôleur de domaine et le serveur de fichier. Une action unique doit agir sur deux serveurs. |
425 | 58 | Benjamin Bohard | |
426 | 58 | Benjamin Bohard | Le code doit être repensé pour permettre de déclencher des traitements répartis sur différents serveurs à partir d’une même action dans l’interface. |
427 | 58 | Benjamin Bohard | |
428 | 58 | Benjamin Bohard | La piste de salt-syndic a été étudiée pour répartir les traitements composant une action sur les serveurs concernés. |
429 | 58 | Benjamin Bohard | |
430 | 58 | Benjamin Bohard | h2. Les applications externes |
431 | 58 | Benjamin Bohard | |
432 | 1 | Benjamin Bohard | Pas de problème particulier pour les applications externes (CUPS, Sympa, EOP, etc.). |
433 | 59 | Joël Cuissinat | |
434 | 59 | Joël Cuissinat | |
435 | 59 | Joël Cuissinat | h1. Gestion (directe) des comptes AD via l'EAD2 (options 2 et 3) |
436 | 59 | Joël Cuissinat | |
437 | 59 | Joël Cuissinat | h2. Remplacement de l'appel à @smbldap-useradd@ par @samba-tool user create@ |
438 | 59 | Joël Cuissinat | |
439 | 59 | Joël Cuissinat | Objectif du POC : Créer un enseignant directement dans AD à l'aide de la commande "backend" suivante : |
440 | 59 | Joël Cuissinat | |
441 | 59 | Joël Cuissinat | <pre> |
442 | 59 | Joël Cuissinat | /usr/share/eole/backend/creation-prof.py -u <login> -m "Eole12345\$" -p Prénom -f Nom |
443 | 59 | Joël Cuissinat | </pre> |
444 | 59 | Joël Cuissinat | |
445 | 59 | Joël Cuissinat | Librairies python concernées : |
446 | 59 | Joël Cuissinat | * /usr/lib/python2.7/dist-packages/scribe/enseignants.py |
447 | 59 | Joël Cuissinat | * /usr/lib/python2.7/dist-packages/scribe/eoleuser.py |
448 | 59 | Joël Cuissinat | ** méthode _add : remplacement de l'utilisation de smbldap-tools par samba-tools dans "if self.has_samba:" |
449 | 59 | Joël Cuissinat | |
450 | 59 | Joël Cuissinat | Arguments reçus par la fonction : |
451 | 59 | Joël Cuissinat | @{'syncpassword': True, 'disciplines': '', 'change_pwd': False, 'int_id': '', 'mail_acad': '', 'profil': '1', 'etab': None, 'mail': 'internet', 'patronyme': '', 'nom': 'Nom', 'shell': False, 'quota': '0', 'entpersonjointure': '', 'groups': [], 'date': '00000101', 'password': 'Eole12345$', 'prenom': 'Pr\xc3\xa9nom', 'admin': False, 'classe': '', 'entlogin': True, 'civilite': '1', 'login': 'prof4'}@ |
452 | 59 | Joël Cuissinat | |
453 | 59 | Joël Cuissinat | Commande smbldap appelée par la fonction : |
454 | 59 | Joël Cuissinat | <pre> |
455 | 59 | Joël Cuissinat | /usr/sbin/smbldap-useradd -a -A 1 -D U: -H U -o ou=local,ou=personnels -s /bin/false -d /home/p/prof4 -C \\\\ac-test\\prof4\\perso -F -g professeurs -G DomainUsers <login> |
456 | 59 | Joël Cuissinat | </pre> |
457 | 59 | Joël Cuissinat | |
458 | 59 | Joël Cuissinat | Commande samba-tool "équivalente" : |
459 | 59 | Joël Cuissinat | <pre> |
460 | 59 | Joël Cuissinat | samba-tool user create <login> "Eole12345\$" --use-username-as-cn --given-name=Prénom --surname=Nom |
461 | 59 | Joël Cuissinat | </pre> |
462 | 59 | Joël Cuissinat | |
463 | 59 | Joël Cuissinat | ATTENTION : L'option : --use-username-as-cn est importante si on veut être sûr que le CN soit <login>. |
464 | 59 | Joël Cuissinat | |
465 | 59 | Joël Cuissinat | Autres options disponibles à étudier : |
466 | 59 | Joël Cuissinat | * --must-change-at-next-login |
467 | 59 | Joël Cuissinat | * --userou='OU=OrgUnit' |
468 | 59 | Joël Cuissinat | * --rfc2307-from-nss & [--nis-domain=samdom --unix-home=/home/User5 --uid-number=10005 --login-shell=/bin/false --gid-number=10000] : compatibilité Unix ? |
469 | 59 | Joël Cuissinat | * --profile-path/--script-path/--home-drive/--home-directory |
470 | 59 | Joël Cuissinat | * --description/--mail-address |
471 | 59 | Joël Cuissinat | |
472 | 59 | Joël Cuissinat | |
473 | 59 | Joël Cuissinat | h2. Gestion de l'annuaire AD avec python-ldap |
474 | 59 | Joël Cuissinat | |
475 | 59 | Joël Cuissinat | Objectif du POC : Créer une libraire python permettant de gérer les attributs ldap des utilisateurs |
476 | 59 | Joël Cuissinat | |
477 | 59 | Joël Cuissinat | <pre><code class="python"> |
478 | 59 | Joël Cuissinat | # -*- coding: utf-8 -*- |
479 | 59 | Joël Cuissinat | import ldap |
480 | 59 | Joël Cuissinat | |
481 | 59 | Joël Cuissinat | adbase = "DC=ac-test,DC=fr" |
482 | 59 | Joël Cuissinat | binddn = "CN=Administrator,CN=Users,DC=ac-test,DC=fr" |
483 | 59 | Joël Cuissinat | passwd = "Eole12345!" |
484 | 59 | Joël Cuissinat | |
485 | 59 | Joël Cuissinat | def connect(): |
486 | 59 | Joël Cuissinat | # OPT_REFERRALS=0 is mandatory for AD |
487 | 59 | Joël Cuissinat | ldap.set_option(ldap.OPT_REFERRALS, 0) |
488 | 59 | Joël Cuissinat | ldap.set_option(ldap.OPT_X_TLS_REQUIRE_CERT, ldap.OPT_X_TLS_NEVER) |
489 | 59 | Joël Cuissinat | connexion = ldap.initialize('ldaps://localhost') |
490 | 59 | Joël Cuissinat | connexion.simple_bind_s(binddn, passwd) |
491 | 59 | Joël Cuissinat | return connexion |
492 | 59 | Joël Cuissinat | |
493 | 59 | Joël Cuissinat | |
494 | 59 | Joël Cuissinat | def get_attr(user, attr): |
495 | 59 | Joël Cuissinat | """ |
496 | 59 | Joël Cuissinat | Renvoie la valeur de l'attribut attr |
497 | 59 | Joël Cuissinat | pour l'utilisateur AD user |
498 | 59 | Joël Cuissinat | """ |
499 | 59 | Joël Cuissinat | connexion = connect() |
500 | 59 | Joël Cuissinat | res = connexion.search(adbase, ldap.SCOPE_SUBTREE, |
501 | 59 | Joël Cuissinat | '(samaccountname={0})'.format(user), |
502 | 59 | Joël Cuissinat | [attr]) |
503 | 59 | Joël Cuissinat | try: |
504 | 59 | Joël Cuissinat | return connexion.result(res, 60)[1][0][1][attr][0] |
505 | 59 | Joël Cuissinat | except TypeError: |
506 | 59 | Joël Cuissinat | return |
507 | 59 | Joël Cuissinat | |
508 | 59 | Joël Cuissinat | def set_attr(user, attr, value): |
509 | 59 | Joël Cuissinat | """ |
510 | 59 | Joël Cuissinat | Modifie la valeur de l'attribut attr |
511 | 59 | Joël Cuissinat | pour l'utilisateur AD user |
512 | 59 | Joël Cuissinat | """ |
513 | 59 | Joël Cuissinat | connexion = connect() |
514 | 59 | Joël Cuissinat | if value == '': |
515 | 59 | Joël Cuissinat | value = [] |
516 | 59 | Joël Cuissinat | user_dn = "CN={},CN=Users,{}".format(user, adbase) |
517 | 59 | Joël Cuissinat | data = [((ldap.MOD_REPLACE, attr, value))] |
518 | 59 | Joël Cuissinat | connexion.modify(user_dn, data) |
519 | 59 | Joël Cuissinat | |
520 | 59 | Joël Cuissinat | def delete(user): |
521 | 59 | Joël Cuissinat | """ |
522 | 59 | Joël Cuissinat | suppression d'un utilisateur AD |
523 | 59 | Joël Cuissinat | """ |
524 | 59 | Joël Cuissinat | connexion = connect() |
525 | 59 | Joël Cuissinat | user_dn = "CN={},CN=Users,{}".format(user, adbase) |
526 | 59 | Joël Cuissinat | connexion.delete(user_dn) |
527 | 59 | Joël Cuissinat | </code></pre> |