Projet

Général

Profil

Wiki » Historique » Version 17

« Précédent - Version 17/25 (diff) - Suivant » - Version actuelle
Gilles Grandgérard, 04/09/2015 13:46


EOLE Active Directory Domain Controler

Comment tester :

================

Attention le filesystem qui héberge les partages doit avoir le support des ACL activés (cf:https://wiki.samba.org/index.php/Setup_and_configure_file_shares_with_Windows_ACLs#Preparatory_work)

Ce qui donne sur une Eolebase : /dev/mapper/eolebase--vg-root / ext4 errors=remount-ro,barrier=0,acl,user_xattr 0 1

1°) Installer une machine eolebase 2.5

2°) Mettre à jour avec les derniers paquest

Maj-Auto

3°) Installer les paquets suivants :

apt-get install samba samba-common python-samba samba-dsdb-modules samba-libs samba-vfs-modules winexe ldb-tools winbind acl
apt-get install make git

Si il en manque (patch welcome ;)

3°) Cloner le dépôt git sur la machine

git config --global http.sslVerify "false"
git clone https://dev-eole.ac-dijon.fr/git/eole-ad-dc.git

GG : ici snapshot nebula 'eole_ad_dc-2.5.0.fi'

4°) Installer les dico/templates/scripts ...

cd eole-ad-dc
git pull
make install

5°) Lancer gen_config

Configurer le serveur.
Activer_ad_smb                               = oui
Nom du workgroup AD = EOLE (ad_workgroup)
Nom du domaine AD = EOLE.LAN (ad_realm)
Nom netbios du serveur = DC1 (ad_netbios_name)
IP du serveur DNS maitre = 127.0.0.1 (ad_dns_forwarder) (car j'utilise SAMBA_INTERNAL !!)
Nom du partage = (ad_share)
Répertoire a partager = (ad_share_path)
Activer le mode lecture seule sur le partage = (ad_share_ro)
Répetoire des home utilisateurs = (home_share_path)
Rappel : adresse_ip_dns sera imposé à 127.0.0.1 !
Attention : Par mesure de sécurité je met le "Nom du workgroup AD" dans "Nom du domaine AD"
A voir pour l'avenir, on pourrais très bien utiliser "Nom de domaine académique" et
"Suffixe du nom de domaine académique" ou "Nom de domaine privé du réseau local"

6°) Lancer l'instance

7°) ouvrir le firewall (cf #11498)

iptables -I eth0-root -p udp -m udp --dport 137 -j ACCEPT
iptables -I eth0-root -p tcp -m tcp --match multiport --sports 1024:5000 --tcp-flags FIN,SYN,RST,ACK SYN -j ACCEPT
Il faut supprimer le fichier '/etc/samba/smb.conf' pour eviter les confilts !
rm /etc/samba/smb.conf
samba-tool domain provision --use-rfc2307 --use-xattrs=yes --use-ntvfs --dns-backend=SAMBA_INTERNAL --domain=EOLE --adminpass=Eole12345! --server-role=dc --realm=EOLE.LAN
la procédure de provisionning crée le fichier '/var/lib/samba/private/krb5.conf' 
cp /var/lib/samba/private/krb5.conf /etc/krb5.conf

8°) Vous pouvez jouer !

Il existe des scripts pour vous faciliter la vie.

  • join-ad : Jonction au domaine d'une machine sans jamais voir l'iterface de W$
  • psexec : Execute des commandes PowerShell sur les machines W$ sans jamaisvoir l'interface de W$
  • adCreateUser : Crée un utilisateur en utilisant les outils samba et en définissant automatiquement le répertoire "home" le U:

Attention: Il ne faut jamais jamais jamais jamais lancer le service "samba"

#CreoleService samba-ad-dc restart
test 
#host -t SRV _ldap._tcp.eole.lan
#host -t SRV _kerberos._udp.eole.lan
#host -t A DC1.eole.lan

Pour joindre une machine au domaine voici comment faire :

Lancer depuis le serveur AD Samba4 :
  1. join-ad -U "MON-DOMAINE\administartor" -P "Eole;Samba&2100" -u "MAMACHINE\administrateur" -m IP_MACHINE_CLIENT
Le script vous demande de saisir le mot de passe administrateur de la machine et normalement si tout vas bien, ils vous répond

que tout seras actif après le reboot.

Vous pouvez ensuite rebooter la machine avec la commande psexec :
  1. psexec -u "MON-DOMAINE\administrator" -m IP_MACHINE_CLIENT -c Restart-Computer

PS: Il faudras penser a une solution pour la gestion du mot de passe Administrateur du domaine.

Nos scripts en ont besoin mais c'est quand même une information sensible. Ajourd'hui j'ai juste mis

un mot de passe par défaut et je l'utilise partout en dur dans les scripts (bad bad bad)