Samba 4 problème authentification

Bonjour,

Je viens de configurer un serveur avec comme OS Debian Jessie.
J’ai configurer mon serveur pour qu’il soit membre d’un domaine Windows (winbind + samba4).
Je vois bien les groupes et utilisateurs de l’AD.
Si je partage un dossier avec Samba et que j’utilise des ACLs pour gérer les droits, les utilisateurs autorisés peuvent bien se connecter à partir d’un PC Windows 7.
Par contre, je n’arrive pas à mapper sous Windows un lecteur réseau en utilisant un autre compte que celui de la session. La fenêtre de connexion revient sans cesse. Je voudrais mapper un lecteur réseau utilisé uniquement par les membres du service informatique sur les sessions des utilisateurs.
Quelqu’un a-t-il déjà rencontré ce genre de problème ?

Merci d’avance

Excellente initiative. Pourrait-on en savoir plus sur le type de domaine Windows ? Version du ou des contrôleurs de domaine. Et du côté Jessie, est-ce une configuration basée sur /etc//samba/smb.conf ? Auquel cas, le contenu de ce fichier serait intéressant.

Moi, je ne les vois pas :grin:
Avez-vous fait une intégration avec le ‘nss’ name switch service ?

fp2x@drbuildbot:~$ aptitude  search  winbind | grep -e '^i'
i A libnss-winbind                  - Samba nameservice integration plugins
i A libpam-winbind                  - Greffon d'intégration de l'authentificatio
i   winbind                         - informations sur utilisateurs et groupes d

Félicitations. Quels paquets avez-vous installé ? (Cela m’intéresse bougrement ).

Là, sans sous-titre je ne comprends plus. Pouvez-vous reformuler ?
Quand vous parlez de session c’est une session ‘display manager’ aka gdm/lightdm/… ?

Rien compris, surtout la fin de la phrase sur les sessions des utilisateurs.

Cordialement,
Regards,
Mit freundlichen Grüssen,
مع تحياتي الخالصة

F. Petitjean
Ingénieur civil du Génie Maritime.
Bureau Veritas

« Un ordinateur c’est comme un frigo : on le branche et ça marche. »
Laurent Serano Directeur informatique, réunion Délégués du Personnel 2010

En 2009 nous avons réduit notre endettement qui n’est plus que de 1,5 fois le cash flow
Franck Piedelièvre le 29 janvier 2010. Les voeux du Président.

Bonjour,

Voici le résultat de la commande:

aptitude search winbind | grep -e ‘^i’

i libnss-winbind - Samba nameservice integration plugins
i libpam-winbind - Greffon d’intégration de l’authentificatio
i winbind - informations sur utilisateurs et groupes d

Les paquets installés sont:
ntpdate
krb5-user
samba
winbind
libnss-winbind
libpam-winbind

Pour expliquer mon problème, je vais prendre un exemple. Je crée un partage “UTILS” avec des droits en lecture-écriture pour le groupe “Informatique”. Les autres utilisateurs n’ont pas de droits sur ce partage. Cependant, quand les membres du service informatique interviennent sur un pc Windows 7 d’un utilisateur, ils ont besoin de monter le partage “Utils” pour installer un logiciel par exemple.
Quand j’essaie de monter le partage en cochant “utiliser un autre compte” (le compte de l’utilisateur n’a pas de droits), je n’arrive pas à m’authentifier avec un compte qui a les droits (la fenêtre d’authentification revient continuellement).

J’espère avoir été plus clair.

Merci

C’est effectivement plus clair.

Nous sommes en présence d’un problème typiquement Windows. Lorsque vous dites “monter en utilisant un autre compte” je suppose que c’est une option de l’explorateur. Vous faites comment exactement ? Car je ne trouve rien de mon côté (ces interfaces graphiques c’est invraisemblable).

A mon avis, dès que vous avez trouvé le serveur qui offre le partage “Utils” et que vous êtes simple utilisateur, c’est mort : votre Windows a envoyé les identifiants (credentials) de votre utilisateur lambda, le samba a accepté en notant bien que pour le partage “Utils” c’était niet.
Pour vous en convaincre, Démarrer Run cmd /F/ON et taper

klist

Vous avez les tickets Kerberos de votre utilisateur lambda.

La solution à tenter : le monsieur du service informatique débarque et dit

Pousse-toi de là que je m'y mette

Il ferme la session Windows (purge des tickets), ouvre la session à son compte, vérifie avec klist qu’il peut réaliser l’opération, installe son logiciel, ferme sa session et fait le reboot obligatoire :smile:
De retour à son bureau il indique dans son système de suivi “mission accomplie” et la fermeture du ticket entraîne l’édition d’une facture interne ( une heure de boulot à x euros de l’heure)

Si vous trouvez que cela revient trop cher en temps passé et en licences logicielles, vous suggérez de passer le parc sous Debian GNU/Linux :slight_smile:

Selon le type d’activité vous pouvez aussi vous poser la question de la pertinence du modèle de client lourd.

Une autre solution à tenter serait d’utiliser la ligne de commandes offerte par Windows, mais c’est sciemment mal documenté :grin: par exemple

C:\Temp>klist /?

Utilisation : Klist.exe [-lh <LogonId.HighPart>] [-li <LogonId.LowPart>] tickets
 | tgt | purge

C:\Temp>ksetup /?

UTILISATION :
/SetRealm <DnsDomainName>
        Inscrit cet ordinateur comme membre d'un domaine Kerberos RFC1510
