Bon, ba finalement, tout marche désormais... Je soupçonne des bagots au niveau réseau, qui rende le système "instable" au niveau de l'authentification... J'ai finalement pris un autre accès réseau, et la plus de soucis...
Je vais quand même donner ma conf, si ça peu servir a quelqu'un (après un ubuntu 16.04 fraichement installé) :
Installation des packages necessaire pour la suite et mise a jour système :
$ sudo apt-get install winbind samba krb5-user libpam-winbind libnss-winbind libpam-krb5
$ sudo apt-get install ssh ntp
$ sudo apt-get update
$ sudo apt-get upgrade
Petite sauvegarde :
$ sudo cp /etc/krb5.conf /etc/krb5.conf.ori
Config NTP (juste modifier la partie "pool") :
$ sudo cat /etc/ntp.conf | grep "pool" | grep -v "#"
pool ad.test.fr iburst
Mise a jour fichier hosts (necessaire pour kerberos)
$ sudo cat /etc/hosts
127.0.0.1 localhost
127.0.1.1 ubuntu.test.fr ubuntu
Le fichier krb5.conf
$ cat /etc/krb5.conf | grep -v "#"
[libdefaults]
default_realm = AD.TEST.FR
ticket_lifetime = 24000
clock-skew = 300
dns_lookup_realm = false
dns_lookup_kdc = true
[realms]
AD.TEST.FR = {
kdc = ad.test.fr
admin_server = ad.test.fr
default_domain = AD.TEST.FR
}
Test de recupération d'un ticket :
$ sudo kinit ad-user
Password for ad-user@AD.TEST.FR:
$ sudo klist
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: ad-user@AD.TEST.FR
Valid starting Expires Service principal
31/01/2017 10:22:10 31/01/2017 17:01:52 krbtgt/AD.TEST.FR@AD.TEST.FR
Conf smb.conf :
$ cat /etc/samba/smb.conf
[global]
security = ads
realm = AD.TEST.FR
password server = ad.test.fr
workgroup = AD
# winbind separator = +
idmap uid = 10000-20000
idmap gid = 10000-20000
winbind enum users = no
winbind enum groups = no
template homedir = /home/%D/%U
template shell = /bin/bash
client use spnego = yes
client ntlmv2 auth = yes
encrypt passwords = yes
winbind use default domain = yes
restrict anonymous = 2
domain master = no
local master = no
preferred master = no
os level = 0
Redémarrage des services :
$ sudo /etc/init.d/winbind stop ; sudo /etc/init.d/samba restart; sudo /etc/init.d/winbind start
[ ok ] Stopping winbind (via systemctl): winbind.service.
[ ok ] Restarting nmbd (via systemctl): nmbd.service.
[ ok ] Restarting smbd (via systemctl): smbd.service.
[ ok ] Restarting samba-ad-dc (via systemctl): samba-ad-dc.service.
[ ok ] Starting winbind (via systemctl): winbind.service.
On joint le domaine (l'erreur DNS a peu d'importance dans mon cas, car j'ai une infra DNS qui n'est pas géré par l'AD) :
$ sudo net ads join -U ad-user createcomputer="GROUPE/SOUS-GROUPE"
Enter ad-user's password:
Using short domain name -- AD
Joined 'UBUNTU' to dns domain 'ad.test.fr'
DNS Update for ubuntu.test.fr failed: ERROR_DNS_GSS_ERROR
DNS update failed: NT_STATUS_UNSUCCESSFUL
Le fichier nsswitch.conf :
$ cat /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
netgroup: nis
Sauvegarde de la conf PAM :
sudo cp -r /etc/pam.d /etc/pam.d.ori
Contenu des nouveau fichier PAM (seul auth, account, et session ont été modifié)
$ cat common-auth | grep -v "#"
auth sufficient pam_winbind.so
auth sufficient pam_unix.so nullok_secure use_first_pass
auth required pam_deny.so
$ cat common-account | grep -v "#"
account sufficient pam_winbind.so
account required pam_unix.so
$ cat common-session | grep -v "#"
session optional pam_umask.so
session required pam_unix.so
session required pam_mkhomedir.so umask=0022 skel=/etc/skel
$ cat common-password | grep -v "#"
password [success=3 default=ignore] pam_krb5.so minimum_uid=1000
password [success=2 default=ignore] pam_unix.so obscure use_authtok try_first_pass sha512
password [success=1 default=ignore] pam_winbind.so use_authtok try_first_pass
password requisite pam_deny.so
password required pam_permit.so
password optional pam_gnome_keyring.so
Modification de la conf lightdm pour permettre de se loguer avec un compte AD :
$ cat /etc/lightdm/lightdm.conf.d/50-lightdm.conf
[Seat:*]
greeter-hide-users=true
greeter-show-manual-login=true
allow-guest=false
allow-user-switching=false
Puis redmarrage du service :
sudo service lightdm restart
Ajout de la ligne suivante dans /etc/sudoers
%groupe-des-admin ALL=(ALL:ALL) ALL
Merci a tous pour votre aide. Mais je pense que j'aurais d'autre questions un peu plus tard => j'ouvrirais un nouveau POST 🙂