Installation, Configuration et Administration SAMBA 4 AD

Bonjour à tous !

Aujourd’hui nous vous proposons un tuto (voir un cours) sur Samba 4.

Nous commençons par féliciter toute l’équipe du projet samba pour leur super boulot !

A ce jour, Samba AD est à la version 4.1.1. Cette version est livrée avec

  • Un annuaire LDAP Active Directory ;
  • Un serveur d’authentification Kerberos KDC ;
  • Un serveur DNS dynamique sécurisé ;
  • Le support de la version 3.0 du protocole SMB ;
  • Un serveur RPC (Remote Procedure Call) ;
  • La prise en charge des GPO ;
  • Le support de configuration via le service RSAT depuis un client Windows.
  • L’administration du domaine en ligne de commande se fait grâce à l’utilitaire samba-tool.

Tous les services fonctionnent sous un seul processus nommé samba.

** Avant de commencer!
Si vous souhaitez le mettre en place en entreprise, prenez le temps de bien le tester avant. Le Serveur qui sera mis en production devra être propre et l’installation de Samba doit se passer sans problème et sans bidouille :). Rappelons que Samba 4 ressemble beaucoup à un contrôleur de domaine Windows. Il est donc aussi fragile 😉

Notre exemple va être effectué sous Debian Wheezy 7.2 et Samba 4.1.1 .

Sommaire de : Installation, Configuration et Administration SAMBA 4 AD

I] Préparation & Installation

* Prévoir une machine Debian/Ubuntu et une en Windows 7

Toutes les manipulations seront faites sous root. Pour se connecter en root taper su puis le mot de passe. Sous ubuntu il faut activer root avant, pour cela faire

sudo passwd root

puis taper le mot de passe voulu.

  • Tout d’abord, vous devez configurer votre interface réseau en IP statique. (nous allons utiliser 192.168.1.140 comme IP pour ce contrôleur de domaine, debian01 pour le nom de la machine et CESI.LAN comme nom de domaine)

Editez votre fichier /etc/network/interfaces

Changez iface eth0 inet dhcp en iface eth0 inet static .

address 192.168.1.140
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1
dns-nameservers 192.168.1.140 192.168.1.1 (j'utilise ici le DNS de ma boxe, on peut également utiliser 8.8.8.8 dns de google)
dns-search cesi.lan
  • Configurez le fichier /etc/hosts .
127.0.0.1 localhost.localdomain localhost
192.168.1.140 debian01.cesi.lan debian01
  • Configurez le fichier /etc/hostname .
debian01.cesi.lan

puis rédemarrer le service hostname et network ou rédémarrez votre serveur :

/etc/init.d/hostname restart
/etc/init.d/networking restart
  • Configurer le montage du système de fichier

Editer le fichier /etc/fstab :

/dev/sda1 / ext4 defaults,user_xattr,acl,barrier=1 1 1

puis…

mount / -o remount,acl,user_xattr,barrier=1

pour que ce soit tout de suite pris en compte. Par sécurité, je préfère également redémarrer le serveur.
Pour utiliser les fonctionnalités avancées de Samba4 vous avez besoin d’un système de fichiers qui prend en charge les ACL et les attributs étendus.
L’option barrière=1 garantit que les transactions tdb (Tide Data Base) sont protegées contre les pertes de courant inattendues. Beaucoup ont corrompu leur base de données AD dans sam.ldb parce qu’ils n’avaient pas activé cette option.

  • Mettre à jour son système et installer les paquets nécessaires :
apt-get update && apt-get upgrade
apt-get install build-essential libacl1-dev libattr1-dev libblkid-dev libgnutls-dev libreadline-dev python-dev python-dnspython gdb pkg-config libpopt-dev libldap2-dev dnsutils libbsd-dev attr acl krb5-user docbook-xsl libcups2-dev libpam0g-dev ntpdate ntp -y

/!\ UPDATE : Sous Debian Jessie (v.8) le paquet libgnutls-dev n’existe plus et est remplacé par :  libgnutls28-dev . /!\

Vous allez être interrogé par kerberos sur le domaine etc… entrez cesi.lan et debian01 pour le serveur.

kerberos

  • Télécharger les sources de Samba 4 :
wget http://ftp.samba.org/pub/samba/samba-latest.tar.gz
  • Compiler les sources :
tar zxvf samba-latest.tar.gz
cd samba-latest
./configure --enable-debug --enable-selftest
make && make install

Tout dépend de la performance de votre ordinateur, cela peut prendre entre 10 à 30 min.

II] Configuration

  • Création du domaine (équivalent du dcpromo pour windows)

Attention! Il est préférable de supprimer /usr/local/samba/etc/smb.conf avant de lancer samba-tool. (Il se peut également que l’installation ne l’ai pas créé).

/usr/local/samba/bin/samba-tool domain provision --use-rfc2307 --interactive

L’option –use-rfc2307 active les attributs posix de l’AD de Samba. Cela crée aussi les informations NIS dans l’AD, ce qui vous permet d’administrer les UIDs/GIDs et autres paramètres UNIX (dans la table “Unix attributes” de l’ADUC…Active Directory Users and Computers). Il est plus simple de l’activer durant cette préparation (Provisioning), plutôt que par la suite. De plus, même si vous n’en avez pas (encore) besoin, ça n’impacte pas votre installation.
Par défaut la création de la forêt et du domaine va se faire en niveau fonctionnel Windows 2003. Il est possible de “upgrader” plus tard ou de le définir dès maintenant. Pour cela il faut inclure –function-level=2008_R2 à la commande de samba-tool.

Realm [CESI.LAN]: (press Enter)
Domain [CESI]: (press Enter)
Server Role (dc, member, standalone) [dc]: (press Enter)
DNS backend (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, NONE) [SAMBA_INTERNAL]: (press Enter)
DNS forwarder IP address (write 'none' to disable forwarding) [192.168.1.1]: (press Enter)
Administrator password: <your_secret_admin_password>
Retype password: <your_secret_admin_password>

Par défaut Samba4 installe SAMBA_INTERNAL, on peut également choisir d’utiliser Bind9 mais j’ai choisi de rester avec samba et la raison est simple: Bind ne gère pas les zones intégrées à l’Active Directory.

  • Rédemarrage du serveur
shutdown -r now
  • Démarrage de Samba

Note: si vous avez des services smbd, nmbd ou winbind d’une précédente installation, il est nécessaire de les arrêter avant de démarrer samba. Si vous prevoyez d’utiliser samba comme server de production, tapez simplement :

/usr/local/samba/sbin/samba

Cela démarre samba en mode ‘standard’, ce qui est préconisé en mode production. Samba ne dispose pas encore de scripts d’initialisation pour chaque plateforme, mais en écrire un pour votre plateforme ne présentera pas de difficulte, il y a des exemples de scripts sur la page Init-Script de Samba4. Si vous exécutez samba à des fin de développement, exécutez :

/usr/local/samba/sbin/samba -i -M single

Si la commande échoue, redémarrer samba :

killall samba
/usr/local/samba/sbin/samba
  • Vérifier les version de samba et smbclient

Note : Pour que Samba tourne sans problème, il faut que service smbclient installé sur le poste soit de la même version que le service samba.

/usr/local/samba/sbin/samba -V
/usr/local/samba/bin/smbclient -V

Les deux commandes doivent retourner la même version.

  • Tester les partages administratifs de SysVol, Netlogon, etc…
/usr/local/samba/bin/smbclient -L localhost -U%

Normalement il doit vous retourner quelque chose qui ressemble à ça :

Sharename Type Comment
--------- ---- -------
netlogon Disk
sysvol Disk
IPC$ IPC IPC Service (Samba 4.1.1)
  • Maintenant testons l’authentification :
/usr/local/samba/bin/smbclient //localhost/netlogon -UAdministrator%"votre password" -c 'ls'

Nota : Il se peut que vous obteniez une erreur. Essayez donc la commande suivante :

/usr/local/samba/bin/smbclient //localhost/netlogon -UAdministrator -c ‘ls’

Enter Administrator’s password:

il devrait vous afficher :

Domain=[MYDOMAIN] OS=[Unix] Server=[Samba 4.1.1]
. D 0 Sun Nov 17 21:40:08 2013
.. D 0 Sun Nov 17 21:42:36 2013
  • Nous devons finir la configuration DNS. Editez le fichier /etc/resolv.conf :
domain CESI.LAN
search CESI.LAN
nameserver 192.168.1.140

Vérifier que le DNS redirecteur est bien configuré dans samba :

nano /usr/local/samba/etc/smb.conf
verifier l'existance de la ligne :
dns forwarder = 192.168.1.1
  • Configurons maintenant Kerberos :

Editez le fichier /usr/local/samba/share/setup/krb5.conf et remplacez $(REALM) par CESI.LAN . Attention à toujours mettre le nom de domaine en majuscules dans kerberos!

copier ce fichier crée par samba dans /etc.

