Intégrer un client linux sur un domaine windo

Fermé
diminou42 Messages postés 39 Date d'inscription dimanche 21 octobre 2007 Statut Membre Dernière intervention 30 octobre 2009 - 31 janv. 2008 à 16:44
 Serge - 7 juil. 2015 à 10:02
Bonjour,
est t-il possible d'intégrer un poste client linux mandriva dans un domaine windows 2003 server

14 réponses

Salut,

en effet, il peut être gênant de ne pas voir les machines Linux depuis un ou plusieurs contrôleurs de domaine.

Et, oui, il est tout à fait possible d'intégrer ta station Mandriva dans l'Active Directory d'un domaine.

L'exemple ci-dessous provient d'une Mandriva 2007 qui tourne sur Virtual PC 2007 au sein d'une forêt qui regroupe plusieurs domaines. Ma station tourne sous Windows XP Pro et le contrôleur du domaine sous Windows 2003.

Voici une méthode minimale pour le faire :

Préalable :

S'assurer que l'heure de la machine Linux est synchronisée avec un serveur NTP du domaine.
La validité d'un ticket Kerberos dépend de l'heure.
Installer les logiciels Samba client, krb5-user, winbind

Attention dans les exemples suivants, il est important de respecter la casse, mondomaine ou MONDOMAINE.

1) Mise en place d'un nom de domaine pleinement qualifié en modifiant le fichier /etc/hosts
Y placer la ligne suivante :
127.0.0.1 mondomaine localhost Nom_du_Pc

2) Modifier le fichier /etc/krb5.conf comme suit :

[logging]
default = FILE:/var/log/kerberos/krb5libs.log
kdc = FILE:/var/log/kerberos/krb5kdc.log
admin_server = FILE:/var/log/kerberos/kadmind.log

[libdefaults]
ticket_lifetime = 24000
default_realm = MONDOMAINE
default_tgs_enctypes = des3-hmac-sha1 des-cbc-crc
default_tkt_enctypes = des3-hmac-sha1 des-cbc-crc
permitted_enctypes = des3-hmac-sha1 des-cbc-crc
dns_lookup_realm = false
dns_lookup_kdc = false
kdc_req_checksum_type = 2
checksum_type = 2
ccache_type = 1
forwardable = true
proxiable = true

[realms]
MONDOMAINE = {
kdc = CONTROLEURDOMAINE.mondomaine:88
admin_server = CONTROLEURDOMAINE.mondomaine
default_domain = MONDOMAINE
}

[domain_realm]
.mondomaine = MONDOMAINE

[kdc]
profile = /etc/kerberos/krb5kdc/kdc.conf

[pam]
debug = false
ticket_lifetime = 36000
renew_lifetime = 36000
forwardable = true
krb4_convert = false

[login]
krb4_convert = false
krb4_get_tickets = false

3) Tester la configuration

Taper la commande : kinit nom_utilisateur
Taper son mot de passe du domaine

Taper la commande klist et vérifier qu'on obtient un ticket Kerberos valide.

En réponse, on un texte du genre :
Ticket cache : FILE:/tmp/krbc5cc_500
Default principal: nom_utilisateur@MONDOMAINE

Et aussi la date et l'heure de validité du ticket obtenu et sa date et heure d'expiration

4) Configurer samba en modifiant le fichier /etc/samba/smb.conf

Extraits :

[global]
# 1. Server Naming Options:
# workgroup = NT-Domain-Name or Workgroup-Name
workgroup = MONDOMAINE
realm = MONDOMAINE
password server = .mondomaine
client use spnego = yes

# netbios name is the name you will see in "Network Neighbourhood",
# but defaults to your hostname
netbios name = <LinuxVirtuel>

# server string is the equivalent of the NT Description field
#server string = Samba Server %v
server string =

# 4. Security and Domain Membership Options:
security = ads

# Use password server option only with security = server or security = domain
# When using security = domain, you should use password server = *
# password server = <NT-Server-Name>
password server = CONTROLEURDOMAINE.mondomaine

encrypt passwords = no

# Domain Master specifies Samba to be the Domain Master Browser. This
# allows Samba to collate browse lists between subnets. Don't use this
# if you already have a Windows NT domain controller doing this job
domain master = no

