Intégrer un client linux sur un domaine windo [Fermé]

Signaler
Messages postés
39
Date d'inscription
dimanche 21 octobre 2007
Statut
Membre
Dernière intervention
30 octobre 2009
-
 Serge -
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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 60511 internautes nous ont dit merci ce mois-ci

Messages postés
19
Date d'inscription
jeudi 17 juillet 2008
Statut
Membre
Dernière intervention
23 juillet 2010

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
Bonjour,

il faut suivre intégralement les instructions du début. Pour ce faire, il faut essentiellement éditer les fichiers dont les noms sont renseignés avec ton éditeur préféré. Personnellement j'emploie Vi mais il en y en d'autres plus récents et plus faciles d'emploi. Il faut de temps à autre relancer Samba et Winbind au cours du processus (samba restart et winbind restart).

Bien entendu, tu dois être administrateur du domaine pour appliquer complètement les directives.
Evidemment, il faut remplacer MONDOMAINE ou mondomaine par le nom qui va bien dans ton réseau.
Comme indiqué, il n'y a pas que Samba, l'accès au serveur NTP doit être possible, la partie Krb5 doit être installée et configurée, la partie winbind aussi, bref il faut lire et appliquer tout ce qui est décrit ci-dessus, sans exception.


Bon travail.

Serge
Re bonjour.

En ce qui me concerne, la gestion d'authentification via le PAM, j'ai testé sans, il suffit donc d'enlever les Hosts allow dans le fichier smb.conf et ça fonctionne.

Il semblerait que les deux options servent à appliquer une restriction plus pointue (restriction en gérant les réseaux autorisé en plus de gérer les utilisateurs authorisés dans l'active directory)
Messages postés
437
Date d'inscription
lundi 28 février 2005
Statut
Membre
Dernière intervention
24 juillet 2008
92
En quoi est-ce génant?
C'est assez intuitif.
Il faut utilisersamba pour être reconnu normalement :)
Bonjour Serge,

J'ai suivi votre message pour intégrer un Linux Mandriva dans un domaine AD w2003. La machine linux apparaît dans Computers de la console AD mais je n'arrive pas à me connecter au linux depuis Windows pour accèder au dossier partagé. Lorsque je tappe \\serveurLinux\dossier, j'ai une boite de dialogue qui me demande de me connecter. Cependant, administrateur du domaine + mdp ne fonctionne pas. J'ai donc été faire un tour sur le linux "sudo getent passwd" et la je n'ai aucun identifiant qui correspondent au domaine w2003, je suppose que le problème vient de là.
Selon votre message, cela viendrait de ma configuration de Kerberos? mais elle correspond à votre exemple... en revanche, wbinfo -u me donne bien la liste des users du domaine.

Auriez-vous une idée pour résoudre ce problème?

Julien
Bonjour,

voilà bien longtemps que je ne suis pas passé par le forum, désolé pour Julien.
Voici quand même quelques éléments de réponse pour propager l'information. Si ça peut servir à quelqu'un ...

Si les commandes klist et wbinfo ont fonctionné, la configuration de Kerberos est correcte.

En revanche, l'exposé ci-dessus concerne uniquement l'intégration dans l'active directory, pour le partage de fichiers, le travail n'est pas fini.

Il faut configurer, sur le serveur linux, les répertoires à partager. Via le centre de contrôle KDE, j'ai procédé comme suit :

(j'ai une version anglaise sous la main, je vous laisse le soin de traduire l'intitulé des options)

Dans la rubrique Internet & Network/Samba, passer en mode administrateur
Onglet Shares - Base settings, choisir Add New Shares, choisir le chemin d'accès au répertoire, lui donner un nom de partage et un commentaire (obligatoire). Dans les propriétés, cocher Browseable, Public et Available, si nécessaire Read Only.
Dans l'onglet Security, remplir la rubrique Hosts Allow pour identifier les machines qui peuvent se connecter, ça peut être une adresse générique du type 192.168. -> tout ce qui commence avec ce type d'adresse est admis.
Valider avec Ok puis Apply.


