web-dev-qa-db-ja.com

Active Directoryドメインへの参加に関する問題

buntu SSSD and Active Directory Guide に従ってUbuntu 16.04サーバーをWindows 2003 R2ドメインに参加させようとしています。私の管理者は、コントローラー側から、それがドメインの一部であると言います。しかし、SSSDは開始できないようで、net ads joinが失敗します。

krb5.confはインストーラーによって変更され、現在次のようになっています。

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

以前のインストールで、インストール中に[realms]に要求された何かがあると思っていましたが、何を思い出せず、今回は要求されませんでした。

私の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

私の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

SSSDサービスは開始できないようです:

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'.

そして、ガイドには所有権と許可が重要であると書かれているため:

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

私の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

私の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

ここからトラブルが始まります。 Sudoを使用してkinitを実行すると、次の結果になります。

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

Sudoをドロップしても認証されます:

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

そして、チケットを確認できます:

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

しかし、ドメインに参加しようとすると:

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.

以前にガイドで言及されたNT_STATUS_UNSUCCESSFULメッセージを受け取っていましたが、hostsファイルを変更することでそれを解決できました。

このガイドでは、コンピューターアカウントがActive Directoryで作成されたことを確認する方法について説明しています。そして、私の管理者は、彼がマシンをうまく見ることができると言っているので、私はそれが大丈夫だと信じています。 2番目の検証オプションでは、そのコマンドから何を取得するかはわかりませんが、何も受信しないため、機能していないと思われます。

だから私はここでどこが間違っていますか?


編集:

私は何をしたのかわかりませんが、SSSDは現在実行中です。

9
embedded.kyle

問題は、管理者がこのサーバーのドメインコントローラーにエントリを作成したことであったようです。これにより、参加しようとしたときにKerberosで次のエラーが発生する競合が明らかに発生しました。

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.

私の管理者はサーバーが彼の側のドメインに参加していると言っており、realmdは私も参加していることを示したため、このエラーが完全に正確であったかどうかはわかりません。

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

Kerberos参加を成功させるために従った手順は次のとおりです。

  1. 管理者がドメインコントローラーのエントリを削除しました
  2. Sudo dpkg-reconfigure krb5-configを使用してKerberos構成を再実行しました
  3. 構成のオプションを選択して、[realms]krb5.confセクションにドメインコントローラーを明示的に追加します。
  4. ホスト名を変更して、新しいレコードが作成されるようにしました
  5. kinitを使用して新しいチケットをプルしました
  6. Sudo net ads join -kを使用してドメインに参加しました

最終結果:

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

キータブがないと思います。 kadminツールを使用して作成できます。タイプkadminおよびプロンプトタイプhelpでキータブの追加方法を確認します。

0
user2959348