/MapUser <Principal> [Account]
        Mappe une entité de sécurité Kerberos (« * » = toute entité de sécurité)

        à un compte (« * » = compte du même nom) ;
        Si le nom du compte est omis, le mappage est supprimé
        pour l'entité de sécurité spécifiée
....

C’est en Français, pas facile à trouver et pas vraiment facile à utiliser. Il y a aussi la commande nltest et beaucoup d’autre. Mais le fait qu’il n’y ait pas de commande man et donc pas de whatis ni de rubrique VOIR AUSSI n’aide pas vraiment.

Bon courage.

Cordialement,
Regards,
Mit freundlichen Grüssen,
مع تحياتي الخالصة

F. Petitjean
Ingénieur civil du Génie Maritime.
Bureau Veritas (capital social de 13 millions €)

En 2009 nous avons réduit notre endettement qui n’est plus que de 1,5 fois le cash flow
Franck Piedelièvre le 29 janvier 2010. Les voeux du Président.

Dieu règne au ciel, et l’argent sur la terre.
Proverbe allemand

Dans l’explorateur Windows, je fais clique-droit sur l’icône ordinateur / “connecter un lecteur réseau” puis je renseigne le chemin et je coche la case “Se connecter à l’aide d’informations d’identification différentes”.

Sinon, est-il possible sur un serveur samba membre du domaine AD de créer un partage utilisant des comptes locaux Linux (connexion avec nom_serveur_Linux\nom_utilisateur)?

Merci

Pourquoi faire simple quand on peut faire compliqué ? J’ai effectivement trouvé cet espèce d’habillage de

net use /?

Avec mes problèmes de vision, rien ne me rebute plus que de cliquer N fois, jouer sur la molette pour que ZoomText grossisse l’écran, pour finalement avoir un dialogue demandant le mot de passe réseau indéfiniment. De plus les logs samba n’indiquent quasiment rien !

J’ai rencontré un bug samba sur un système wheezy

fp2x@drhpcmss:/var/log/samba$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux 7.11 (wheezy)
Release:        7.11
Codename:       wheezy
fp2x@drhpcmss:/var/log/samba$

Pour que la connexion fonctionne (avec le système samba membre du domaine de l’AD), il faut indiquer une adresse UNC avec le numéro IP du serveur Samba, pas son nom. Pour des raisons assez obscures, si vous utilisez la syntaxe

\\Serveur\Utils

avec ce qui est envoyé par le client Windows 7 , le processus samba court-circuite un appel DNS (au contrôleur de domaine qui fait tout : résolution DNS, serveur DHCP, serveur Kerberos, serveur de temps, …) ce qui fait que l’authentification Kerberos ne reçoit pas le nom du client W7 mais son adresse IP et l’authentification échoue.

fp2x@drhpcmss:/var/log/samba$ ls -lApst | head
total 57948
 900 -rw-r--r-- 1 root root  915303 juin  28 12:25 log.wb-EUA
 404 -rw-r--r-- 1 root root  407257 juin  28 12:25 log.winbindd
  76 -rw-r--r-- 1 root root   70531 juin  28 12:24 log.smbd
 272 -rw-r--r-- 1 root root  270951 juin  28 12:13 log.ww7sms01drfp
 484 -rw-r--r-- 1 root root  490354 juin  28 12:09 log.winbindd-idmap
 536 -rw-r--r-- 1 root root  544130 juin  28 12:09 log.10.67.6.54
 488 -rw-r--r-- 1 root root  493730 juin  28 12:09 log.wb-DRHPCMSS
 156 -rw-r--r-- 1 root root  152077 juin  28 10:44 log.ww7frsms01aeg

Remarquez la coïncidence de date pour log.wb-DRHPCMSSet pour log.10.67.6.54 l’adresse 10.67.6.54 étant celle de la machine cliente.

Avec

\\IP_serveur\partage

la conversation est différente et le nom de la machine cliente est utilisée. Voir la date de log.ww7sms01drfp qui réussit.

Je vous suggère donc d’utiliser l’IP du serveur samba au lieu du nom. Par contre je vous déconseille d’utiliser votre méthode basée sur clique-droit car elle amène à un message d’erreur au moment de la déconnexion

C:\Temp>net use T: /DELETE
Il y a des fichiers ouverts et/ou des recherches en répertoire non terminées sur la connexion à T:.

D’accord pour continuer la déconnexion et forcer les fermetures ? (O/N) [N] : O
T: a été supprimé.

Evidemment, on ne sait pas quels fichiers sont ouverts, vraisemblablement des conneries de l’explorateur ou le fait que bien que vous n’avez pas coché une case “se rappeler” Windows tient à ne rien oublier :grin:

Comme tout bon professionnel, utilisez la ligne de commandes.
La méthode “connecter un lecteur réseau” c’est pour ceux qui ne savent pas ce que c’est qu’un chemin UNC.

Cordialement,
Regards,
Mit freundlichen Grüssen,
مع تحياتي الخالصة

F. Petitjean
Ingénieur civil du Génie Maritime.

« On ne perd pas son temps en aiguisant ses outils. »
Proverbe français

« Moi, lorsque je n’ai rien à dire, je veux qu’on le sache. » (R. Devos)

Super. En effet, en mettant l’adresse IP du serveur Samba au lieu du nom, ça fonctionne.

Je n’aurais pas trouvé seul.

Merci beaucoup.