realmd(sudoとdyndns_update)を使用したSSSDの設定

realmd(sudoとdyndns_update)を使用したSSSDの設定

Realmd + sssdを使用してUbuntu 16.04をWindowsドメイン(Active Directory)に参加しようとしています。基本的にフォロー中です。この投稿これは素晴らしい作品です。私のサーバーに参加し、ADユーザーとして正常に認証できます。しかし、統合には2つの部分がありません。

  1. DNSにサーバーのホスト名を登録します。
  2. 使用SSD-sudoユーザー認証のため

DNSにサーバーのホスト名を登録します。

前述のように、次のコマンドを使用してADに正常に参加しました realm join --user=dpr MYDOMAIN.INT --install=/

root@ip-172-28-5-174 ~ # realm list
mydomain.int
  type: kerberos
  realm-name: MYDOMAIN.INT
  domain-name: mydomain.int
  configured: kerberos-member
  server-software: active-directory
  client-software: sssd
  required-package: sssd-tools
  required-package: sssd
  required-package: libnss-sss
  required-package: libpam-sss
  required-package: adcli
  required-package: samba-common-bin
  login-formats: %[email protected]
  login-policy: allow-realm-logins

しかし、正常に参加したにもかかわらず、私のサーバーは、そのホスト名を使用しているドメインの他のコンピュータには知られていませんip-172-28-5-174.mydomain.int。私が見つけたこの文書dyndns_updatesssd.confファイルの設定について言及します。

エリアを使っているからです。 sssd 設定は Join コマンドを実行して自動的に生成されます。生成された構成ファイルは次のとおりです。

[sssd]
domains = mydomain.int
config_file_version = 2
services = nss, pam

[domain/mydomain.int]
ad_domain = mydomain.int
krb5_realm = MYDOMAIN.INT
realmd_tags = manages-system joined-with-adcli
cache_credentials = True
id_provider = ad
krb5_store_password_if_offline = True
default_shell = /bin/bash
ldap_id_mapping = True
use_fully_qualified_names = True
fallback_homedir = /home/%u@%d
access_provider = ad

dyndns_update = Trueつまり、生成されたファイルに何とか追加する必要があります。しかし、どのように?

ユーザー認証に sssd-sudo を使用する

また、sssdはADから私のsudo設定を読みたいと思います。私はこれを以下を使用して達成できると思います。SSD-sudoただし、このサービスもsudosssdサービスに追加し、それを自分のドメインに使用してsudo_provider = ldapsssd.confファイルで有効化/構成する必要があります。今回もゾーンを使用してこれを行う方法がわかりません。

デフォルトでは、生成された構成ファイルは次のようになります。

[sssd]
domains = mydomain.int
config_file_version = 2
services = nss, pam, sudo

[domain/mydomain.int]
id_provider = ad
access_provider = ad
sudo_provider = ldap
ad_domain = mydomain.int
krb5_realm = MYDOMAIN.INT
realmd_tags = manages-system joined-with-adcli
cache_credentials = True
krb5_store_password_if_offline = True
default_shell = /bin/bash
ldap_id_mapping = True
use_fully_qualified_names = True
fallback_homedir = /home/%u@%d

これを達成する方法についてのアイデアはありますか?

答え1

Active Directoryで管理するには、sudoers特別なスキーマをADにロードしてから、ADSIの編集などのツールを使用してルールを作成する必要があります。 この練習Ubuntu 14.04で動作します。主な内容は次のとおりです。

  • 輸入schema.ActiveDirectory
  • 次のようにルールを作成します。sudoers-ldap マンページ
  • この行のエントリetc/nsswitch.confに含まれるように更新してください。ssssudoers =
  • アップデートには以下がetc/sssd/sssd.conf含まれます。
    • sudoservices =この行の項目に
    • [sudo]のセクション(構成は必要ありませんが、赤い帽子これがsudoサポートの正しい設定をトリガしていることを確認してください)
    • 次の行sudo_provider = ad(sssd文書にあります)pagure.orgsudo プロバイダは、ldap、ad、および ipa に対してデフォルトで有効になっているため、これはオプションである可能性があることを示します。

16.04(つまり、14.04と同じADルール)でこのプロセスを繰り返すと、実際に別の問題が発生しました。明らかにこれ珍しいことではありません。一つあるかもしれません抜け穴16.04に含まれるsudoバージョン。

  • 原則として手動でアップグレードしてください。最新この問題は解決する必要があります。
  • SSSDにLDAP接続を管理させる場合は、通常のsudoパッケージ(代わりにsudo-ldap)が正しいパッケージです。sudo特にインストール時にはsudo-ldapログインは生成されませんが、sssd_sudo.log通常のsudoパッケージではログインが生成されます。
  • 今はsssd_sudo表示されますが、それでも応答するので、解決する必要がある他の問題がある可能性があります。Returning 2 rules for [<user>@<domain>]sudo -lSorry, user <user>@<domain> may not run sudo on <host>

しかし、一般的ではない他のいくつかの問題に直面しているので、私の状況は一般的ではないかもしれません。たとえば、実行に問題があり、realm join次の回避策を使用して解決しました。今回のサーバー障害の問題

16.04のRealmd / sssd / sudoの問題のためにここに来た場合に役立つ可能性がある他の報告された問題は次のとおりです(OPの質問に直接関連していない可能性があります)。

私たちは16.04のアップグレードを評価しているので、おそらく遅れておきますが、私たちの発展が他の誰かに役立つことを願っています。

答え2

残念ながら、realmdで生成されたsssd.confファイルにカスタム設定パラメータを追加するオプションがないようです。

必要な設定を含むように作成された構成を調整する必要がありました。後ろに設定を適用するには、ドメイン登録を使用しrealm joinてsssd()を再起動してください。service restart sssd

関連情報