Estou tentando ingressar em um servidor Ubuntu 16.04 em um domínio do Windows 2003 R2, seguindo o Ubuntu SSSD e o Active Directory Guide . Meu administrador diz que, do lado do controlador, faz parte do domínio. Mas o SSSD parece não iniciar e net ads join
falha.
O krb5.conf
foi modificado pelo instalador e agora possui o seguinte:
kyle@Server21:~$ cat /etc/krb5.conf
[libdefaults]
default_realm = COMAPNYNAME.LOCAL
Em uma instalação anterior, pensei que havia algo mais [realms]
solicitado durante a instalação, mas não me lembro o quê e não foi solicitado por enquanto.
Meu 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
Meu 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
Embora o serviço SSSD não consiga iniciar:
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'.
E como o guia diz que a propriedade e as permissões são 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
Meu 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
Meu 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
Aqui é onde o problema começa. Usando sudo
para executar kinit
resultados da seguinte maneira:
kyle@Server21:~$ sudo kinit adminstrator
kinit: Client '[email protected]' not found in Kerberos database while getting initial credentials
Ele será autenticado se eu descartar o seguinte sudo
:
kyle@Server21:~$ kinit -V administrator
Using default cache: /tmp/krb5cc_1000
Using principal: [email protected]
Password for [email protected]:
Authenticated to Kerberos v5
E posso verificar o ticket:
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
Mas quando tento ingressar no domínio:
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.
Eu já havia recebido a NT_STATUS_UNSUCCESSFUL
mensagem mencionada no guia, mas consegui resolver isso modificando meu hosts
arquivo.
O guia fala sobre como verificar se a conta do computador foi criada no Active Directory. E meu administrador diz que ele pode ver a máquina muito bem, então eu acredito que está tudo bem. A segunda opção de verificação não me diz o que devo receber desse comando, mas como não recebo nada, acho que não está funcionando.
Então, onde estou errado aqui?
Editar:
Não tenho certeza do que fiz, mas o SSSD está em execução agora.
fonte
Respostas:
O problema parece ter sido que meu administrador criou uma entrada no Controlador de Domínio para este servidor. Aparentemente, isso causou um conflito que fez com que o Kerberos encontrasse o seguinte erro ao tentar ingressar:
Não tenho certeza se esse erro foi totalmente exato, pois meu administrador disse que o servidor ingressou no domínio por ele e
realmd
indicou que eu também participei:As etapas que segui para obter uma associação bem-sucedida ao Kerberos foram as seguintes:
sudo dpkg-reconfigure krb5-config
[realms]
seçãokrb5.conf
kinit
sudo net ads join -k
Resultado final:
fonte
Eu acho que você está perdendo o keytab. Você pode criá-lo através da ferramenta kadmin. digite kadmin e no prompt digite help para ver como adicionar o keytab.
fonte
/etc/krb5.keytab
já existe e possui algumas coisas criptografadas intercaladas com o nome do servidor e o nome do domínio. Preciso criar um adicional?