Ensuite,

il faut encore configurer le firewall du linux :
Via le centre de contrôle Mandriva cette fois,
Onglet Security, Setup Firewall, cocher l'option Files Sharing SMB.


Enfin, sur la station de travail Windows, se connecter soit en ligne de commande :
net use y: \\IP_du_Serveur_Linux\nom_du_partage

Le serveur doit demander le nom d'utilisateur (sous la forme nom_utilisateur@domaine et votre mot de passe.

soit via le poste de travail, menu Outils, connecter un lecteur réseau, comme pour un partage Windows.

Voilà, en espérant que ça fonctionne chez vous aussi.

Bon travail.

Serge
slt les amis
j'ai 1 post sous fedora et un controleur de domain sous windows 2003 server et je sais ps comment intégrer le client fedora sous mon DC.
merci bien pour votre aid
Bonjour Ennaji,

l'intégration de ton client ne dépend pas beaucoup de la distribution, ce sont les parties client type Kerberos qui sont importantes. Suis donc les explications ci-dessus et dis-nous ce que tu obtiens comme résultat.

Bon travail,

Serge
merci pr votre rep..
bon j'ai ps bien compri les explications je suis bet enlunix,mais je doit integrer un client fedora sous 1 DC win2003 server
j'ai chercher et j'ai trouver qu'il fait installer samba(yum install samba samba-client)j'ai déja fait ça mais le probleme est:je sais ps comment configurer le samba client pr qui'il soit membre de mon domain.
merci pr votre aid
Messages postés
239
Date d'inscription
jeudi 26 avril 2007
Statut
Membre
Dernière intervention
17 mars 2015
14
meerci out le monde
merci bien serge
merci bcps.
Bonjour,

Tout d'abord, Serge merci, un tuto comme on en voit rarement...

voila où j'en suis :
Après avoir suivit à la lettre ton tuto, j'ai pu me connecter depuis une machine Windows faisant partie du domaine à mon Serveur de partage Linux. J'arrive donc à accéder à \\linux-server\

Ensuite j'ai créé (grace au /etc/samba/smb.conf) un partage pour chaque utilisateur :

[%U]
         comment = Home Directory
         path = /home/%U
         valid users = %U
         browseable = Yes
         writable = yes


Mais c'est la que ça coince, avec ma machine Windows je me connecte à mon serveur de partage :
Démarrer => Executer => \\linux-server

Il m'affiche bien mon partage (aprés avoir créé le répertoire en local sur le serveur de partage) mais lorsque je veux y acceder, il me demande un login + mdp et aucun n'est valide.

J'ai fais toutes les vérif que je connaissais :
#getent passwd (les utilisateurs du domaine remontent bien)
#wbinfo -u et -g (les utilisateurs et groupes du domaine remontent bien)
#kinit administrateur (marche bien , et je vois le ticket grâce à klist)

J'ai oublié quelque chose, une option du pam.d ? c'est la que mes connaissances s'arrête...
J'ai l'impression que Samba ne fait pas le lien avec Kerberos ou winbind pour l'authentification.
Pour me connecter à partir de windows avec un compte du domaine il me dit que "le login ou le mot de passe est incorrect", mais lorsque je le fais avec un compte local (root) il me dit que "le compte référencé est actuelement vérouillé"

La je sais plus vers quoi m'orienter, une idée?
Bonjour Loïc,

tout d'abord, comme pour Julien, désolé pour la réponse tardive mais dans le même esprit, je réponds quand même, au cas où ça puisse servir à d'autres.

A mon avis, tu devrais d'abord essayer sans fournir ni nom ni mot de passe.

