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.
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:
Sudo dpkg-reconfigure krb5-config
[realms]
de krb5.conf
kinit
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'
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.