Scribe+eole-ad+eole-ad-dc¶
On part d'un Scribe sur lequel on fait les adaptations pour ajouter lsc (eole-ad) et samba-ad-dc (eole-ad-dc) afin d'obtenir la solution eole-AD sur un seul serveur.
Mise en œuvre de la maquette¶
Modification du port ldap (ldap et sso)¶
Cf. https://dev-eole.ac-dijon.fr/projects/scribe/wiki/Scribe_AD#Hack-LDAP-PORT et https://dev-eole.ac-dijon.fr/projects/scribe/wiki/Port_LDAP
Installation du paquet eole-ad¶
apt-eole install eole-ad
Installation des fichiers du projet eole-ad-dc¶
- Pré-requis Amon
echo dev-eole.ac-dijon.fr >> /etc/squid/domaines_noauth_user && service squid restart
- Installation des fichiers
apt-eole install git make export https_proxy=http://10.1.3.1:3128/ git clone https://dev-eole.ac-dijon.fr/git/eole-ad-dc.git cd eole-ad-dc make install
Nettoyage...¶
rm -f /usr/share/eole/creole/dicos/30_seth.xml
Dans /usr/share/eole/creole/dicos/26_eolead.xml
, supprimer les lignes :
<file filelist='eolead' name='/etc/krb5.conf'/> <file filelist='eolead' name='/etc/samba/smb.conf' source='global_smb_ad.tmpl'/> <service servicelist='eolead'>lsc</service>
Dans /usr/share/eole/creole/dicos/20_fichier.xml
, supprimer les lignes :
dicos/20_fichier.xml : suppression des lignes <service>smbd</service> <service>nmbd</service> <file name='/etc/samba/smb.conf'/> <file filelist='smb_trash' name='/etc/samba/recycle.conf'/> <package>eole-fichier-common-pkg</package>
Gestion de la variable "ad_domain" en double¶
Cf. https://dev-eole.ac-dijon.fr/projects/scribe/wiki/Scribe_AD/#Variable-en-double
Suppression du hack DNS¶
Cf. https://dev-eole.ac-dijon.fr/projects/scribe/wiki/Scribe_AD/#Hack-DNS
Samba 4.7¶
Il faut impérativement supprimer le paquet eole-fichier-common-pkg avant !
apt-get remove eole-fichier-common-pkg eole-scribe-all
Sinon :
dpkg: erreur de traitement de l'archive /var/cache/apt/archives/samba_2%3a4.7.1+dfsg-1tamarin115676~6cddd4f_amd64.deb (--unpack) : tentative de remplacement de « /lib/systemd/system/smbd.service », qui appartient aussi au paquet eole-fichier-common-pkg 2.6.2-7)
Ne pas oublier les autres dépendances :
apt-get install eole-ad-dc-pkg
Configuration¶
- gen_config
- ad_server : scribe
- ad_address : 10.1.3.5
- ad_user : Administrator
- ad_ldaps : oui
- adresse_ip_dns_dhcp : 10.1.3.5
instance¶
run-parts: executing /usr/share/eole/posttemplate/00-annuaire instance ERROR: 'ldap admin dn' not defined! Please check your smb.conf
Modifier le script : /usr/share/eole/sbin/ldap_pwd.py (eole-annuaire) => "samba = False" dans notre cas
run-parts: executing /usr/share/eole/posttemplate/05-eolead instance Intégration au domaine Active Directory Mot de passe de l'administrateur Active Directory : kinit: Cannot find KDC for realm "ETB1" while getting initial credentials Mauvais mot de passe ou serveur Kerberos impossible à joindre
=> modifier et déplacer le script * commenter la partie kerberos * redémarrer le service lsc * mv /usr/share/eole/posttemplate/05-eolead /usr/share/eole/postservice/40-eolead
run-parts: executing /usr/share/eole/postservice/00-fichier-primaire instance Can't initialize passdb backend.
=> pdbedit à supprimer
Création du mot de passe "admin" Active Directory : Confirmation du mot de passe : User 'admin' created successfully setfacl : Option -m : Argument invalide près du caractère 3 run-parts: /usr/share/eole/postservice/25-manage-samba exited with return code 2 Erreur : postservice
=> supprimer les setfacl de /usr/lib/eole/samba4.sh (NB : vérifier : activer_ad_profiles_share forcé à non)
diagnose¶
Partages : . Partage (SMB/TCP) => Erreur (normal) . Partage (NMB/UDP) => Erreur (normal) . Connexions samba => 0 . Ticket kerberos => Ok . Synchronisation LSC => Ok *** Vérification de la résolution de nom netbios : Maître explorateur du domaine dompedago: . IP => Erreur (normal) NT? *** Controle-Vnc . Controle-Vnc => Erreur . Controle-Vnc (Web) => Erreur
Service controle-vnc¶
Le service essaie de lire des fichiers TDB !
018-02-08T15:08:47.579380+01:00 scribe.etb1.lan controle-vnc[24503]: Traceback (most recent call last): 2018-02-08T15:08:47.579623+01:00 scribe.etb1.lan controle-vnc[24503]: File "/usr/lib/python2.7/dist-packages/twisted/application/app.py", line 617, in run 2018-02-08T15:08:47.579884+01:00 scribe.etb1.lan controle-vnc[24503]: runApp(config) 2018-02-08T15:08:47.580112+01:00 scribe.etb1.lan controle-vnc[24503]: File "/usr/lib/python2.7/dist-packages/twisted/scripts/twistd.py", line 25, in runApp 2018-02-08T15:08:47.580333+01:00 scribe.etb1.lan controle-vnc[24503]: _SomeApplicationRunner(config).run() 2018-02-08T15:08:47.580553+01:00 scribe.etb1.lan controle-vnc[24503]: File "/usr/lib/python2.7/dist-packages/twisted/application/app.py", line 348, in run 2018-02-08T15:08:47.580766+01:00 scribe.etb1.lan controle-vnc[24503]: self.application = self.createOrGetApplication() 2018-02-08T15:08:47.580999+01:00 scribe.etb1.lan controle-vnc[24503]: File "/usr/lib/python2.7/dist-packages/twisted/application/app.py", line 413, in createOrGetApplication 2018-02-08T15:08:47.581215+01:00 scribe.etb1.lan controle-vnc[24503]: application = getApplication(self.config, passphrase) 2018-02-08T15:08:47.581428+01:00 scribe.etb1.lan controle-vnc[24503]: --- <exception caught here> --- 2018-02-08T15:08:47.581642+01:00 scribe.etb1.lan controle-vnc[24503]: File "/usr/lib/python2.7/dist-packages/twisted/application/app.py", line 424, in getApplication 2018-02-08T15:08:47.581880+01:00 scribe.etb1.lan controle-vnc[24503]: application = service.loadApplication(filename, style, passphrase) 2018-02-08T15:08:47.582109+01:00 scribe.etb1.lan controle-vnc[24503]: File "/usr/lib/python2.7/dist-packages/twisted/application/service.py", line 411, in loadApplication 2018-02-08T15:08:47.582323+01:00 scribe.etb1.lan controle-vnc[24503]: passphrase) 2018-02-08T15:08:47.582535+01:00 scribe.etb1.lan controle-vnc[24503]: File "/usr/lib/python2.7/dist-packages/twisted/persisted/sob.py", line 224, in loadValueFromFile 2018-02-08T15:08:47.582747+01:00 scribe.etb1.lan controle-vnc[24503]: eval(codeObj, d, d) 2018-02-08T15:08:47.582980+01:00 scribe.etb1.lan controle-vnc[24503]: File "/usr/share/eole/controlevnc/controle_vnc_serveur.py", line 35, in <module> 2018-02-08T15:08:47.587350+01:00 scribe.etb1.lan controle-vnc[24503]: from connexions import Connexions, Session 2018-02-08T15:08:47.587865+01:00 scribe.etb1.lan controle-vnc[24503]: File "/usr/share/eole/controlevnc/connexions.py", line 28, in <module> 2018-02-08T15:08:47.588303+01:00 scribe.etb1.lan controle-vnc[24503]: TDB_HANDLER = tdb.Tdb(tdb_file, os.O_RDONLY) 2018-02-08T15:08:47.588676+01:00 scribe.etb1.lan controle-vnc[24503]: exceptions.IOError: [Errno 22] Invalid argument 2018-02-08T15:08:47.589114+01:00 scribe.etb1.lan controle-vnc[24503]: Failed to load application: [Errno 22] Invalid argument
Partages personnels¶
Dans /etc/samba/smb.conf (issu du template fourni par eole-ad-dc) :- supprimer les partages [netlogon], [homes], [profiles]
- aouter la ligne : include = /etc/samba/smb-include_shares.conf
Et générer ce fichier (template fourni par eole-scribehorus) avec :
CreoleCat -s /usr/share/eole/creole/distrib/smb-include_shares.conf -o /etc/samba/smb-include_shares.conf
Redémarrer le service eole-ad-dc
=> problèmes d'ACL