Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 29/08/2016, à 23:13

mradirin

projet samba et AD

bonjour
pour l'école j'ai besoin de faire un architecture multi os avec des distribution linux (debian ,ubuntu...) et du Windows (client comme serveur)

dans le projet on m'impose de faire un serveur de fichier sous Linux et c'est la qu'est mon problème je vais donc utiliser samba avec authentification active directory (et oui c'est imposé aussi de faire de l'AD sous windows serveur)
donc l'ad est sur un windows serveur 2012 R2

le problèmes c'est que mes client windows n'arrive pas a entré dans mon partage samba.
Samba etant seulement le serveur de fichiers je sais que cela vient de ma config linux (parce que je suis un gland sur linux mais je reste ouvert et ca peut être cool smile )

voici le nom de mon domaine TELSON.LAN (en majuscule pour éviter toute confusion)
l'ip de mon  contrôler de domaine qui héberge l'AD :192.168.1.10
le nom de controler de domaine : TELSONDC1
et voici la config de mon ubuntu 16.04 sur lequel je n'arrive pas a me connecter via un compte AD mais il sont bien détecter (via la commande wbinfo -u et les groupe pareil wbinfo -g)

je vous poste tout mes fichiers de conf
en premier le /etc/network/interfaces

# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback

allow-hotplug eth0
auto eth0
iface eth0 inet static
        address 192.168.1.13
        netmask 255.255.255.0
        dns-nameservers 192.168.1.10

puis le /etc/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 127.0.1.1
search TELSON.LAN

puis le /etc/nsswitch.conf


# /etc/nsswitch.conf
#
# Example configuration of GNU Name Service Switch functionality.
# If you have the `glibc-doc-reference' and `info' packages installed, try:
# `info libc "Name Service Switch"' for information about this file.

passwd:         compat winbind
group:          compat winbind
shadow:         compat
gshadow:        files

hosts:          files mdns4_minimal [NOTFOUND=return] dns
networks:       files

protocols:      db files
services:       db files
ethers:         db files
rpc:            db files

puis le /etc/samba/smb.conf

[global]
workgroup = TELSON
password server = TELSONDC1.TELSON.LAN
realm = TELSON.LAN
security = ADS
idmap uid = 10000-20000
idmap gid = 10000-20000
winbind separator = /
template shell = /bin/bash
winbind use default domain = true
#on peut se passer de l’authentification \\domaine\login
winbind offline logon = false
netbios name = SAMBASERVER
preferred master = no
server string = Samba Server version %v
encrypt passwords = yes
log level = 3
log file = /var/log/samba/%m
max log size = 90
printcap name = cups
printing = cups
winbind enum users = Yes
winbind enum groups = Yes
template homedir = /home/%D/%U


[homes]
path = /mnt/sdb/SHARE
writable = no
create mask = 0777
directory mask = 0777
browsable = yes
read only = yes
valid users = @TELSON\users
guest = ok

mes fichiers pam
/etc/pam.d/common-auth

#
# /etc/pam.d/common-auth - authentication settings common to all services
#
# This file is included from other service-specific PAM config files,
# and should contain a list of the authentication modules that define
# the central authentication scheme for use on the system
# (e.g., /etc/shadow, LDAP, Kerberos, etc.).  The default is to use the
# traditional Unix authentication mechanisms.
#
# As of pam 1.0.1-6, this file is managed by pam-auth-update by default.
# To take advantage of this, it is recommended that you configure any
# local modules either before or after the default block, and use
# pam-auth-update to manage selection of other modules.  See
# pam-auth-update(8) for details.

# here are the per-package modules (the "Primary" block)
auth    [success=1 default=ignore]      pam_unix.so nullok_secure
# here's the fallback if no module succeeds
auth    requisite                       pam_deny.so
# prime the stack with a positive return value if there isn't one already;
# this avoids us returning an error just because nothing sets a success code
# since the modules above will each just jump around
auth    required                        pam_permit.so
# and here are more per-package modules (the "Additional" block)
# end of pam-auth-update config
auth sufficient pam_winbind.so krb5_auth krb5_ccache_type=FILE
auth sufficient pam_unix.so nullok_secure use_first_pass

le /etc/pam.d/common-session

