20 Ninegate AD
afornerot edited this page 2021-01-11 12:05:18 +01:00
This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

AD Maîtres > Ninegate

Attention configuration à faire avant le premier reconfigure de Ninegate.
Si vous avez déjà reconfigurer Ninegate et que vous souhaitez revoir votre configuration, le plus simple est de supprimer la base de Ninegate et de reconfigurer de nouveau.
Si c'est beaucoup trop tard pour revoir réinit le Ninegate, il faut revoir principalement le filtre LDAP associé au Niveau01 de Ninegate.

Seth Educucation classique & AAF

Sur le serveur AD

Le password manager du côté AD est modifié à chaque reconfigure
Ninegate a besoin du compte writer afin d'offrir la modification du password via son interface
Il est donc nécessaire de générer son propre compte writer

Pour cela après premier instance

user_exists() {
    local username="${1}"
    $CONTAINER_EXEC samba-tool user show "${username}" > /dev/null 2>&1
}

if [ -f /etc/eole/samba4-vars.conf ];then
    CONTAINER_EXEC=''
elif [ -f /usr/lib/eole/eolead.sh ];then
    CONTAINER_EXEC='lxc-attach -n addc --'
else
    exit 0
fi

PRIVATE_DIR=/etc/eole/private
WRITER_PASSWORD_FILE="${PRIVATE_DIR}/eole-workstation-writer.password"
if [ ! -s "${WRITER_PASSWORD_FILE}" ]
then
    pwgen -scn1 42 > "${WRITER_PASSWORD_FILE}" 
fi
chmod 700 "${WRITER_PASSWORD_FILE}"  

WRITER_PASSWORD=$(cat "${WRITER_PASSWORD_FILE}")
if ! user_exists eole-workstation-writer
then
    echo "Ajout du compte de jonction au domaine 'eole-workstation-writer'... "
    $CONTAINER_EXEC samba-tool user create --random-password eole-workstation-writer
fi

echo "Mise en conformité de lutilisateur 'eole-workstation-writer'... "
$CONTAINER_EXEC samba-tool user setexpiry eole-workstation-writer --noexpiry
if ! $CONTAINER_EXEC samba-tool group listmembers 'Domain Admins' | grep -q '^eole-workstation-manager$'
then
    $CONTAINER_EXEC samba-tool group addmembers 'Domain Admins' eole-workstation-manager
fi
$CONTAINER_EXEC samba-tool user setpassword eole-workstation-writer --newpassword="${WRITER_PASSWORD}"

Sur le serveur Ninegate

Dans la famille Annuaire du genconfig si vous n'avez pas changer la configuration de base de l'AD et que vous avez passer le script de création du compte writer: il est nécessaire de configurer l'AD et les comptes et password reader et writer de l'AD

CreoleSet adresse_ip_ldap **nameAD**
CreoleSet ldap_base_dn **baseDN**
CreoleSet ldap_tls oui
CreoleSet ldap_port 636
CreoleSet ldap_reader CN=eole-workstation-reader,CN=Users,DC=domseth,DC=ac-test,DC=fr  
CreoleSet activer_admin_passfile oui  
CreoleSet ldap_writer CN=eole-workstation-writer,CN=Users,DC=domseth,DC=ac-test,DC=fr   

Dans le fichier /root/.reader coller le password que vous trouverez sur l'AD dans le fichier
/etc/eole/private/eole-workstation-reader.password

Dans le fichier /root/.writer coller le password que vous trouverez sur l'AD dans le fichier
/etc/eole/private/eole-workstation-writer.password

Seth Educucation classique

Sur le serveur Ninegate

L'AD a exactement la même structure qu'un scribe. Il n'est donc pas nécessaire de réaliser des modifications dans la façon de configure ninegate, il suffit de lui indiquer que l'on utilise un modèle d'annuaire Scribe.

CreoleSet ninegate_masteridentity LDAP
CreoleSet ninegate_mode_auth CAS
CreoleSet ninegate_ldaptemplate Scribe

Seth AAF

Sur le serveur Ninegate

Dans ce cas là, on sort du cadre classique d'un Scribe. On concidère donc cet annuaire comme étant un annuaire "open". Open dans le sens où c'est un annuaire dont la structure lui est propre.

Dans la famille Ninegate

CreoleSet ninegate_masteridentity LDAP
CreoleSet ninegate_mode_auth CAS
CreoleSet ninegate_ldaptemplate open
CreoleSet ninegate_openldapreqniveau01 "(&(objectclass=inetOrgPerson)(!(description=Computer)))"
CreoleSet ninegate_openldapsynchrogroup oui
CreoleSet ninegate_openldapreqgroup "(objectClass=ENTGroupe)"

Dans la famille Annuaire
Seth-AAF n'alimente pas les mail des utilisateurs mais génère un faux mail
En attendant que l'AAF gère le mail et comme pour Ninegate ce mail est obligatoire, on utilisera ce faux mail comme attribut

CreoleSet ldap_match_attribute cn
CreoleSet ldap_member_group_attribute member
CreoleSet ldap_filter_user_class ENTPerson
CreoleSet ldap_filter_user "(&(objectclass=inetOrgPerson)(!(description=Computer)))"
CreoleSet ldap_filter_group_class ENTGroupe
CreoleSet ldap_filter_group "(objectClass=ENTGroupe)"
CreoleSet ldap_fill_mail userprincipalname

Ninegate > CadolesAD

Sur le serveur AD

Cloner cadolesldap et make install la brache AD (à revoir quand on aura compiler le paquet)
Avant instance si ticket non encore suivant non résolu : déplace le posttemplate
mv /usr/share/eole/posttemplate/91-cadolesldap /usr/share/eole/postservice/30-cadolesldap

Ou alors faire un premier instance sans cadolesldap puis installer et instancier avec cadolesldap