En fait, sur le serveur Linux qui me sert à tester les explications ci-dessus se trouve un répertoire partagé contenant des images ISO à destination de quelques utilisateurs pour des applications particulières et des images de CD d'installation à destination des techniciens qui se déplacent dans le bâtiment.
Tout ça pour dire que, dans ma grande fainéantise, j'ai configuré le partage en créant dans le fichier smb.conf une section
[ISOCD]
path = /media/hd2/Iso-Nrg-Nri
comment = Images ISO
writable = no

et dans le fichier smbusers
root = administrateur admin
nobody = guest pcguest smbguest

Et c'est tout, chaque utilisateur se trouvant dans le réseau peut se connecter au serveur et lire une image si ça lui chante, de toutes façons, l'accès n'est pas actif en écriture. Il y a aussi un partage du contenu de l'ISO comme dans le cas d'un CD virtuel mais c'est une autre histoire.

Donc, à l'aide de Windows, si via le Poste de Travail, je demande à connecter un lecteur réseau, il suffit de spécifier le nom du serveur et du partage //serveur/nom_du_partage, cliquer sur terminer et ne pas donner le moindre nom ou mot de passe. Et ça fonctionne. Si je veux spécifier un nom/mot de passe, la connection ne s'établit pas.

Ca ne réponds sans doute qu'en partie à ta question, si tu passes par le forum, dis-nous si ça fonctionne, on peut toujours se pencher ensemble sur l'accès par utilisateur. Je vais trouver un peu de temps pour tester ce cas de figure et je posterai en conséquence.

Bon travail,

Serge
> serge
Merci Serge , Cela fonctionne ! mais comme tu l'as dis je cherche une authentification par utilisateur.

Et la j'ai du faire au mieux en contournant le problème en utilisant NFS au lieux de Samba !
C'est dommage, car tes explications sont précisent et j'ai quand même pas réussi !

En tout cas merci quand même !!! Un grand merci plutot !
Bonjour et un grand MERCI pour ses explications !
J'ai ramé comme un dingue et il me manquait juste l'ajout du allow host pour que ça fonctionne !

Merci pour tout !

Juste une chose, je m'adresse donc à serge qui a gentiment donné la solution à mon problème (vive la communauté linux ^^)

Serge, peux tu expliquer deux trois petites choses concernant ton krb5.conf ?

Je n'ai pas la même config et surtout certaine de tes lignes mériterait peut être une explication (si possible bien sur) afin d'éviter de recopier bêtement ta config sans comprendre ce qu'on fait.

Voilà ta config cité plus haut
**********************************************************************
[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 ( a quoi sert les 3 lignes enctypes ??? )
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 ( peux tu expliquer la fonction de ses 5 options ??? )
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
*******************************************************************************************

Dans mon fichier krb5.conf, je n'ai pas ce qui suit et pourtant ça fonctionne quand même chez moi (j'ai une mandriva 2008 pour info au cas ou)

Donc ligne inexistantes dans mon fichier de conf

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


kdc_req_checksum_type = 2
checksum_type = 2
ccache_type = 1
forwardable = true
proxiable = true

Un grand merci d'avance si tu peux m'en dire plus !

Au cas ou (jfcflo@hotmail.com)
Messages postés
2
Date d'inscription
samedi 14 janvier 2012
Statut
Membre
Dernière intervention
22 janvier 2012

bonjour j'ai un exposé sur le meme sujet et linux j'y connais rien je vais le faire sur des machine virtuelles vmware je viens de telecharger ubunto 11.10 KDE SVP aidez moi ca fait des jours que je rame please !!!
Bonjour,

Le tuto est bien expliqué, mais il manque le coté Windows.

Comment configurer l'active directory pour que la configuration sous linux fonctionne ?

Merci.

Didier.
Bonjour à tous,

je reviens un peu par hasard sur ce fil de discussion.

En fait il n'y a rien à configurer dans l'active directory, l'intégration de la machine se fait avec la commande expliquée au début de la discussion :
"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"

Voilà en espérant que le fil continue à vivre, si j'ai du temps en été, je vais penser à une mise à jour.

Bon travail à tous,

Serge