#
# /etc/pam.d/common-session - session-related modules common to all services
#
# This file is included from other service-specific PAM config files,
# and should contain a list of modules that define tasks to be performed
# at the start and end of sessions of *any* kind (both interactive and
# non-interactive).
#
# As of pam 1.0.1-6, this file is managed by pam-auth-update by default.
# To take advantage of this, it is recommended that you configure any
# local modules either before or after the default block, and use
# pam-auth-update to manage selection of other modules.  See
# pam-auth-update(8) for details.

# here are the per-package modules (the "Primary" block)
session [default=1]                     pam_permit.so
# here's the fallback if no module succeeds
session requisite                       pam_deny.so
# prime the stack with a positive return value if there isn't one already;
# this avoids us returning an error just because nothing sets a success code
# since the modules above will each just jump around
session required                        pam_permit.so
# The pam_umask module will set the umask according to the system default in
# /etc/login.defs and user settings, solving the problem of different
# umask settings with different shells, display managers, remote sessions etc.
# See "man pam_umask".
session optional                        pam_umask.so
# and here are more per-package modules (the "Additional" block)
session required        pam_unix.so
session optional        pam_systemd.so
session optional                        pam_mkhomedir.so
# end of pam-auth-update config
session required pam_mkhomedir.so umask=0022 skel=/etc/skel

pour finir le /etc/pam.d/common-account
#
# /etc/pam.d/common-account - authorization settings common to all services
#
# This file is included from other service-specific PAM config files,
# and should contain a list of the authorization modules that define
# the central access policy for use on the system.  The default is to
# only deny service to users whose accounts are expired in /etc/shadow.
#
# As of pam 1.0.1-6, this file is managed by pam-auth-update by default.
# To take advantage of this, it is recommended that you configure any
# local modules either before or after the default block, and use
# pam-auth-update to manage selection of other modules.  See
# pam-auth-update(8) for details.
#

# here are the per-package modules (the "Primary" block)
account [success=1 new_authtok_reqd=done default=ignore]        pam_unix.so
# here's the fallback if no module succeeds
account requisite                       pam_deny.so
# prime the stack with a positive return value if there isn't one already;
# this avoids us returning an error just because nothing sets a success code
# since the modules above will each just jump around
account required                        pam_permit.so
# and here are more per-package modules (the "Additional" block)
# end of pam-auth-update config
account sufficient pam_winbind.so

je remercie d'avance pour vos réponse n'hésiter a me demander plus de précision si nécessaire j'essayerai de vous répondre au plus vite


Modération : merci à l'avenir d'utiliser les balises code (explications ici).

Dernière modification par cqfd93 (Le 30/08/2016, à 01:55)

Hors ligne

#2 Le 30/08/2016, à 16:05

bcag2

Re : projet samba et AD

Bonjour,
es-tu passé par ici : https://doc.ubuntu-fr.org/samba_smb.conf ?
je suis surpris de ne pas voir de "server role" dans le fichier smb.conf.

Peut-être serait-il intéressant de configurer ton Samba en "backup dc" ?


touticphoto "Ce n'est pas parce que c'est difficile qu'on n'ose pas, c'est parce qu'on n'ose pas que tout devient difficile" Sénèque (souvent vérifié avec Linux!-)

Hors ligne

#3 Le 30/08/2016, à 19:07

mradirin

Re : projet samba et AD

ok
merci en server role je lui ai mis member server
je vous repropose mon smb.conf mis a jour mais malgré ca les droit d'accès n'ont pas l'air bon

le voici le fichier /etc/samba/smb.conf

[global]
workgroup = TELSON
password server = TELSONDC1.TELSON.LAN
realm = TELSON.LAN
security = ADS
idmap uid = 10000-20000
idmap gid = 10000-20000
winbind separator = /
template shell = /bin/bash
winbind use default domain = true
winbind offline logon = false
netbios name = SAMBASERVER
preferred master = no
server string = Samba Server version %v
server role = MEMBER SERVER
encrypt passwords = yes
log level = 3
log file = /var/log/samba/%m
max log size = 90
printcap name = cups
printing = cups
winbind enum users = Yes
winbind enum groups = Yes
template homedir = /home/%D/%U


[homes]
path = /mnt/sdb/SHARE
browsable = yes
read only = yes
valid users = @TELSON\users ;@TELSON\administrateur du domaine
guest = ok

