Ubuntu 20をWindows Active Directoryでユーザ認証 – SSSD

Facebooktwittermail

以前、Ubuntu 20にCentrify ExpressをインストールしてWindows Active Directory認証でログインできるようにしました。

Ubuntu 20をWindows Active Directoryでユーザ認証 – Centrify Express

今回はSystem Security Services Daemon(SSSD)を使用してActive DIrectoryにドメイン参加、認証ができるようにしてみたいと思います。

下記のサイトをそのままやるだけですが(^^;
Service – SSSD | Ubuntu
https://ubuntu.com/server/docs/service-sssd

環境

  • Active Directory
  • ・Windows Server 2019評価版
    ・Domain example.jp
    ・IP: 192.168.1.1

  • Ubuntu
  • ・Ubuntu 20.04.3 LTS DESKTOP
    ・IP: 192.168.1.2

  1. Ubuntu Update
  2. 必要なパッケージのインストール
  3. sssd-ad, sssd-tools, realmd, adcliをインストールします。

  4. DNS設定の確認
  5. 今は/etc/resolv.confを編集してはダメなんですね。

    resolvectl status“で現在の設定を確認できるようなので。
    DNSがActive Directory DNSに設定されています。ここ重要です。

  6. ドメインがDNS経由で検出できるか確認
  7. ドメインを見つけられました。

  8. ドメイン参加
  9. Active Directory管理者(administrator)のパスワードを入力します。-vオプションを付け忘れたので実にシンプルに(^^;

    デフォルトはadministratorですが、他のドメイン管理権限のあるユーザで実行する場合は-Uオプションを追加するとのことです。

    Active Directoryにコンピュータアカウントが追加されました。


  10. SSSDの設定
  11. realm toolは必要なサービスの開始、pam, nssモジュールの追加、sssdの環境設定など全部やってますと。
    拍子抜けするほど簡単ですね。

    The realm tool already took care of creating an sssd configuration, adding the pam and nss modules, and starting the necessary services.

    sssdの環境設定ファイルは/etc/sssd/sssd.confです。
    ホームディレクトリの場所の記述がありますが、%uはユーザID, 5dはドメイン名になります。
    デフォルトでは /home/user_id@example.jpがホームディレクトリになります。

    重要なことで/etc/sssd/sssd.confはオーナーroot:rootでパーミッションが0600になっていないとsssdが開始できないと。

    Something very important to remember is that this file must have permissions 0600 and ownership root:root, or else sssd won’t start!

    Let’s highlight a few things from this config:
    cache_credentials: this allows logins when the AD server is unreachable
    fallback_homedir: it’s by default /home/@. For example, the AD user john will have a home directory of /home/john@ad1.example.com
    use_fully_qualified_names: users will be of the form user@domain, not just user. This should only be changed if you are certain no other domains will ever join the AD forest, via one of the several possible trust relationships

    いくつかの点を説明すると。
    cache_credentialsはADに接続できない場合にキャッシュを使用してログインするか。
    fallback_homedirはホームフォルダの場所と命名規則
    use_fully_qualified_namesはuser_idだけでなくドメインも追加する(user@domain)。user_idだけにするなら、そのフォレストに他のドメインが追加しないことが大前提でよく考えて。

  12. ホームディレクトリの自動作成
  13. UbuntuのActive Directoryユーザでログインした時にホームディレクトリが無ければ自動で作成する設定です。

    これは/etc/pam.d/common-sessionに1行追加されます。

  14. 確認
    • ADユーザの情報取得
    • ユーザguest01のグループ情報
    • ユーザーのグループメンバーシップを変更したばかりの場合は、キャッシュが原因でsssdが通知するまでにしばらく時間がかかることがあります。

      Note
      If you just changed the group membership of a user, it may be a while before sssd notices due to caching.

    • guest01でログイン
    • ADユーザのguest01でUbuntuにログインしてみます。
      ログインIDにguest01@example.jpとすることに注意して下さい。これに気づかなくてuser_idだけでログインしようとしてずっと悩んでいました。
      use_fully_qualified_names = FALSEに変更すればuser_idだけでログインできると思います。

man realm

Leave a Reply