cp /usr/local/samba/share/setup/krb5.conf /etc

EDIT 07/05/2015 :

Le mieux est tout de même que soit mis à jour automatiquement si vous le modifiez au niveau de samba. Pour ça, créez un lien symbolique au lieu de copier le fichier :

ln -sf /usr/local/samba/share/setup/krb5.conf /etc/krb5.conf
  • Redémarrage du serveur puis démarrage du service samba (vu précédemment)
  • Testons le dns puis kerberos :
host -t SRV _ldap._tcp.cesi.lan

_ldap._tcp.cesi.lan has SRV record 0 100 389 debian01.cesi.lan.

host -t SRV _kerberos._udp.cesi.lan

_kerberos._udp.cesi.lan has SRV record 0 100 389 debian01.cesi.lan.

host -t A debian01.cesi.lan

debian01.cesi.lan has address 192.168.1.140.

Tester la connexion Kerberos :

kinit administrator@CESI.LAN
klist -e
klist -e

klist -e

Si vous recevez une erreur similaire à celle ci :

kinit: Generic preauthentication failure while getting initial credentials

Vous devrez régénérer le mot de passe pour le compte Administrator à l’aide de :

samba-tool user setpassword Administrator
  • Pour avoir une bonne configuration il faut configurer la synchronisation horaire avec NTP :
nano /etc/ntp.conf

ntp utilise plusieurs serveurs pour se mettre à l’heure, afin d’augmenter sa précision en cas d’indisponibilité ou d’erreurs d’un serveur. Leurs adresses sont écrites dans le fichier /etc/ntp.conf, dans les différents champs server. Pour le moment, Debian y a placé une liste de serveurs répartis dans le monde, mais il est plus efficace d’utiliser des serveurs proches, situés dans le même pays. Si vous êtes en France, vous pouvez donc remplacer ces lignes par :

server 0.fr.pool.ntp.org iburst dynamic
server 1.fr.pool.ntp.org iburst dynamic
server 2.fr.pool.ntp.org iburst dynamic
server 3.fr.pool.ntp.org iburst dynamic

L’option iburst signifie qu’en cas d’indisponibilité du serveur, ntp essaiera plusieurs fois avant d’abandonner. L’option dynamic permet de conserver dans la configuration les serveurs indisponibles, au cas où ils seraient à nouveau accessibles plus tard.

ntp est en fait un démon, qui tourne en permanence sur votre système afin de maintenir l’horloge à l’heure et de corriger sa dérive. Après avoir modifié sa configuration, vous devez donc le relancer :

/etc/init.d/ntp restart

III] Administration

Votre DNS ne dispose pas encore de zone inversé (comme sous windows), il faut donc la créer.

Pour la zone inversé , il est plus facile à faire à partir de la console dnsmgmt.msc sur un client Windows XP mais si vous voulez le faire en ligne de commande il suffit d’utiliser la commande suivante:

samba-tool dns zonecreate xxx.xxx.xxx.in-addr.arpa --username=administrator (où xxx.xxx.xxx son les premiers 24 bits de l’adresse réseau)
samba-tool dns zonecreate debian01 1.168.192.in-addr.arpa --username=administrator (le réseau est 192.168.1.x)

Actuellement votre domaine est au niveau fonctionnel 2003. Si vous n’avez pas utilisé l’option –function-level=2008_R2 lors de la création de domaine vous pouvez le faire maintenant:

  • Élever le niveau du domaine:
/usr/local/samba/bin/samba-tool domain level raise --domain-level=2008_R2
  • Élever le niveau de la forêt:
/usr/local/samba/bin/samba-tool domain level raise --forest-level=2008_R2

Par défaut le mot de passe Administrator expire au bout de 42 jours. Pour le désactiver, utilisez la commande suivante :

/usr/local/samba/bin/samba-tool user setexpiry administrator --noexpiry

On peut créer des utilisateurs par exemple en ligne de commande comme ci-dessous :

user add

EDIT 26/11/2014 : Pour vous faciliter la vie vous pouvez ajouter les outils de samba4 dans $PATH.

Pour cela :

echo "export PATH=$PATH:/usr/local/samba/sbin:/usr/local/samba/bin" >> /root/.bashrc
source /root/.bashrc

 

  • Administration depuis Windows :

Nous pouvons joindre un PC windows au domaine puis installer les outils d’administration pour gérer l’AD et le DNS depuis l’interface windows:

Nota : Pour joindre un pc au domaine il faut bien rajouter dans les paramètres DNS l’addresse IP du serveur Samba4.

ip_dns_samba4

Joindre un pc au domaine: bien mettre cesi.lan dans le nom de domaine. ATTENTION ! Le nom d’utilisateur est Administrator et non Administrateur !

Jonction au domaine Bienvenue dans le domaine...

Pour pouvoir administrer l’AD depuis Windows, il faut télécharger les outils RSAT pour Windows 7 :

AD + GPO

On peut également utiliser la console DNS pour gérer le serveur DNS.

——————————

Un tuto sur l’administratation avancée du serveur samba4 est également disponible ici : http://www.bidouilleit.com/2015/10/23/administration-avancee-de-samba4-ad/

A bientôt sur bidouilleit.com !

– Bruno Sousa –

Partagez...Share on FacebookTweet about this on TwitterShare on Google+Email this to someoneDigg thisShare on StumbleUponShare on LinkedInPin on PinterestPrint this page