Puis

Créer les répertoires pour l'utilisateur et en modifier les permissions

mkdir /home/MONDOMAINE
chmod 777 /home/MONDOMAINE

Redémarrer les services samba et winbind

Joindre le domaine Windows 2003 à l'aide de la commande :

sudo net join -U nom_utilisateur -S (IP du controleur de domaine) sans les parenthèses

A ce stade, la machine doit être visible dans l'Active Directory :

5) Modifier l'ordre de recherche des sources de données en éditant le fichier /etc/nsswitch.conf

# For more information, please read the nsswitch.conf.5 manual page.
#

passwd: compat winbind
shadow: compat
group: compat winbind

hosts: files dns wins
networks: files

services: files
protocols: files
rpc: files
ethers: files
netmasks: files
netgroup: files
publickey: files

bootparams: files
automount: files
aliases: files

6) Tester la connexion :

Au préalable, redémarrer les services samba et winbind,

Vérifier la connexion au domaine à l'aide de la commande wbinfo -u
On obtient une liste des utilisateurs du domaine

Avec la commande wbinfo -g on visualise les groupes.

Il est possible de voir les bases de données passwd et group avec les commandes :
sudo getent passwd
sudi getent group

On doit retrouver dans la liste des identifiants du domaine Windows 2003, si c'est le cas, Kerberos est correctement configuré.

Il me reste à tester la configuration de PAM (Pluggable Authentication Modules) pour gérer l'authentification sous Linux pour que Kerberos soit accepté en parallèle à l'authentification Linux normale.

Il y aura sans doute des modifications à prévoir dans le fichier smb.conf pour autoriser la gestion de PAM
(obey pam restrictions = yes) et la création à la volée des répertoires pour l'utilisateur qui se connecte en vérifiant si la commande service=system-auth-winbind est présente dans le fichier /etc/pam.d/samba

Voilà, bon travail, et ne te décourage pas si tu croises encore un gars qui te dis : "y a qu'à utiliser Samba" ;)

Serge
22
ericstifler Messages postés 19 Date d'inscription jeudi 17 juillet 2008 Statut Membre Dernière intervention 23 juillet 2010
27 août 2009 à 10:40
bonjour désolé de vous déranger mais jai un problème urgent à régler avec ma config de krb5 . enfet je veux faire intégrer ma machine linux dans un domaine windows . jai suivi les config de serges et merci déjà mais jai un message d'erreur quand je fait kinit technique j'ai le message d'erreur suivant cannot resolvenetwork adress for kdc in requested realm while getting initial credentials

mon fichier /etc/hostame

ccm5

mon fichier /etc/hosts

127.0.0.1 CONNECTY localhost ccm5
127.0.0.1 localhost

# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

mon fichier /etc/krb5.conf

[libdefaults]
ticket_lifetime = 24000
default_realm = CONNECTY
# The following krb5.conf variables are only for MIT Kerberos.
dns_lookup_realm = false
kdc_req_checksum_type = 2
krb4_config = /etc/krb.conf
krb4_realms = /etc/krb.realms
kdc_timesync = 1
checksum_type = 2
ccache_type = 1
forwardable = true
proxiable = true

# The following encryption type specification will be used by MIT Kerberos
# if uncommented. In general, the defaults in the MIT Kerberos code are
# correct and overriding these specifications only serves to disable new
# encryption types as they are added, creating interoperability problems.

default_tgs_enctypes = aes256-cts arcfour-hmac-md5 des3-hmac-sha1 des-cbc-crc des-cbc-md5
default_tkt_enctypes = aes256-cts arcfour-hmac-md5 des3-hmac-sha1 des-cbc-crc des-cbc-md5
permitted_enctypes = aes256-cts arcfour-hmac-md5 des3-hmac-sha1 des-cbc-crc des-cbc-md5

[realms]
CONNECTY = {
kdc = SERVYDE.connecty:88
admin_server = SERVYDE.connecty
default_domain = CONNECTY
}


[pam]
debug = false
ticket_lifetime = 36000
renew_lifetime = 36000
forwardable = true
krb4_convert = false

[login]
krb4_convert = false
krb4_get_tickets = false


jespère que yaura kelkun pour me venir en aide merci davance
0