Pages : 1
#1 Le 29/08/2016, à 22: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 )
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, à 00:55)
Hors ligne
#2 Le 30/08/2016, à 15: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, à 18: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, à 19: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, à 19:13
- littlejohn75
Re : projet samba et AD
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, à 20: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, à 09:49
- littlejohn75
Re : projet samba et AD
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, à 12: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, à 14:22
- littlejohn75
Re : projet samba et AD
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
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, à 18: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, à 15: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, à 16:41
- littlejohn75
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:
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
Pages : 1