Hors ligne

#4 Le 30/08/2016, à 20:07

mradirin

Re : projet samba et AD

je ne sais pas si cela peut vous aidez mais je n'arrive pas non plus a lister les partages sur mes clients windows

Hors ligne

#5 Le 30/08/2016, à 20:13

littlejohn75

Re : projet samba et AD

mradirain a écrit :

en server role je lui ai mis member server

Il faudrait surtout que votre serveur samba soit intégré dans l'AD

Pour cette intégration, il faut que votre serveur soit enregistré dans les DNS du LAN.
Il faut aussi que vous ayez un compte Windows qui a les droits pour joindre une machine au domaine AD.

Dans un domaine AD, les authentifications sont faites via Kerberos.

Si ce n'est pas fait, installez le paquet krb5-user et configurez le fichier /etc/krb5.conf  avec au moins

[libdefaults]
        default_realm = TELSON.LAN

et

[realms]
    TELSON.LAN = {
          kdc = TELSONDC1.TELSON.LAN
          admin_server = TELSONDC1.TELSON.LAN
    }

Alors vous faites

kinit user@TESON.LAN

où user est votre compte windows. Normalement vous devez donner votere mot de passe windows, et

klist

vous permettra de vérifier si c'est OK.

exemple

fp2x@drhpcmss:~$ klist
Ticket cache: FILE:/tmp/krb5cc_1000
Default principal: fpetitjean@EUA.BVCORP.CORP

Valid starting       Expires              Service principal
30/08/2016 20:05:06  31/08/2016 06:05:18  krbtgt/EUA.BVCORP.CORP@EUA.BVCORP.CORP
        renew until 31/08/2016 20:05:06
fp2x@drhpcmss:~$

J'ai un super-ticket  (krbtgt = Kerberos ticket granting ticket )

Pour l'intégration dans l'AD

sudo net ads -U user@TELSON.LAN -k testjoin

et si OK remplacer testjoin par join

Il est aussi conseillé d'installer le paquet

ntp

pour synchroniser les systèmes (Kerberos est assez strict), indiquez votre contrôleur de domaine comme serveur de temps.

Cordialement,
Regards,
Mit freundlichen Grüßen,
مع  تحياتي الخالصة
---
F. Petitjean
Ingénieur civil du Génie Maritime.

« On ne perd pas son temps en aiguisant ses outils. »
    Proverbe français
« 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

Hors ligne

#6 Le 30/08/2016, à 21:22

mradirin

Re : projet samba et AD

désolé pour l'oubli mais c'etait précisé dans tout les tuto que j'ai vu
voici le contenu de mon /etc/krb5.conf par contre es ce que ce dossier est t-il sensible a la casse ?
je pense au majuscule dans les ligne KDC et admin server et default-domain
et oui pour info kerberos est ok et ma machine apparait bien dans mon AD

[libdefaults]

default_realm = TELSON.LAN

[realms]

TELSON.LAN = {
kdc = telsondc1.telson.lan
admin_server = telsondc1.telson.lan
default_domain = telson.lan
}
[domain_realm]
.telson.lan=TELSON.LAN
telson.lan=TELSON.LAN

[login]
krb4_convert = true
krb4_get_tickets = false

sinon dans ta commande

sudo net ads -U user@TELSON.LAN -k testjoin

a quoi sert l'option -k ?

sinon merci de ta réponse
je ne perd pas espoir je sais qu'on va finir par y arriver

Hors ligne

#7 Le 31/08/2016, à 10:49

littlejohn75

Re : projet samba et AD

mradirin a écrit :

a quoi sert l'option -k ?

Cela veut dire --kerberos

man net

Pourriez-vous donner le retour de

fp2x@drhpcmss:~$ sudo net ads -U fpetitjean -k testjoin
Join is OK
fp2x@drhpcmss:~$