164 réponses

  1. bonjour,
    bien le tuto ! Et j’ai une question: je test actuellement ubuntu 12.04 LST pour remplacer mon domaine en Mandriva CS4 et je voudrais savoir si je peux appliquer ton tuto sur ma config de test d’ubuntu ? Sachant que j’ai un ldap actif (de test aussi) un partage…. A savoir aussi, que si je plante tout, je recommence.

    Merci

  2. Bonjour Bernard,
    Pour appliquer la config sur un ubuntu 12.04 il n’y aura aucun soucis normalement.
    Par contre, tu veux faire fonctionner ensemble Samba4 avec CS4 ou séparément ?

    Test bien l’installation et la configuration avant la mise en production.
    A+

  3. Bonjour,
    Merci pour le tuto, j’ai cependant un probleme avec kerberos.
    Lors de cette étape: “kinit administrator@PROJET.LOCAL
    la commande me retourne: “Cannot contact any KDC for realm ‘PROJET.LOCAL’ while getting initial credentials”
    J’ai déjà eu cette erreur en suivant d’autre tuto et je n’ai jamais su d’où cela venais.

    Si tu as une idée, je te remercie d’avance 🙂

    • Salut! Ton problème je l’ai connu une fois quand j’ai essayé de joindre un pc linux à un domaine windows.
      Tu es sur quoi comme distrib ?

      T’a edité le fichier /usr/local/samba/share/setup/krb5.conf et remplacé $(REALM) par PROJET.LOCAL ? Attention a toujours mettre le nom de domaine en majuscules dans kerberos!

      copie ce fichier crée par samba dans /etc.

      “cp /usr/local/samba/share/setup/krb5.conf /etc”

      Tu es sur que ton samba est démarré aussi.
      Je te conseille de redémarrer ton serveur et ensuite démarrer samba puis réssayer.

      Est-ce que tu es sur un vm du type virtualbox etc…?
      regarde par ici aussi : http://www.usqcd.org/fnal/troubleshooting.html

      En espérant t’avoir aidé !

      A+

      • Salut,
        Je suis sur Debian Wheezy (7.2) virtualisé avec VirtualBox.
        J’ai bien remplacé $(REALM) par PROJET.LOCAL puis copié le fichier dans /etc
        J’ai réussi a joindre un client Windows au domaine de samba mais il fallait que je précise que le DNS devait être mon serveur virtuel.

        Le client windows peux donc rejoindre le domaine mais lorsque j’essaie la config à distance avec RSAT: j’ai un message d’erreur à cause de kerberos. J’ai lu sur internet que ça pouvait venir du DNS mal configuré mais je ne sais pas où chercher.

        En tout cas merci d’avoir répondu rapidement. Si tu as une idée concernant ce problème, je suis preneur ! 😉

        • Ok.
          Merci pour ces infos.
          Comment as tu configuré tes cartes réseaux dans Virtualbox pour ta Debian et ton client Windows ? En “pont/bridge” ou en nat ?
          Que contient ton fichier /etc/network/interfaces ? Et /etc/resolv.conf ?

          Desactive aussi tout pare-feu sur les windows (physique et virtuel).

          A +

  4. bonjour
    super tuto bien expliqué, j’ai essayé sur une debian 7.3 (en VM sur OpenNebulae) et à la commande:
    root@debian01:~# /usr/local/samba/bin/smbclient -L localhost -U%
    j’obtiens:
    session setup failed: NT_STATUS_CONNECTION_REFUSED

    j’ai refait la commande (en supprimant le smb.conf avant):
    /usr/local/samba/bin/samba-tool domain provision –use-rfc2307 –interactive
    (faut rajouter l’option –use-ntvfs sinon ca plante)

    mais pareil

    ca viendrait de quoi?

    bruno

  5. je me reponds encore à moi meme:

    la cmde:
    /usr/local/samba/bin/smbclient //localhost/netlogon -UAdministrator%”votre password” -c ‘ls’

    n’a pas l’air de passer

    par contre en faisant cette cmde ca marche:

    /usr/local/samba/etc# /usr/local/samba/bin/smbclient //localhost/netlogon -UAdministrator -c ‘ls’
    Enter Administrator’s password:
    Domain=[CESI] OS=[Unix] Server=[Samba 4.1.5]
    . D 0 Wed Mar 12 08:26:40 2014
    .. D 0 Wed Mar 12 08:26:45 2014

    49388 blocks of size 4194304. 46390 blocks available

    quel bor.. ces install de samba 4 qd meme ;-))

      • un dernier point:
        pour joindre un pc au domaine il faut bien renseigner le DNS sur le pc windows en mettant l’ip du serveur samba (ici 192.168.1.140) car sinon il ne trouvera jamais le domaine.
      • Effectivement ! C’est un oubli de ma part.
        Merci pour la remarque, je vais corriger ça !

        Pour la mise au domaine du PC Windows effectivement il faut mettre l’ip du serveur samba, je n’avais pas pensé à le mettre mais ce sera fait !

        Encore merci.
        A+

    • Ah ouais ? Bah c’est intéressant de le savoir.
      Je pense que ça doit venir des différences entre les versions . Moi j’ai fait le tuto en 4.1.1 et toi tu as testé 4.1.5.

      Dernièrement j’ai voulu installer la 4.1.4 et j’ai remarqué quelques petites différences aussi.

      • Oui oui ! En fait vu qu’il faut le faire aussi sur un domaine fait par Windows Serveur, dans ma tête c’était logique, mais c’est vrai que c’est intéressant de l’indiquer.
        Je vais le faire ! 🙂

        Merci.

    • no problemo pour le partage, j’ai créé un partage test dans /usr/local/samba/etc/smb.conf:

      [test]
      path = /home/test
      read only = No

      puis créé le dossier /home/test avec les droits w pour pouvoir écrire dedans:

      chmod a+w /home/test

      et meme depuis un pc non connecté au domaine cesi.lan j’arrive à écrire dans \192.168.1.140test (en m’authentifiant avec un user créé avec samba-tool user add.

      je continue encore..

      • j’ai installé le RSAT sur XP et 8.1. pas de pb pour dsa.msc, gpmc.msc j’ai créé qq gpo sans souci, une tuerie ce samba4 vraiment
        par contre le gpudate pour la prise en compte des gpo me donne un msg d’erreur sous 8.1 alors que ca passe nickel sur xp bizarre..
        je m’attaque au CUPS ..
      • Concernant les GPO’s il est vrai que je n’ai pas pu tester sous Windows 8.1 mais ça ne m’étonnerais pas qu’il y ai des bugs. Surtout si t’a laissé le niveau de domaine en 2003(par défaut).

        Et bah bon courage! En tout cas c’est sympa de voir qu’il y a des gens qui s’intéressent à ce genre de projet.

        Merci également pour tous les commentaires et infos que t’a pu fournir au travers des tests et remarques.

        ps : j’ai mis à jour l’article.

    • Concernant les partages, le tuto est prévu mais pas encore en cours… C’est un tuto sur l’administration avancée de Samba4.
      Je mettrais à ce moment là peut-être une partie sur lamcms.
  6. oui pas de pb mais comment ca marche? y a des cases à cocher? fo repondre?

    sinon j’ai installé cups:
    http://formation-debian.via.ecp.fr/imprimante.html
    pour avoir l’interface web cups depuis n’importe ou:
    http://www.novell.com/support/kb/doc.php?id=7004934
    j’ai réussi à créer qq imprimantes reseaux (driver PPD) et les pages de test depuis le serveur fonctionnent
    j’ai ensuite créer les imprimantes sous windows xp:
    http://www.commentfaiton.com/fiche/voir/48896/comment-configurer-un-client-windows-pour-un-serveur-cups
    mais j’ai des erreurs ds les log cups:
    Returning IPP client-error-not-authorized for Print-Job
    et ca se met en erreur sur le windows
    bizarre..

    • Tu peux faire les deux, voter et répondre avec un petit commentaire.

      C’est super ce que tu fais. Tu fais ça dans un but de veille ou dans une entreprise ?

      Pour ton problème si tu veux tu peux créer un sujet de discussion dans notre forum pour qu’on puisse regarder. Mais si non essaye simplement de supprimer l’imprimante, la remettre, bien vérifier qu’elle est partagée et l’installer sous windows avec les pilotes fournis par le fabricant (et non generic) et si t’es sous W7 par exemple il faut rajouter la fonctionnalité “Client d’impression Internet”.
      Je te laisse regarder ce lien qui est très bien expliqué : http://www.linuxpedia.fr/doku.php/imprimante_partage_cups

      A+

  7. merci pour l’info je vais regarder ton lien et faire le sondage

    c’est pour une collectivité: remplacement d’un ad+exchange 2000 avec 50 postes clients
    l’objectif est de ne plus utiliser Krosoft.
    pour la messagerie j’ai testé bluemind qui est vraiment tres facile à installer et compatible tous smartphones. Pour les imports des bal + calendriers outlook. Faut juste payer 450€ une seule fois pour avoir les tools

    j’ai plus que les imprimantes à valider et tout sera nickel!

    • pb résolu, j’ai bien relu ton lien et j’avais oublié un truc con: le partage de l’imprimante
      il faut donc aller sur l’interface web du cups, imprimantes, sélectionner l’imprimante faire modifier imprimante, cliquer sur continuer et là faut cocher la case ‘partager cette imprimante’.
      J’ai recréé l’imprimante sur le vindose, désactivé le parefeu (on sait jamais) et miracle ca print!
      je vous paye la glace italienne les gars (paypal), merci pour le coup de pouce.
      je vais faire plus compliqué maintenant: intégrer un copieur canon avec driver ufr II
      si ça marche je me convertis, promis.
      autre pb, le blaireau a paumé son user donc je peux pas voter vous l’avez pas par hasard?
      ça devient la bible ce post..
      • impec j’ai réussi à installer le copieur canon en pilote UFR II. Par contre faut bien penser à utiliser le driver fourni par le constructeur et correspondant à la plate-forme cliente (xp 32 bits ici). Ca marche pas sinon.
        Je suis un homme comblé.
    • D’accord ! c’est cool ça ! Il est là le vrai avantage de samba 4 ! Virer les produits microsoft de nos parcs !

      Ok moi j’aurais pensé à Postfix mais pourquoi pas bluemind.

  8. tiens par contre ds l’interface web faut pas cliquer sur ‘Imprimer une page de test’ depuis la maintenance de l’imprimante: i m’a descendu une ramette de 500 pages blanches, j’ai du arrêter le copieur en urgence ;-((
  9. ah si i me reste encore un truc à faire:
    des partages samba avec des gestions de sécurité c.a.d mettre en place des lecteurs réseaux pour des users, groups avec des niveaux d’accès différents:
    rw pour le user, read pour le groupe du user, rw pour le chef etc..
    je continue..
  10. bon ben y a pas besoin de se tracasser fo aller sur le windows clic droit sur le partage et aller dans sécurité et là on adapte les droits d’accès en fonction des utilisateurs/groupes
    Les trous de sécurité se gèrent par ce biais
    mais j’aimerais bien trouver comment faire avec le samba-tool dsacl et ntacl
    par curiosité..
    • oui merci pour le lien, je connaissais déjà un peut cette technique par contre avec samba-tool dsacl et ntacl j’ai toujours rien trouvé. J’ai testé tous les composants dont j’avais besoin je vais maintenant monter ma VM de pré production.
  11. Bonjour, je me suis lancé dans l’installation de samba pour mon entreprise. J’in installé une débian 7.4 sur un serveur Dell PowerEdge T110II. J’ai ensuite suivi le tuto (la version actuelle de samba étant la 4.1.6). Impossible d’installer samba, j’ai une erreur au niveau du make && make install. ca se termine par : File “/root/samba-4.1.6/buildtools/wafadmin/Node.py”, line 420, in abspath AttributeError: ‘NoneType’ object has no attributs ‘cache_node_abspath’ make: *** [all] Erreur 1
    Quelqu’un a-t-il rencontré ce problème ? Merci pour votre aide.
  12. Bonjour
    Impossibilité de faire du dynamic dns update par dhcp.
    Je réalise des tests en labo, l’objectif étant de prévoir une migration vers samba 4.
    J’ai un server Ubuntu trusty 14.04 et un desktop Ubuntu 12.04. Lors de la mise à jour du dns, j’ai le message unable to add forward map from billpc.geovar.lan to 10.1.130 :not found
    j’ai installé samba(4.1.6), ntp, cups, bind9, isc-dhcp-server.
    Dans dhcpd.conf je fais appel un script pour faire la mise à jour automatique du dns.
    Quand j’exécute le script manuellement avec l’utilisateur dhcp la mise à jour ce fait. Par contre quand la mise à jour doit se lancer automatiquement j’ai le message “Unable to add forward map from bobpc.geovar.lan to 10.1.1.30 : not found”.
    J’ai mis en disable usr.sbin.dhcpd et usr.sbin.named, qulequ’un aurait une piste?
    J’ai rajouté dans dhcpd.conf :
    on commit {
    set ClientIP = binary-to-ascii(10, 8, “.”, leased-address);
    set ClientName = pick-first-value(option host-name, host-decl-name);
    execute(“/etc/dhcp/update.sh”, “add”, ClientIP, ClientName);
    }
    on release {
    set ClientIP = binary-to-ascii(10, 8, “.”, leased-address);
    set ClientName = pick-first-value(option host-name, host-decl-name);
    execute(“/etc/dhcp/update.sh”, “delete”, ClientIP, ClientName);
    }
    on expiry {
    set ClientIP = binary-to-ascii(10, 8, “.”, leased-address);
    set ClientName = pick-first-value(option host-name, host-decl-name);
    execute(“/etc/dhcp/update.sh”, “delete”, ClientIP, ClientName);
    }
    Le script update.sh :
    #!/bin/bash
    # Begin /etc/dhcpd/update.sh
    set -x
    # Variables
    KRB5CC=/tmp/krb5cc_`id -u`
    KEYTAB=/etc/dhcp/dhcpd.keytab
    DOMAIN=geovar.lan
    REALM=GEOVAR.LAN
    PRINCIPAL=dhcp@${REALM}
    NAMESERVER=pdc1.${DOMAIN}
    ZONE=${DOMAIN}
    ACTION=$1
    IP=$2
    HNAME=$3
    export KRB5CC KEYTAB DOMAIN REALM PRINCIPAL NAMESERVER ZONE ACTION IP HNAME
    /etc/dhcp/dnsupdate.sh -m &
    # End /etc/dhcpd/update.sh
    Le script dnsupdate.sh :
    set -x
    sleep 5
    # Disassemble IP for reverse lookups
    OCT1=$(echo $IP | cut -d . -f 1)
    OCT2=$(echo $IP | cut -d . -f 2)
    OCT3=$(echo $IP | cut -d . -f 3)
    OCT4=$(echo $IP | cut -d . -f 4)
    RZONE=”$OCT3.$OCT2.$OCT1.in-addr.arpa”

    kerberos_creds() {
    export KRB5_KTNAME=”$KEYTAB”
    kinit -k -t “$KEYTAB” “$PRINCIPAL” || { logger -s -p daemon.error -t dhcpd kinit for dynamic DNS failed; exit 11; }
    klist
    }
    add_host(){
    logger -s -p daemon.info -t dhcpd — [add_host] Adding A record for host $HNAME with IP $IP to zone $ZONE on server $NAMESERVER
    logger -s -p daemon.info -t dhcpd — [add_host] samba-tool dns add $NAMESERVER $ZONE $HNAME A $IP -k yes
    samba-tool dns add $NAMESERVER $ZONE $HNAME A $IP -k yes ${DEBUG}
    host -t A $HNAME >/dev/null
    if [ “${?}” != 0 ]; then
    logger -s -p daemon.error -t dhcpd — [add_host] Failed adding A record for host $HNAME with IP $IP to zone $ZONE on server $NAMESERVER
    fi
    }
    delete_host(){
    logger -s -p daemon.info -t dhcpd — [delete_host] Removing A record for host $HNAME with IP $IP from zone $ZONE on server $NAMESERVER
    logger -s -p daemon.info -t dhcpd — [delete_host] samba-tool dns delete $NAMESERVER $ZONE $HNAME A $IP -k yes
    samba-tool dns delete $NAMESERVER $ZONE $HNAME A $IP -k yes ${DEBUG}
    host -t A $HNAME >/dev/null
    if [ “${?}” == 0 ]; then
    logger -s -p daemon.error -t dhcpd — [delete_host] Failed removing A record for host $HNAME with IP $IP from zone $ZONE on server $NAMESERVER
    fi
    }
    update_host(){
    CURIP=$(host -t A $HNAME | cut -d ” ” -f 4)
    logger -s -p daemon.info -t dhcpd — [update_host] Removing A record for host $HNAME with IP $CURIP from zone $ZONE on server $NAMESERVER
    logger -s -p daemon.info -t dhcpd — [update_host] samba-tool dns delete $NAMESERVER $ZONE $HNAME A $CURIP -k yes
    samba-tool dns delete $NAMESERVER $ZONE $HNAME A $CURIP -k yes ${DEBUG}
    host -t A $HNAME >/dev/null
    if [ “${?}” == 0 ]; then
    logger -s -p daemon.error -t dhcpd — [update_host] Failed removing A record for host $HNAME with IP $CURIP from zone $ZONE on server $NAMESERVER
    fi
    add_host
    }
    add_ptr(){
    logger -s -p daemon.info -t dhcpd — [add_ptr] Adding PTR record $OCT4 with hostname $HNAME to zone $RZONE on server $NAMESERVER
    logger -s -p daemon.info -t dhcpd — [add_ptr] samba-tool dns add $NAMESERVER $RZONE $OCT4 PTR $HNAME.$DOMAIN -k yes
    samba-tool dns add $NAMESERVER $RZONE $OCT4 PTR $HNAME.$DOMAIN -k yes ${DEBUG}
    host -t PTR $IP >/dev/null
    if [ “${?}” != 0 ]; then
    logger -s -p daemon.error -t dhcpd — [add_ptr] Failed adding PTR record $OCT4 with hostname $HNAME to zone $RZONE on server $NAMESERVER
    fi
    }
    delete_ptr(){
    logger -s -p daemon.info -t dhcpd — [delete_ptr] Removing PTR record $OCT4 with hostname $HNAME from zone $RZONE on server $NAMESERVER
    logger -s -p daemon.info -t dhcpd — [delete_ptr] samba-tool dns delete $NAMESERVER $RZONE $OCT4 PTR $HNAME.$DOMAIN -k yes
    samba-tool dns delete $NAMESERVER $RZONE $OCT4 PTR $HNAME.$DOMAIN -k yes ${DEBUG}
    host -t PTR $IP >/dev/null
    if [ “${?}” == 0 ]; then
    logger -s -p daemon.error -t dhcpd — [delete_ptr] Failed removing PTR record $OCT4 with hostname $HNAME to zone $RZONE on server $NAMESERVER
    fi
    }
    update_ptr(){
    CURHNAME=$(host -t PTR $IP | cut -d ” ” -f 5)
    logger -s -p daemon.info -t dhcpd — [update_ptr] Removing PTR record $OCT4 with hostname $CURHNAME from zone $RZONE on server $NAMESERVER
    logger -s -p daemon.info -t dhcpd — [update_ptr] samba-tool dns delete $NAMESERVER $RZONE $OCT4 PTR $CURHNAME -k yes
    samba-tool dns delete $NAMESERVER $RZONE $OCT4 PTR $CURHNAME -k yes ${DEBUG}
    host -t PTR $IP >/dev/null
    if [ “${?}” == 0 ]; then
    logger -s -p daemon.error -t dhcpd — [update_ptr] Failed removing PTR record $OCT4 with hostname $CURHNAME to zone $RZONE on server $NAMESERVER
    fi
    add_ptr
    }
    case “$ACTION” in
    add)
    kerberos_creds
    host -t A $HNAME.$DOMAIN > /dev/null
    if [ “${?}” == 0 ]; then
    update_host
    else
    add_host
    fi
    host -t PTR $IP > /dev/null
    if [ “${?}” == 0 ]; then
    update_ptr
    else
    add_ptr
    fi
    ;;
    del|delete)
    kerberos_creds
    host -t A $HNAME.$DOMAIN > /dev/null
    if [ “${?}” == 0 ]; then
    delete_host
    fi
    host -t PTR $IP > /dev/null
    if [ “${?}” == 0 ]; then
    delete_ptr
    fi
    ;;
    *)
    echo “Error: Invalid action ‘$ACTION’!” && exit 12
    ;;
    esac
    # End samba-dnsupdate.sh
    Fgdsg
    Fuyu

    Pouvez-vous me donner une piste, svp.

    • Salut !
      Ton problème n’a pas l’air simple… Mais pour m’éclairer un peu, pourrais-tu me dire qui est exactement “l’utilisateur dhcp” et qui est “10.1.1.30”?

      En attendant je te souhaite bonne chance.

      A+

  13. Bonjour,

    Quand je lance la commande /usr/local/samba/bin/smbclient -L localhost -U%

    J’obtiens : Connection to localhost failed (Error NT_STATUS_CONNECTION_REFUSED)

    Je n’ai aucun autre serveur DNS (bind ou autres), mon debian est vierge. Je travaille sous VirtualBox

    Cordialement,

    Merci.

    • Salut Anthony,

      A mon avis tu as un problème de config carte réseau ou alors ton service samba n’est pas démarré.

      Essaye:
      killall samba
      /usr/local/samba/sbin/samba

      Si non tu peux me fournir ton fichier /etc/network/interfaces ?
      As tu fait ton installe en dhcp ou en ip fixe ? et as-tu modifié ton fichier interfaces depuis le début du tuto ?

      Merci.

      A+

      • Salut salut,

        Merci pour ta réponse.

        Donc j’ai essayé d’effectuer un killall samba il m’indique “samba : aucun processus trouvé” donc ça ne sent déjà pas très bon. (étrange car j’ai bien installé samba, les répertoires ect.. ont étaient crées.)
        Quand je fais /usr/local/samba/sbin/samba, il y a un petit temps de réponse mais il prend bien en compte la commande.

        Voici mon fichier interfaces :

        # This file describes the network interfaces available on your system
        # and how to activate them. For more information, see interfaces(5).

        # The loopback network interface
        auto lo
        iface lo inet loopback

        auto eth0
        iface eth0 inet static
        address 192.168.1.10
        netmask 255.255.255.0
        network 192.168.1.0
        broadcast 255.255.255.0
        gateway 192.168.1.1
        dns-nameservers 192.168.1.10 81.18.176.75
        dns-search layati.lan

        Ps: Je suis sous virtualbox, en accés par pont.

      • Je ne vois qu’une erreur sur ton fichier. Il s’agit de la ligne broadcast. Selon ta config réseau ton broadcast devrait être 192.168.1.255 .
        Ta box ou routeur est bien en 192.168.1.1 ? et c’est quoi 81.18.176.75 ?

        A+

  14. D’accord, effectivement il y avait une erreur.
    Oui mon routeur est bien en 192.168.1.1, 81.18.176.75 c’est l’adresse DNS de ma box (Wibox)
    Par contre j’ai refait le TP en cours, avec la box en 192.168.1.1 et le DNS en 192.168.1.1 mais j’ai une erreur quand je fais la commande /usr/local/samba/bin/saùba-tool domain provision –use-rfc2307 –interactive
    J’ai pris un screen de l’erreur voici : http://imageshack.com/a/img834/36/91gh.png

    Merci.

    • PS: Ca fonctionne avec la commande
      sudo /usr/local/samba/bin/samba-tool domain provision –use-rfc2307 –interactive –use-ntvfs

      Tout le reste fonctionne sauf pour samba-tool, il me dit commande introuvable. Il faut peut-etre que je l’install avec la commande sudo apt-get install samba4-common-bin ?

      • J’ai réglé ça avec la commande export PATH=/usr/local/samba/bin:/usr/local/samba/sbin:$PATH

        Maintenant j’essaie de joindre le domaine via Windows 7, mais il y a une erreur quand je rentre Administrator et son mot de passe : L’erreur suivant s’est produite lors de la tentative de Jonction au domaine “layati.lan”
        Cette opération n’est utilisé que sur le controleur de domain principal du domaine

        J’ai essayé de changer les clés de registres, mais j’ai toujours la même erreur.
        J’ai entendu dire qu’il fallait rajouter la machine dans samba avec le $.
        Je cherche…

        Merci.

      • Je vois pas trop pourquoi ça pourrait te faire ça. Mais regarde tes services sur W7, regarde si “Assistance TCP/IP NetBios” est bien demarré. Si non essaye avec un autre PC/VM W7, et si tu peux essaye avec un XP aussi.

        A+

      • J’ai re-testé avec Ubuntuserver 12.04, tout fonctionne correctement, j’arrive à joindre le domaine sans erreur.

        Merci pour le tuto et l’aide !
        Juste deux questions (Désolé pour toutes ces questions ^^’)

        Mon formateur me dit qu’avec SAMBA_INTERNAL, on ne peut pas gérer plusieurs serveurs (par exemple installer fog, trixbox ect…) il dit que seul bind9 permet de gérer plusieurs serveurs.

        Puis 2eme questions, à quand le tuto sur l’administration avancé ? 😛

        Encore merci. C’était assez compliqué de trouver un bon tuto en FR qui indique précisement ce qu’il faut faire.

        Tchao…

      • Cool ! 🙂 ça fait plaisir que t’ai réussi à boucler l’install !
        Pour répondre à tes questions…

        Je ne vois pas pourquoi tu ne pourrais pas gérer plusieurs serveurs avec SAMBA_INTERNAL. En tout cas avec SAMBA_INTERNAL l’installation se passera plus simplement et avec moins problème. Aucun travail supplémentaire est nécessaire pour le mettre en place. Actuellement, il couvre les éléments importants et nécessaires pour AD.
        Avec BIND9 tu pourra planifier les configurations DNS complexes ou des fonctions spéciales (zone de transferts depuis hôtes définis, etc), qui ne sont actuellement pas pris en charge par le DNS interne.
        Cependant tu peux très bien changer de DNS après avoir fini l’installation.(cf https://wiki.samba.org/index.php/DNS#Changing_the_DNS_backend)

        Concernant le tuto sur l’administration avancée il est actuellement dans les brouillons. Cependant en ce moment on se concentre surtout sur le transfert du site vers bidouilleit.com . Mais je vais essayer de faire avancer le tuto et le terminer 🙂

        A+

  15. bonjour à tous,
    mon objectif: installer un contrôleur de domaine pour un réseau d’environ 50 postes très hétérogène: debian wheezy, xubuntu, w7 et des macs !
    des avis sur les problématiques liées à la solution samba4 ?
    -joindre un mac OS au domaine
    -garder bind comme dns?
    -tests?
    merci pour vos idées
  16. Bonjour,
    Félicitations pour ce tuto.
    Merci au nom de beaucoup qui ne prendrons pas le temps d’envoyer un message d’encouragement.
    Très cordialement,
  17. Bonjour,

    Je viens de suivre ce très bon tuto pour la création de mon domaine, mes félicitations !!

    Cependant, je n’arrive pas à joindre mes client win8 au domaine, pourtant je créé bien les utilisateur…

    Ce que je souhaiterais, c’est avoir un groupe admin et un groupe user, puis les dossiers de partages se trouverons sur mon NAS… mais je manque de compétences, et vu le tuto, je pense qu’elles sont ici les compétence ;).

    Y aurait il une personne qui pourrais m’aider à mettre tout ça en place…
    Ah oui… rsat win8 à un problème d’actualisation avec mon controleur de domaine… est-ce normal ?

    Merci à tous pour votre aide et d’avoir pris le temps de lire…

    Bonne continuation, très bon travail…

    Christian

    • Bonjour,
      Tu essaie de joindre tes Win8 avec tes utilisateurs ou avec le compte Administrator ?

      Pour ton NAS : C’est quoi comme NAS ? Synology?FreeNAS ?etc.. Tu peux très bien faire un partage NFS entre ton NAS et ton Linux puis partager les dossiers. Si non sur ton NAS tu peux peut-etre le joindre au domaine, faut savoir ce que c’est.

      N’hésite pas à poser des questions pour qu’on t’aide.

      A+

  18. Re,

    petit oubli, le compte admin fonctionne par-contre, en clair je n’ai pu mettre qu’un seul client…

    Encore merci

    cordialement,
    Christian

  19. Bonjour,

    Avez vous des retours d’une mise en production d’un domaine avec samba4 ? J’ai testé, c’est plutôt bluffant. Je me pose la question pour un réseau de plus de 600 postes (linux et w7). Quel dimensionnement de serveur ? Redondance ? Exploitation ?

    Merci pour vos retours.

    a+

  20. Bonjour,

    Avez vous mis le samba 4 en production dans une entreprise ? Avec combien de client ? Je me pose la question pour créer une infra pour environ 500 à 600 postes. J’ai installé le samba4 sur un ordi pour tests, franchement je suis bluffé !! Merci à tous

  21. Tuto tres excellent; je l’ai suivi et tout marche impeccable. le seul hic est venu de RSAT où je n’arrive pas à ajouter le serveur SMB 4.1.8 dans le centre d’administration Active Directory. Par contre je reussis à manipuler les Utilisateurs et Ordinateurs d’Active Directory sans problème ainsi que le DNS.
    Grand merci pour ce partage je l’ai realisé sous Debian 7.5.0 + Samba 4.1.8
  22. Salut ! Je vous félicite et vous encourage a continuer votre site web ! je suis moi aussi en GMSI 😉
    J’ai mis en place ce tuto que j’ai trouver en anglais, tout fonctionne, mais j’ai deux petits problèmes
    – J’ai créer tous mes “users” “group” j’ajoute bien les “postes clients” au domaine, les gpo redescende bien (fond écran, lecteurs réseaux, etc) les droit d’accès au partage, d’écriture sont actif. J’ai mis en partage mes imprimante et mon traceur, mais les pilotes que j’ai placer dans le partage “print$” ne sont pas localiser automatiquement. j’ai sans doute zapper un gros détail. Je doit donner le chemin du pilote pour chaque poste client.
    – Je souhaiterais donner aux “Domain Users” le droit d’installation de logiciel sur les postes clients sans les placer dans le groupe “Domain Admins”.

    Si vous avez une idée je suis à l’écoute, bonne journée !

    • Salut !
      Merci 🙂
      J’ai besoin de connaitre quelques détails pour mieux t’aider.
      Quand tu dis que tu doit donner le chemin du pilote pour chaque poste client ? C’est à quel moment ? Dans la GPO ? Sur le poste ?etc…
      Tes postes clients sont des Windows ou des Linux ?
      il ressemble à ça ton fichier /etc/samba/smb.conf ?
      ########## Printing ##########
      load printers = yes
      printing = cups
      printcap name = cups
      printer admin = root

      [printers]
      comment = Imprimantes
      path = /var/spool/samba
      browseable = yes
      public = yes
      guest ok = yes
      writable = no
      printable = yes
      printer admin = root
      use client driver = no

      [print$]
      comment = drivers pour imprimantes
      path = /etc/samba/drivers
      browseable = yes
      guest ok = yes
      read only = yes
      write list = root
      inherit permissions = yes

      t’a fait comment pour mettre à disposition les drivers Windows ?
      Est-ce que t’a fait comme ça ?
      “Mettre les drivers Windows à dispositions sur le serveur linux :

      Sur un client Windows :

      Faire « démarrer » puis « exécuter »

      Taper : « \\adresse_ip_du_serveur\print$ »

      Renseigner le nom d’utilisateur et le mot de passe de « root »

      Se rendre ensuite dans « imprimantes et télécopieurs » Faire un clique droit sur l’imprimante concernée puis « propriété ». S’il y a un message vous disant qu’il faut installer les drivers, répondre « non ».

      Se rendre sur l’onglet « avancé » puis sélectionner « nouveau pilote ». Il faut alors indiquer les drivers de l’imprimante. A partir de là, les drivers Windows sont recopiés sur le partage samba. Après la copie des drivers, refaire « cupsaddsmb -H localhost -U root -a » pour qu’ils soient pris en comptes dans cups.
      Installation d’une imprimante sur un poste client sous Windows.

      Faire « démarrer », « exécuter » puis rentrer l’adresse IP du serveur.

      Double cliquer sur l’imprimante souhaitée, puis répondre oui.

      Et là, les drivers windows sont recopiés du serveur vers votre PC, et l’imprimante et ensuite installée sur le PC.”


      Pour autoriser les utilisateurs du domaine a installer les imprimantes d’un serveur d’impressions il faut éditer une gpo et faire ceci :
      •Configuration Ordinateur > Stratégies > Modèles d’administration > Imprimantes > Restrictions Pointer et Imprimer > Désactivé
      •Configuration Utilisateur > Stratégies > Modèles d’administration > Panneau de configuration/Imprimantes > Restrictions Pointer et Imprimer > Désactivé
      Il est important de le faire cela pour les deux types de configuration (Ordinateur et Utilisateur).

      En espérant t’avoir aidé !
      A+

  23. Bonjour,

    Je te remercie pour ton aide et rapide en plus 😉

    Pour plus de précision j’ai mon parc d’une trentaine de postes clients sous Windows 7 x86, mon serveur Centos 6.5 avec SAMBA, mes deux imprimantes, mon traceur et mon par feu PFSense qui me sert aussi pour le dhcp, DMZ, NAT, VPN, proxy, etc..

    J’avais déjà suivi toute cette méthode sur un site anglais. Mais dès que j’ajoute ces lignes à mon fichier smb.conf :
    “printing = cups
    printcap name = cups
    printer admin = root”

    Les sessions users ne s’ouvrent plus sur le DC mais en session temporaire local. Je n’ai donc plus d’accès au partage et j’obtiens un fond d’écran noir car les gpo ne redescendent plus. A la limite ce problème n’est pas une priorité car je n’ai qu’une trentaine de poste à configurer donc je leur indiquerais le chemin des pilotes.

    Sinon pour donner le droit d’installation aux “utilisateurs du domaine” sans les ajouter au groupe “admins du domaine” j’ai trouver une solution. Heureusement que je n’ai qu’une trentaine de poste et que les utilisateur ne change que très rarement de poste. Il faut effectuer la manipulation sur chaque poste et pour chaque utilisateur.

    Je me connecte en admin local sur le poste client sous Windows 7, je lance “executer” je tape “control userpasswords2” et j’ajoute l’utilisateur du domaine qui utilisera ce poste en administrateur, j’utilise cette méthode car aucune restriction n’est appliquée dans notre société, et je conserve toujours ma sécurité sur mon domaine.

    Bonne continuation à vous !

  24. Hello,

    Super tuto, j’avais mis en stand-by l’install d’un samba 4 en attendant de voir des retours d’expérience d’admins sur le terrain. Je vois qu’il y a maintenant des installations qui fonctionnent en production je vais donc m’y mettre aussi. Mon objectif : unifier la base de compte utilisateurs Linux/Windows et les partages, insérer les postes (et serveurs?) linux sous le même openldap.

    Bref , le graal étant d’avoir un seul annuaire permettant de tout centraliser : les postes/les serveurs, les ressources, et les comptes

    Encore merci pour le tuto et comme bcp je serais intéressé par une suite admin avancée de ce tuto.

    Sinon, bonnes vacances tout de même ! ;-))

  25. Bjr super tuto j’ai essayer sa marche nickel!! Je voudrai savoir quelqu’un a un tutoriel pour la mise en place pour la creation de lecteur reseau des dossier partager et u script pour qu’elle monte automatiquement. Merci d’avance
  26. Bonjour !
    J’ai suivi votre tuto pour mettre en place un serveur controleur de domaine samba4 sur Debian Wheezy(7.5) et ça avait l’air de marcher, le domaine existe bien et je peux y ajouter des machines.

    Cependant apres y avoir rajouté une machine client test sous windows 7 j’ai voulu utiliser RSAT pour l’administration… mais en vain car la seule réponse que j’obtiens est “Le domaine n’a pas pu être trouvé car: le serveur n’est pas opérationnel”. Pour info quand je fais changer de domaine, mon domaine apparait dans la liste des suggestions, mais dans l’explorateur quand je regarde le réseau je ne vois pas le serveur.(mais les pings fonctionnent très bien).

    Pour info j’ai réussi à connecter un serveur samba3(futur serveur de fichiers) sur le domaine et même si je ne vois pas non plus le serveur controleur de domaine dans le réseau ça à l’air de fonctionner à peu pres. (J’ai récupéré les utilisateurs et groupes du controleur, la commande net ads info me donne bien toutes les infos demandées…)

    Si vous avez une idée je suis preneur! Merci

    • Salut !
      T’a essayé de redémarrer ton serveur Samba4 ?
      Est-ce que ton windows 7 a bien les paramètres réseaux qu’il faut ? DNS, passerelle etc…
      Peux-tu faire un diag avec la commande “dcdiag” depuis windows 7 ?
      Essaye par exemple : “dcdiag /s:nomduserveursamba4”.
      Attention à toujours faire ces tests en admin du domaine !

      En esperant t’avoir aidé.
      Tiens moi au courant.
      A+

  27. bonjour;
    j’ai installer la version samba 4.1.9 sous debian wheezy 7.6.0, en suivant votre tuto, tous fonctionne bien, sauf que je ne peux pas appliquer mes GPO avec RSAT windows 7 (GPMMC). voici l’erreur retourner avec la command ./samba-tool gpo aclcheck
    ERROR(runtime): uncaught exception – (‘Could not find a DC for domain’, RuntimeError(‘NT_STATUS_OBJECT_NAME_NOT_FOUND’,))
    File “/usr/local/samba/lib/python2.7/site-packages/samba/netcmd/__init__.py”, line 175, in _run
    return self.run(*args, **kwargs)
    File “/usr/local/samba/lib/python2.7/site-packages/samba/netcmd/gpo.py”, line 1120, in run
    self.url = dc_url(self.lp, self.creds, H)
    File “/usr/local/samba/lib/python2.7/site-packages/samba/netcmd/gpo.py”, line 117, in dc_url
    raise RuntimeError(“Could not find a DC for domain”, e)
    • Bonjour,
      Apparament il y aurait un bug avec la commande ./samba-tool gpo aclcheck . Les développeurs de samba4 essayent de corriger le problème.

      Quand tu dis que tu ne peux pas appliquer les gpo via RSAT, t’arrive au moins à les créer et les éditer?

      A+

      • Bonjour;
        Merci pour votre retour, OUI effectivement j’ai pu crée et édité, mais pas appliquer. est ce que ils ont corrigé ça dans la version 4.1.10.
        Merci d’avance
  28. Bonjour;
    finalement j’ai constaté que les GPO marche très bien, en effet c’est les stratégies de sécurité de compte Windows que on peut pas modifier avec RSAT Microsoft, (la complexité du mot de passe, la longueur etc)
    aussi j’ai testé le déploiement du logiciel mais ça marche pas je pense.

    F.TALEB

  29. Bonjour et bravo pour ce tuto et tous les commentaires qui en découlent.
    Une question cependant vis à vis de la version de Kerberos utilisée: est encore du Heimdal ou est-ce enfin du MIT ? J’ai voulu me lancer dans l’expérience de samba 4 pour emplacer mon serveur 2008 R2 sur lequel tourne mon AD, mais j’ai été confronté au probleme de la comptaibilité, ou plutot l’incompatibilité avec la version de Kerberos que j’utilise et celle proposée par Samba 4.

    LMP

  30. Superbe tuto

    Par contre, j’ai eu un problème au niveau de kerberos. En remplaçant le fichier de conf se trouvant dans /etc par celui généré par samba, le kinit n’a pas fonctionné.
    Il a fallu que j’ajoute le contenu du fichier généré dans le /etc/krb5.conf.

    Par contre, n’ayant aucune connaissance de kerberos, je me demande si ce que j’ai fait ne pose pas de problème ?

    Système : Wheezy
    Version de Samba : 4.1.11 installée par les backports

  31. Bonjour,

    C’est un super tuto, il fonctionne parfaitement.
    Merci!

    Pensez-vous faire un tuto dans le genre sur la gestion des GPO ?
    En effet je suis en train d’essayer d’utiliser les GPO pour faire une redirection de dossier mais je rencontre quelques soucis…

  32. Hello,

    Merci pour ta réponse!
    J’ai finalement réussi!

    Le problème venait des droits sur le dossier vers lequel je redirigeais… Et non pas de Samba 🙂

    A+!

  33. Bonjour,

    J’aurais aimer savoir si tu étais parvenue à migrer un Ad de 2003 server vers samba 4. J’ai essayer diverses méthodes mais sois sa ne marche pas sois les profiles utilisateur ne veulent pas souvrir.

    Merci d’avance.

  34. Bonjour,

    Merci Bruno pour ce tuto.

    J’ai installé samba4 (AD 2008 R2) ubuntu 14.04 LTS qui fonctionne correctement sauf pour les créations des utilisateurs à partir d’un RSAT sous windows 8.1 pro.

    Impossible de créer des utilisateurs ni de modifier les mots de passe à travers le RSAT.

    Quelqu’un a ces genres de problèmes ?

  35. salut !
    un grand merci pour ce tuto, le seul complet que j’ai trouvé en français et qui m’a permit de monter un AD dans ma boite en quelques jours !!
  36. bonjour j’ai une question ! ^_^
    j’aimerais intégrer mais ubuntu a mon serveur samba et j’aimerais utiliser les profils du serveur samba mais likewise-open ne fonctionne pas pouvez vous m’aider ???????????????? svp

    merci thierryb

  37. Bonjour à tous

    je suis actuellement le tuto étape par étape, et je suis un peu perdu sur l’édition du fichier fstab

    Voici ce que j’ai à l’écran : farao95.free.fr/captlinux

    Je fais les manips sur debian Jessie

    PS : j’ai eu aussi un petit problème à l’étape du dessus (pour restart le hostname), j’ai eu message d’erreur comme quoi le fichier n’existait pas, mais en redémarrant et en faisant hostname, il est bien affiché le bon hostname. Peut on concidérer que j’ai résolu ce soucis ?

    d’avance merci pour votre aide

  38. C’est encore moi, j’ai pris l’initiative de remplacer errors=remount-ro 0 0 0 par defaults,user_xattr,acl,barrier=1 1 1.

    Un autre problème : apparemment libgnutls-dev n’est pas dispo pour jessie. J’ai installé libgnutls-openssl27.

    Ai je bien fait ?

    Cordialement

        • Est-ce que t’a ajouté les outils de samba4 dans $PATH ? avec la commande suivante :
          echo "export PATH=$PATH:/usr/local/samba/sbin:/usr/local/samba/bin" >> /root/.bashrc
          source /root/.bashrc

          Est-ce que t’execute bien ta commande en root ?
          Si non si ton install est fonctionnelle, la commande avec le chemin complet devrait fonctionner :
          /usr/local/samba/bin/samba-tool
          • Oui je viens faire la manip à priori ça a l’air de fonctionner. merci bien

            J’ai réussi du coup à aller jusqu’au bout du tuto.

            Je test actuellement l’install de rsat sur win8.1.
            Par contre le 8.1 si je lui indique l’@ IP dns, je n’ai plus accès au net

  39. Bon je bloque à nouveau, pour tester la connexion kerberos, changer le mot de passe administrator je dois taper :
    samba-tool user setpassword Administrator

    Mais j’ai un message d’erreur : bash: samba-tool : commande introuvable

  40. Salut salut

    Bon du coup je refais une reinstall complete histoire de bien comprendre.

    Déjà un petit truc, lorsque l’on compile la souce de samba :
    cd samba-latest ne fonctionne pas, j’ai du faire cd samba-4.2.3

    Sinon je suis plus vigilant sur tout ce qui concerne DNS, et le premier hic c’est lorsque je crée le domaine.
    Dans la partie dns forwarder ip adress, je n’ai pas l’adresse IP de ma gateway mais du dns de free (212.27.40.241) et j’ai fais entrer
    Ensuite dans resolv.conf j’ai dès le départ:
    nameserver 212.27.40.241
    nameserver 21.27.40.240
    Et j’ai rajouté nameserver 192.168.0.15 (IP de mon serveur)
    ai je bien procédé ?

    Et dans smb.conf je trouve –> dns forwarder = 212.27.40.241
    Est ce bon ?

    J’attends une réponse avant d’aller plus loin dans le tuto

    D’avance merci

    • Alors réponse à moi même :

      Dans la partie dns forwarder ip adress : c’est bon

      Dans le fichier resolv.conf il faut enlever les deux adresses dns de free.

      dans smb.conf je n’ai rien touché et ça fonctionne.

      Mon pc a bien le net lorsque je lui donne l’adresse ip du serveur comme adresse dns.

      Par contre pour intégrer mon pc au domaine, je fais :
      ctrl+pause
      modifier les paramètres
      dans l’onglet nom de l’ordinateur : modifier –> membre d’un domaine (et j’écris le nom de mon domaine) –ok. je réussi à intégrer le domaine . ça redémarre etc.

      j’essaye RSAT, et là j’ai un message d’erreur qui me dit que je ne suis pas en domaine

      Je test alors différemment :

      ctrl+pause
      modifier les paramètres
      dans l’onglet nom de l’ordinateur : identité sur le réseau –> cet ordinateur appartient… ma societé utilise –> je tape le nom de l’utilisateur que je viens d’ajouter avec samba-tool
      Il me dit bien qu’un compte pour cet ordinateur (nom_de_mon_pc) a été trouvé dans le domaine voulez vous l’utiliser –> oui ET là patatra accès refusé

      Doit on faire un compte ordinateur dans samba, ou est ce qu’il y une histoire de droit quelque part ?
      Je comprends pas trop là.

      Sinon juste pour info, cela ne m’a servi à rien d’élever le niveau de domaine et foret, je suis plus haut (donc si je dis pas de bêtise en 2012)

      Excuse moi Bruno si je pollue les commentaires, tu me le dis si ça te dérange, je me dis que ça peux toujours aider en même temps les newbies comme moi qui se lancent dans linux.
      Je connais un peu windows server, mais pas du tout linux côté serveur.

  41. Bonjour,
    est-ce qu’il existe une possibilité d’administrateur le domaine Samba4 par le web ? Avec Webmin ou un truc comme ça ?

    Je suis pas réfractaire au ligne de commande et fichiers de conf, mais chez nous, il faut qu’un néophytes puisse apporter des modif, une web admin serait plus pratique pour cela.

    Merci pour votre réponse.

  42. Bonjour

    J’ai mis en place samba 4 (v 4.3.3) tout semble fonctionné correctement.
    Je mes PC peuvent rejoindre le domain, les tests de résolution DNS fonctionnent.
    Mais je n’arrive pas à me connecter à distance à l’AD pour la gestion (RSAT).
    J’ai une erreur:
    Impossible de trouver un serveur disponible sur le domain xxxxxx qui execute les services Web Active directory.

    Auriez vous une idée sur la ce qui peut poser problème.

    Merci

      • Bonjour, et merci de ton aide 🙂

        Le PC tourne sous Windows 7, il appartient au domaine et je suis connecté avec le compte Administrator.

        Samba est installé sur Centos 7.1 compilé à partir des sources en suivant ton tuto (en adaptant à la distrib bien sûr).

  43. Bonjour

    J’ai suivi le tuto jusqu’à la fin, tous les tests fonctionnent mais lorsque j’essaye de joindre un pc w10 au domaine j’ai m’erreur suivante: le chemin réseau n’a pas été trouvé.

  44. Bonjour,
    après la configuration de Kerberos (remplacement de $REALM par le nom de notre domaine), j’aurai voulu savoir pourquoi on doit copier le fichier “krb5.conf” dans “/etc” ?
    Merci.
    • Bonjour,
      On copie le fichier car celui créé dans /etc a été créé automatiquement par l’installation de Kerberos mais n’est pas complet et “propre” alors que celui de Samba est déjà bien écrit. Et puis il faut que les deux soient en accord, c’est pour ça que je propose aussi de faire un lien “ln -sf ….”.
      J’espère avoir répondu à ta question !
      A+
  45. hello,

    Je pense qu’une petite coquille c’est glissée juste après l’édit du 7 mai 2015. (rien de bien méchant)

    le chemin pour créer le liens symbolique sur krb5.conf est:

    ln -sf /usr/local/samba/share/krb5.conf /etc/krb5.conf

    et doit être:

    ln -sf /usr/local/samba/share/setup/krb5.conf /etc/krb5.conf

    Sinon merci pour ce tuto très clair et à jour!!! 😉

  46. bonjour j’apprécie vraiment ce tutoriel et je compte l’essayé mais j’ai une question pas sur ce sujet. en fait il s’agit de l’installation et la configuration de ejabberd sous debian 7 serveur lors du téléchargement j’ai des soucis avec les lien de telechargement. veillez me fournir svp le bon lien et la documentation sur son installation et sa configuration.
    cordialement.
  47. Salut, je sais que ce n’est pas un forum… mais quelqu’un a-t-il réussi à installer samba 4 AD DC via les dépôts officiels? ( aptitude/apt-get install samba).
    Impossible pour moi, le service nmbd (service netbios de samba) ne veux pas ce lancer.
    Résultat impossible de joindre un client au domaine.
    • Salut !
      Je te déconseille fortement d’utiliser le paquet samba4 des dépôts officiels. Ils ne sont pas du tout à jour.. Quand on regarde sur le site de Debian il s’agit de la version 4.0.0 (completement buguée) : https://packages.debian.org/fr/source/wheezy/samba4
      Installe en compilant comme dans le tuto ou si t’as un peu de temps pour t’amuser, tu peux essayer de créer un .deb à partir des sources et l’installer.

      A+

  48. Bonjour Bruno 🙂
    Merci pour ta réponse. Oui je me suis résigné à installer Samba via les sources.
    J’ai réussi à trouver la version 4.3.8, sous Ubuntu mais comme dit plus haut ça ne fonctionne pas…
    Je suis encore un “jeune” utilisateur de Linux et je n’avais pas pensé à la création un *.deb. C’est une très bonne idée. Je vais regarder ça.
    Par contre j’ai installé samba via une compilation des sources ce qui sous entend qu’il faudra recompiler chaque nouvelles versions. C’est contraignant et ça peu engendrer des erreurs/bugs etc. Si je créer et installe Samba par un *.deb, est-ce que les futurs mise à jour via update/upgrade ce fera correctement ou devrais-je recréer un *.deb pour chaque version et l’installer?
    • Oui oui c’est le problème d’installer depuis les sources, il faut recompiler à chaque fois. Si tu crée un *.deb cela te permettra d’avoir une meilleure gestion des paquets pour installer/désinstaller/upgrade. Par contre, à chaque fois que tu voudras mettre à jour tu devras recréer un *.deb. C’est aussi un peu contraignant mais ça te permettra de mieux gérer les mises à jour et les retours arrière..
      Si tu crée une install en .deb ça m’intéresse, tiens moi au courant !

      A+

      • Salut :). Bon après un mois de recherche et de galère pour maquetter samba4 AD DC couplé à un LDAP externe. (Pour info je suis en stage dans le cadre d’une formation pro. et c’était mon projet de stage). Je viens d’apprendre que le domaine sera finalement administré via une Zentyal. Tout ces efforts en vains… T_T.
        J’essaie de voir le bon coté des choses. Ce sera bien plus simple à administrer…
        Merci encore pour ce tuto qui m’a sacrement était utile et bonne continuation!
        • Merci encore pour ton commentaire !
          C’est vraiment dommage ! Je ne suis pas très fan de ces outils tout packagés sur le long terme… En tout cas ça t’auras permis de tester Samba4 🙂
          Merci, A+
  49. Salut j’ai un problème pendant le “make&&make install” as tu fait une listing des problème a ce niveau la et si oui as tu des solutions a proposer ?
      • je suis debian wheezy 7.9 – samba 4-4.2 – et mon erreur c’est un manque d’espace qu’elle taille cela prend t-il après installation définitive
      • il me dit self.__class__.bid.cache_node_abspath [variant].get (self.id,none)
        attribute error ‘nnetype’ object has no attribute cache_node_absapth
        make *** [all] erreur 1
  50. Bonjour,

    Très bon tuto pour la mise en place de samba cependant j’ai quelques interrogations suite à un test de mise en place:

    Pourquoi samba ne démarre pas automatiquement au démarrage comme lorsque l’on installe par la commande “traditionnelle” apt-get install samba?

    Pourquoi le fichier de conf se trouve dans /usr/local/samba/etc/smb.conf et non dans le dossier de base /etc/smb.conf

    Pourquoi les commandes smbpasswd etc… introduite par l’installation de samba par apt-get install samba ne sont pas présentent?

    Je suis entrain de mettre en place un nouveau serveur samba afin de remplacer un vieux samba 3 contrôleur de domaine et je cherche juste à comprendre et à identifier les avantages/inconvénients de cette installation par rapport à la méthode basique.

    Merci d’avance pour votre retour

  51. Tutoriel très intéressant.

    Mais , j’ai l’erreur suivante :
    root@mikothas-pc:/home/mikothas# host -t SRV _ldap._tcp.cnss-rca.lan
    Host _ldap._tcp.cnss-rca.lan not found: 3(NXDOMAIN)
    root@mikothas-pc:/home/mikothas# host -t SRV _ldap._tcp.cnss-rca.lan
    Host _ldap._tcp.cnss-rca.lan not found: 3(NXDOMAIN)
    root@mikothas-pc:/home/mikothas# host -t SRV _kerberos._udp.cnss-rca.lan
    Host _kerberos._udp.cnss-rca.lan not found: 3(NXDOMAIN)

    Quand je fais un ping sur
    root@mikothas-pc:/home/mikothas# ping mikothas-pc
    PING mikothas-pc.cnss-rca.lan (192.168.0.2) 56(84) bytes of data.
    64 bytes from mikothas-pc.cnss-rca.lan (192.168.0.2): icmp_seq=1 ttl=64 time=0.050 ms
    De meme pour
    root@mikothas-pc:/home/mikothas# ping mikothas-pc.cnss-rca.lan
    PING mikothas-pc.cnss-rca.lan (192.168.0.2) 56(84) bytes of data.
    64 bytes from mikothas-pc.cnss-rca.lan (192.168.0.2): icmp_seq=1 ttl=64 time=0.050 ms
    Mais quand je fais un ping sur Ca me donne cette erreur:
    root@mikothas-pc:/home/mikothas# ping cnss-rca.lan
    ping: unknown host cnss-rca.lan

    Il est impossible d’ajouter des machines au domaine.

    Je suis bloqué.

    Aidez moi svp

    Merci

  52. /dev/sda1 / ext4 defaults,user_xattr,acl,barrier=1 1 1

    il est inutile de déclarer les attributs user_xattr,acl,barrier. Cela est pris en compte par le noyau par défaut à partir du système de fichier ext4. D’ailleurs pour vous le prouver, il suffit de taper

    # cat /proc/fs/ext4/sda1 | grep user_xattr
    # cat /proc/fs/ext4/sda1 | grep acl
    # cat /proc/fs/ext4/sda1 | grep barrier

    C’est valable pour l’ensemble des filesystem sda1, sda2 etc….

  53. Ping : SAMBA |
  54. slt !!!
    j’ai un souci de préparation du provisioning j’ai des erreurs tels que : ERROR (ldb) uncaught exception ….
    comment puis-je le configurer sans pour autant voir les erreurs ?
    Merci
  55. bjr les gars et merci pour ce merveilleux tuto et surtout recevez mes encouragements vous m’avez sauvez d’une situation .maintenant mon pb et de savoir comment intergrer un serveur de messagerie roundcube ou squirrelmail dans mon domaine ma version de samba c’est 4.6.7 puisque samba4 utilise SAMBA_INTERNAL comme dns backend generalement l’n ajoute une entree mx qui pointe vers le sous domaine qui gere les mails .merci en attente de vos directives et vos suggestions

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *