Partie 1 : Configuration de Debian avec votre Active Directory
Dans le cadre du PPE il est demandé de réaliser des travaux avec la mise en pratique de divers compétences. Dans ce sujet nous avons en place un Windows Server 2008 avec nos utilisateurs et nous désirons installer un serveur de fichiers SAMBA via la distribution Linux DEBIAN 6.0.3.
Mettez à jour votre Debian avec la commande « aptitude update » puis « aptitude dist-upgrade », mettez à jour vos source./etc/apt/sources.list
Si vous possédez des problèmes de dépendances, effectuez un apt-get install -f
deb http://ftp.fr.debian.org/debian/ squeeze main contrib non-free
deb-src http://ftp.fr.debian.org/debian/ squeeze main contrib non-free
## squeeze multimedia
deb http://www.debian-multimedia.org squeeze main non-free
deb-src http://mirror.home-dn.net/debian-multimedia squeeze main
# squeeze security
deb http://security.debian.org/ squeeze/updates main contrib non-free
deb-src http://security.debian.org/ squeeze/updates main contrib non-free
# squeeze update
deb http://ftp.fr.debian.org/debian/ squeeze-updates main contrib non-free
deb-src http://ftp.fr.debian.org/debian/ squeeze-updates main contrib non-free
Pour plus de confort vous pouvez créer un nouveau dossier partagé entre votre host et votre machine virtuelle via la commande :
Vmware
mount -t vmhgfs .host:/ /mnt/partage
Virtualbox
mount -t vboxsf NOMDUPARTAGEVB /mnt/partage
puis installez sur votre debian les deux package suivant : samba winbind
Configuration Windows Serveur 2008
- Nom de l’ordinateur: SRV1PPEGR5
- Nom Complet: SRV1PPEGR5.SRV1.PPEGR5.LOCAL
- Domaine: SRV1.PPEGR5.LOCAL
Adressage IP Windows Serveur 2008
- IP: 10.0.0.100
- Masque: 255.0.0.0
- Paserelle: 10.0.0.100
- DNS: 127.0.0.1
Configuration Debian
- Nom de l’ordinateur: SAMBALOCAL
- Nom Complet: SAMBALOCAL.SRV1.PPEGR5.LOCAL
- Domaine: SRV1.PPEGR5.LOCAL
Adressage IP Debian 6.0.3
- IP: 10.0.0.99
- Masque: 255.0.0.0
- Paserelle: 10.0.0.100
- DNS: 10.0.0.100
Si vous utilisez une interface graphique, vous pouvez utiliser l’utilitaire de gestion des paramètres du réseau disponible via Système/Administration/Réseau.
Sinon préferez l’interface console avec
En cas de soucis, redemarrez votre service Network avec
Vous devriez y voir cette configuration
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 10.0.0.99
netmask 255.255.255.0
gateway 10.0.0.254
dns-domain 10.0.0.100
dns-nameservers 10.0.0.100
Si vous désirez repasser en dhcp utilisez cette configuration:
allow-hotplug eth0
iface eth0 inet dhcp
Je marque votre attention sur le fait que les majuscules ne sont pas à ignorer lorsque vous travaillez sur le TP, Linux est très senssible à cela. Veillez à bien respecter la mise en forme.
Le fichier de configuration /etc/hostname Vous permet de configurer le nom de votre Machine Debian, équivalent du nom d’ordinateur sous Windows, pour éditer le fichier utilisez simplement la commande suivante :
Votre fichier doit contenir le nom de la machine que vous souhaitez donner à votre SAMBA.
Une fois en place votre nom netbios doit être déclaré dans votre DNS comme sur la capture d’écran ci-dessous.
Le fichier de configuration /etc/hosts permet la résolution du nom d’hôte de vos machines. Vous devez ainsi créer 3 entrées. Pour éditer le fichier utilisez simplement la commande suivante
Dans ce fichier vous devez insérer (une par ligne) les noms à résoudre. Dans mon projet PPE il s’agit de
10.0.0.100 SRV1PPEGR5.SRV1.PPEGR5.LOCAL SRV1PPEGR5
10.0.0.99 SAMBALOCAL.SRV1.PPEGR5.LOCAL SAMBALOCAL
10.0.0.100 SRV1.PPEGR5.LOCAL SRV1.PPEGR5.
/etc/resolv.conf
search SRV1.PPEGR5.LOCAL
nameserver 10.0.0.100
Synchronisez l’heure de votre Debian avec votre Active directory (Très important)
Le fichier /etc/samba/smb.conf vous permet de configurer votre serveur Samba, nous allons débuter par les paramètres globaux, nous configurerons les partages dans un autre billet.
Le nom netbios est le nom que possède votre debian sur le reseau, il s’agit du nom que vous avez renseigné lors de la configuration de /etc/hostname.
Le Realm est votre nom de domaine complet. Et le Workgroup est votre « Unité d’organisation », reprenez simplement la première occurrence de votre domaine.
L’option security spécifie que vous allez utiliser un « active directory » via le « ads » et le password server correspond à l’IP de votre Controleur de Domaine.(Ici 10.0.0.100, il s’agit de l’ip de votre machine Active directory)
Le reste des paramètres globaux ne sont pas à modifier.
Smb.conf : Si vous avez un soucis de droit d’accès au dossier c’est ici qu’il faut vérifier votre configuration, pensez également à appliquer un chmod -R 777 « votredossier » afin de réintialiser les droits pour samba sur vos dossiers de partage. Le -R applique récursivement les droits sur les dossiers enfants.
netbios name = SAMBALOCAL
server string = Samba Server
realm = SRV1.PPEGR5.LOCAL
workgroup = SRV1
password server = 10.0.0.100
security = ADS
idmap uid = 10000-20000
idmap gid = 10000-20000
winbind separator = +
template shell = /bin/bash
winbind use default domain = true
winbind offline logon = false
preferred master = no
server string = Samba Server version %v
encrypt passwords = yes
log level = 3
log file = /var/log/samba/%m
max log size = 50
printcap name = cups
printing = cups
winbind enum users = Yes
winbind enum groups = Yes
winbind nested groups = Yes
# Nom du patage
[Commun]
# Commentaire du partage
comment = Partage Document pour Tous
# Chemin du partage
path = /partage/partage_commun
# Lecture seul : Non
read only = no
# Navigable = Oui
browseable = yes
# Invité : Non
guest ok = no
# lors de la création d'un fichier, tous le monde peut le modifier
create mask = 0777
#lors de la création d'un répertoire, tous le monde peut le modifier
directory mask = 0777
[Direction]
comment = Partage reserve direction
path = /partage/direction
read only = no
browseable = yes
guest ok = no
create mask = 0777
directory mask = 0777
valid users = "@DOMAINE+admins du domaine","@DOMAINE+informatique", "@DOMAINE+direction"
[Informatique]
comment = Partage reserve Au service Informatique
path = /partage/informatique
read only = no
browseable = yes
guest ok = no
create mask = 0777
directory mask = 0777
valid users = "@DOMAINE+admins du domaine","@DOMAINE+informatique"
[Comptabilite]
comment = Partage reserve a la Compatabilité
path = /partage/comptabilite
read only = no
browseable = yes
guest ok = no
create mask = 0777
directory mask = 0777
valid users = "@DOMAINE+admins du domaine","@DOMAINE+informatique", "@DOMAINE+comptabilité"
[Bureau D'étude]
comment = Partage reserve au bureau d'étude
path = /partage/bureau_etude
read only = no
browseable = yes
guest ok = no
create mask = 0777
directory mask = 0777
valid users = "@DOMAINE+admins du domaine","@DOMAINE+informatique", "@DOMAINE+Bureau d'étude"
Redémarrez Samba avec
Le fichier /etc/nsswitch.conf assure la jonction sur l’athentification, sur quoi il se base pour l’authentification ici on lui indiquera WinBind afin que Winbind s’occupe de la liaison avec l’annuaire de votre AD.
group: compat winbind
shadow: compat
Le fichier /etc/krb5.conf permet de configurer Kerberos. C’est est un protocole d’authentification réseau qui se base sur l’attribution de « ticket » plutot que d’un mot de passe.
Ici, vous devez adapter les lignes default_realm, ainsi que les blocs, realms et domain_realm. Votre default_realm doit être similaire à celui présent dans votre smb.conf, il s’agit de votre nom de domaine complet.
default_realm = SRV1.PPEGR5.LOCAL
dns_lookup_realm = false
dns_lookup_kdc = false
default_keytab_name = /etc/krb5.keytab
[realms]
SRV1.PPEGR5.LOCAL = {
kdc = SRV1PPEGR5.SRV1.PPEGR5.LOCAL
admin_server = SRV1PPEGR5.SRV1.PPEGR5.LOCAL
default_domain = PPEGR5.LOCAL
}
[domain_realm]
.SRV1.PPEGR5.LOCAL = SRV1.PPEGR5.LOCAL
[appdefaults]
pam = {
ticket_lifetime = 1d
renew_lifetime = 1d
forwardable = true
proxiable = false
retain_after_close = false
minimum_uid = 0
debug = false
}
[logging]
default = FILE:/var/log/krb5libs.log
kdc = FILE:/var/log/kdc.log
admin_server = FILE:/var/log/kadmin.log
Votre debian est maintenant configuré correctement, on peut ajouter le SAMBA au domaine. Utilisez la précédure décrire ci-dessous.
Elle est bien entendu à adapter selon votre configuration, mon utilisateur « administrateur » est mon admin de domaine. Pensez à l’adapter selon votre compte.
net ads join -U administrateur -S SRV1.PPEGR5.LOCAL
Si vous recevez un message d’erreur du type ci-dessous vérifiez la configuration de votre DNS, et veillez à avoir ajouté une entrée pour votre SAMBA.(Voir capture d’écran ci-dessous.)
Il nous reste à cette étape 3 fichiers à modifier pour avoir la synchronisation entre notre active directory et notre Debian. Editez donc les fichiers ci-dessous en remplacant comme ci-dessous.
/etc/pam.d/common-account
account [success=2 new_authtok_reqd=done default=ignore] pam_unix.so
account [success=1 new_authtok_reqd=done default=ignore] pam_winbind.so
# here's the fallback if no module succeeds
account requisite pam_deny.so
# prime the stack with a positive return value if there isn't one already;
# this avoids us returning an error just because nothing sets a success code
# since the modules above will each just jump around
account required pam_permit.so
# and here are more per-package modules (the "Additional" block)
# end of pam-auth-update config
/etc/pam.d/common-auth
auth [success=2 default=ignore] pam_unix.so nullok_secure
auth [success=1 default=ignore] pam_winbind.so krb5_auth krb5_ccache_type=FILE cached_login try_first_pass
# here's the fallback if no module succeeds
auth requisite pam_deny.so
# prime the stack with a positive return value if there isn't one already;
# this avoids us returning an error just because nothing sets a success code
# since the modules above will each just jump around
auth required pam_permit.so
# and here are more per-package modules (the "Additional" block)
# end of pam-auth-update config
/etc/pam.d/common-session
session [default=1] pam_permit.so
# here's the fallback if no module succeeds
session requisite pam_deny.so
# prime the stack with a positive return value if there isn't one already;
# this avoids us returning an error just because nothing sets a success code
# since the modules above will each just jump around
session required pam_permit.so
# and here are more per-package modules (the "Additional" block)
session required pam_unix.so
session optional pam_winbind.so
session optional pam_ck_connector.so nox11
# end of pam-auth-update config
Redémarrez WinBind
Vous pouvez maintenant lister vos utilisateurs via la commande
Ou lister vos groupes d’utilisateurs via la commande
Essayez une authentification avec un compte de votre domaine
Testez maintenant la synchronisation entre Winbind et Nsswitch avec passwd qui vous indiquera la liste de vos utilisateurs et group qui vous lisetra vos groupes active directory et samba.
getent group
Une réflexion sur « Travaux Pratiques BTS SIO – Synchronisation d’utilisateurs Active Directory avec SAMBA »