(en adaptant le paramètre -U bien sûr. Avec l'option -k je suis sûr de la cohérence de l'identification dans l'Active Directory.

Pour lister les partages d'un serveur de fichiers Windows intégré dans l'AD

smbclient -k -L NomServeur.fqdn

Cordialement,
Regards,
Mit freundlichen Grüßen,
مع  تحياتي الخالصة
---
F. Petitjean

« Celui qui, parti de rien, n'est arrivé nulle part n'a de merci à dire à personne !! »
       Pierre Dac

Hors ligne

#8 Le 31/08/2016, à 13:33

mradirin

Re : projet samba et AD

voici le resultat de votre commande pour la deuxième il faut installer le smbclient (bizarre qu'il ne le soit pas d'ailleurs) et ne disposant pas de connexion internet pour mon pc de maquette ici (je suis a mon boulot )

sambausers@sambausers:~$ sudo net ads -U administrateur@TELSON.LAN -k testjoin
[sudo] Mot de passe de sambausers : 
Join is OK
sambausers@sambausers:~$ 

Hors ligne

#9 Le 31/08/2016, à 15:22

littlejohn75

Re : projet samba et AD

mradirin a écrit :

sambausers@sambausers:~$ sudo net ads -U administrateur@TELSON.LAN -k testjoin
[sudo] Mot de passe de sambausers :
Join is OK
sambausers@sambausers:~$

Oooooo  La machine s'appelle sambausers, l'utilisateur s'appelle sambausers, l'magination est au pouvoir lol

Je ne sais pas si cela (Join is OK) signifie que le serveur sambausers a déjà rejoint le domaine AD ou non.

Sur une machine Windows du domaine, ouvrez une invite de commande avec cmd /F:ON et lancez

setspn -L sambausers

il devrait y avoir

HOST/sambausers.telson.lan
HOST/sambausers

dans la sortie.

En ce qui concerne votre configuration samba je vous suggère de passer la configuration à la moulinette testparm

man testparm

et vous verrez que pour les correspondances idmap la syntaxe a changé.
Extrait d'un /etc/samba/smb.conf sur drhpcmss.eua.bvcorp.corp

[global]
   workgroup = EUA
   realm = EUA.BVCORP.CORP

   kerberos  method = secrets and keytab

...

    idmap config * : backend = tdb
    idmap config * : range = 1000000-1999999

   idmap config EUA : backend = rid
   idmap config EUA : range = 2000000-3999999

   idmap config DRHPCMSS : backend = rid
   idmap config DRHPCMSS : range = 40000-49999
   idmap config DRHPCMSS : base_rid = 0

et je n'ai pas de directive du genre

netbios name = SAMBASERVER

comme dans le message #3

Cordialement,
Regards,
Mit freundlichen Grüßen,
مع  تحياتي الخالصة
---
F. Petitjean

« Les ampoules aux mains sont plus honorables que les bagues. »
    Proverbe estonien

Hors ligne

#10 Le 31/08/2016, à 19:29

mradirin

Re : projet samba et AD

pour le test via le client windows voici le résultat

C:\Users\test>setspn -L sambausers
Noms ServicePrincipalName inscrits pour CN=sambausers,OU=serveur samba,DC=TELSON
,DC=LAN: 

j'ai ensuite passer mon smb.conf a testparm celui-ci ma exposé quelque erreur mais il en reste certaine que voit pas comment y remédier et voici le résultat

Load smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
WARNING: Ignoring invalid value 'domain member' for parameter 'server role'
Error loading services.

Hors ligne

#11 Le 02/09/2016, à 16:11

mradirin

Re : projet samba et AD

le problème est toujours présent j'aimerais bien savoir ce que veut dire ses erreurs
merci pour votre participation

Hors ligne

#12 Le 02/09/2016, à 17:41

littlejohn75

Re : projet samba et AD

mradirin a écrit :

pour le test via le client windows voici le résultat

C:\Users\test>setspn -L sambausers
Noms ServicePrincipalName inscrits pour CN=sambausers,OU=serveur samba,DC=TELSON,DC=LAN:

C'est vraiment tout ?  Dans ce cas, la machine sambausers n'a pas de nom dans la partie Kerberos de l'Active Directory (pas de ServicePrincipalName  ) et donc n'a pas rejoint le domaine.

klist
sudo net ads -U administrateur@TELSON.LAN -k join

et refaire la commande setspn sur un Windows.

Cordialement,
Regards,
Mit freundlichen Grüßen,
مع  تحياتي الخالصة
---
F. Petitjean
Ingénieur civil du Génie Maritime.

« Celui qui, parti de rien, n'est arrivé nulle part n'a de merci à dire à personne !! »
       Pierre Dac

Hors ligne