web-dev-qa-db-fra.com

Problème de connexion à un domaine Active Directory

J'essaie de joindre un serveur Ubuntu 16.04 à un domaine Windows 2003 R2 en suivant les instructions Guide d'Ubuntu SSSD et Active Directory . Mon administrateur dit que du côté du contrôleur, cela fait partie du domaine. Mais SSSD ne semble pas pouvoir démarrer et net ads join échoue.

Le krb5.conf a été modifié par l'installateur et a maintenant ceci:

kyle@Server21:~$ cat /etc/krb5.conf
[libdefaults]
        default_realm = COMAPNYNAME.LOCAL

Lors d'une installation précédente, je pensais qu'il y avait quelque chose d'autre dans [realms] qui avait été demandé lors de l'installation, mais je ne me souviens plus quoi et cela n'a pas été demandé cette fois-ci.

Mon smb.conf:

[global]

## Browsing/Identification ###

# Change this to the workgroup/NT-domain name your Samba server will part of
   workgroup = COMPANYNAME
   client signing = yes
   client use spnego = yes
   kerberos method = secrets and keytab
   realm = COMPANYNAME.LOCAL
   security = ads

Mon sssd.conf:

kyle@Server21:~$ Sudo cat /etc/sssd/sssd.conf
[sssd]
services = nss, pam
config_file_version = 2
domains = COMPANYNAME.LOCAL

[domain/COMPANYNAME.LOCAL]
id_provider = ad
access_provider = ad
override_homedir = /home/%d/%u

Bien que le service SSSD ne semble pas pouvoir démarrer:

kyle@Server21:~$ systemctl status sssd.service
● sssd.service - System Security Services Daemon
   Loaded: loaded (/lib/systemd/system/sssd.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Wed 2016-06-22 09:57:57 EDT; 37min ago
  Process: 16027 ExecStart=/usr/sbin/sssd -D -f (code=exited, status=1/FAILURE)

Jun 22 09:57:55 Server21 sssd[16038]: Starting up
Jun 22 09:57:55 Server21 sssd[16041]: Starting up
Jun 22 09:57:55 Server21 sssd[16042]: Starting up
Jun 22 09:57:56 Server21 sssd[be[16043]: Starting up
Jun 22 09:57:57 Server21 sssd[be[16043]: Failed to read keytab [default]: No such file or directory
Jun 22 09:57:57 Server21 sssd[16031]: Exiting the SSSD. Could not restart critical service [COMPANYNAME.LOCAL].
Jun 22 09:57:57 Server21 systemd[1]: sssd.service: Control process exited, code=exited status=1
Jun 22 09:57:57 Server21 systemd[1]: Failed to start System Security Services Daemon.
Jun 22 09:57:57 Server21 systemd[1]: sssd.service: Unit entered failed state.
Jun 22 09:57:57 Server21 systemd[1]: sssd.service: Failed with result 'exit-code'.

Et puisque le guide dit que la propriété et les autorisations sont importantes:

kyle@Server21:~$ Sudo ls -la /etc/sssd
total 12
drwx--x--x   2 sssd sssd 4096 Jun 21 14:34 .
drwxr-xr-x 103 root root 4096 Jun 22 10:21 ..
-rw-------   1 root root  172 Jun 21 14:22 sssd.conf

Mon nsswitch.conf:

kyle@Server21:~$ 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 sss
group:          compat sss
shadow:         compat sss
gshadow:        files

hosts:          files dns
networks:       files

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

netgroup:       nis sss
sudoers:        files sss

Mon hosts:

kyle@Server21:~$ cat /etc/hosts
127.0.0.1       localhost
127.0.1.1       Server21.COMPANYNAME.LOCAL Server21
192.168.11.11   Server21.COMPANYNAME.LOCAL Server21

# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

Voici où le problème commence. Utiliser Sudo pour exécuter kinit donne les résultats suivants:

kyle@Server21:~$ Sudo kinit adminstrator
kinit: Client '[email protected]' not found in Kerberos database while getting initial credentials

Il s'authentifiera si je laisse tomber la Sudo si:

kyle@Server21:~$ kinit -V administrator
Using default cache: /tmp/krb5cc_1000
Using principal: [email protected]
Password for [email protected]:
Authenticated to Kerberos v5

Et je peux vérifier le billet:

kyle@Server21:~$ klist
Ticket cache: FILE:/tmp/krb5cc_1000
Default principal: [email protected]

Valid starting       Expires              Service principal
06/23/2016 13:41:55  06/23/2016 23:41:55  krbtgt/[email protected]
        renew until 06/24/2016 13:41:48

Mais quand j'essaie de rejoindre le domaine:

kyle@Server21:~$ Sudo net ads join -k
Failed to join domain: failed to lookup DC info for domain 'COMPANYNAME.LOCAL' over rpc: An internal error occurred.

J'avais déjà reçu le message NT_STATUS_UNSUCCESSFUL mentionné dans le guide, mais je pouvais le résoudre en modifiant mon fichier hosts.

Le guide parle de la vérification de la création du compte d'ordinateur dans Active Directory. Et mon administrateur dit qu'il peut bien voir la machine, alors je pense que c'est correct. La deuxième option de vérification ne me dit pas ce que je suis censé obtenir de cette commande, mais je ne reçois rien, donc je suppose que cela ne fonctionne pas.

Alors, où est-ce que je me trompe ici?


Modifier:

Je ne suis pas sûr de ce que j'ai fait, mais SSSD est en cours d'exécution.

9
embedded.kyle

Le problème semble avoir été que mon administrateur a créé une entrée sur le contrôleur de domaine pour ce serveur. Cela a apparemment provoqué un conflit qui a provoqué l'erreur suivante de Kerberos lors de la tentative de participation:

kyle@Server21:~$ Sudo net ads join -k
Failed to join domain: failed to lookup DC info for domain 'COMPANYNAME.LOCAL' over rpc: An internal error occurred.

Je ne suis pas sûr que cette erreur soit tout à fait exacte, car mon administrateur a déclaré que le serveur avait été relié au domaine de son côté et que realmd avait indiqué que j'étais également connecté:

kyle@Server21:~$ realm join COMPANYNAME.LOCAL
realm: Already joined to this domain

Les étapes que j'ai suivies pour réussir à joindre Kerberos sont les suivantes:

  1. L'administrateur a supprimé l'entrée dans le contrôleur de domaine
  2. Relancez la configuration Kerberos en utilisant: Sudo dpkg-reconfigure krb5-config
  3. Choisissez les options de la configuration pour ajouter explicitement le contrôleur de domaine à la section [realms] de krb5.conf
  4. Changé le nom d'hôte pour s'assurer qu'un nouvel enregistrement a été créé
  5. Tiré un nouveau ticket en utilisant kinit
  6. Rejoindre le domaine en utilisant Sudo net ads join -k

Résultat final:

kyle@SERV21:~$ Sudo net ads join -k  
Using short domain name -- COMPANYNAME  
Joined 'SERV21' to dns domain 'CompanyName.Local'
2
embedded.kyle

Je pense que vous manquez le keytab. Vous pouvez le créer via l'outil kadmin. tapez kadmin et dans l'invite tapez help pour voir comment ajouter le clavier.

0
user2959348