Ubuntu Weekly Recipe

第837回Active Directoryへの統合ツールadsysを使う(2)
Ubuntuマシンのセットアップ

前回はadsysを利用できるように、Active Directory(以下、AD)側の準備として、Ubuntu用のグループポリシー管理テンプレートを配置しました。

今回はUbuntuマシン側の設定を進めていきます。

UbuntuマシンのADへの参加

adsysを使うにはUbuntuマシンをドメインに参加させる必要があります。最近はUbuntuのインストール時にもADに参加できるようになっています。しかし、今回はもう少し詳細な流れを示したいので、Ubuntu 24.04 LTS Desktopマシンを用意してから、ADに参加させることにします。なお、このUbuntuマシンには"Ubuntu-2404"というホスト名をつけてあります。

AD環境はDNSを使ってドメインのレコードを適切に名前解決できることが前提になっています。そのため、UbuntuマシンからドメインのDNSサーバーを利用できる状態にします。

しばしば、ドメインコントローラーがDNSサーバーを兼ねますが、今回もそのような構成としているため、ドメインコントローラーをDNSサーバーとして参照するように構成します。

デスクトップ画面から「設定」を開き、参照するDNSサーバーをドメインコントローラーのIPアドレス(今回の構成では192.168.1.200に変更します[1]

図1 参照するDNSサーバーをドメインのDNSサーバー(ドメインコントローラー)に向けておく

DNSを使ってドメインのレコードを解決できる状態にしたら、ドメインに参加させます。まずは必要なパッケージをインストールします。

$ sudo apt -y install sssd-ad sssd-tools realmd adcli

パッケージのインストールが終わったら、次のコマンドでドメインを見つけられるかを確認し、参照するDNSサーバーの設定が妥当かをテストします。

$ realm -v discover example.com
 * Resolving: _ldap._tcp.example.com
 * Performing LDAP DSE lookup on: fdc2:c75e:b561:7397:1cb0:e463:4863:281b
 ! Can't contact LDAP server
 * Performing LDAP DSE lookup on: 192.168.1.200
 * Successfully discovered: example.com
example.com
  type: kerberos
  realm-name: EXAMPLE.COM
  domain-name: example.com
  configured: no
  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

"Successfully discovered: example.com"と出ていますので、問題なくドメインを認識できています。いよいよドメインに参加します。

$ sudo realm join -v example.com
 * Resolving: _ldap._tcp.example.com
 * Performing LDAP DSE lookup on: fdc2:c75e:b561:7397:1cb0:e463:4863:281b
 ! Can't contact LDAP server
 * Performing LDAP DSE lookup on: 192.168.1.200
 * Successfully discovered: example.com
Administrator に対するパスワード: # Administrator ユーザーのパスワードを入力
...
 * Successfully enrolled machine in realm

"Successfully enrolled machine in realm"と出ましたので、うまくドメインに参加できたようです[2]

確認のためにAD側からも見てみましょう。ドメインコントローラーに接続し、⁠Active Directory ユーザーとコンピューター」を開いてみてみると、ADに参加させたマシンのホスト名である"UBUNTU-2404"というコンピューターオブジェクトが登録されていることがわかります。

図2 ⁠Active Directory ユーザーとコンピューター」での確認結果

これでこのUbuntuマシンはADを使ってユーザーを認証できるようになりました。adsysの展開(グループポリシーの適用)はまだですが、いったんここでドメインユーザー(ビルトインのAdministratorユーザー)としてマシンにログインできるかを確認してみましょう[3]

$ sudo login
Ubuntu-2404 login: administrator@example.com
パスワード:
...
ディレクトリがありません。HOME=/ としてログインします

administrator@example.com@Ubuntu-2404:/$ id
uid=603000500(administrator@example.com) gid=603000513(domain users@example.com) groups=603000513(domain users@example.com),603000512(domain admins@example.com),603000518(schema admins@example.com),603000519(enterprise admins@example.com),603000520(group policy creator owners@example.com),603000572(denied rodc password replication group@example.com)

example.comドメインのAdministratorユーザーadministrator@example.com[4]としてログインできていることがわかります。

「ディレクトリがありません。HOME=/ としてログインします」というメッセージは「ホームディレクトリ/home/administrator@example.comが存在しないため、今回は代わりにホームディレクトリを/にした」という意味です。ADユーザーがログインするときにホームディレクトリがなければ作るように設定できますので、ローカルの管理ユーザーで次のコマンドを実行しておきます。

$ sudo pam-auth-update --enable mkhomedir

adsysはデスクトップ版Ubuntuにフォーカスしているため、デスクトップ画面からもログインしてみます。

ログイン画面が表示されたら、⁠アカウントが見つかりませんか?」と書かれたボタンをクリックします。すると、テキストボックスが表示されますので、ADのユーザー名(今回はadministrator@example.comを入力してEnterキーを押します。

図3 ADユーザーでログインする

パスワードを求められるのでそのユーザーのパスワードを入力しEnterキーを押します。

Ubuntuマシンが無事にドメインに参加できました。次にadsysを導入しますが、ここまでの内容はadsysなしでもできるという話にもなります。

adsysパッケージのインストール

無事にドメインに参加できたので、次はGPOを適用できるよう、adsysパッケージをインストールします。

$ sudo apt install -y adsys

パッケージがインストールされたらadsysdというデーモンサービスが稼働するようになります。

$ systemctl status adsysd.service
● adsysd.service - ADSys daemon service
     Loaded: loaded (/usr/lib/systemd/system/adsysd.service; static)
     Active: active (running) since Mon 2024-10-28 14:23:31 JST; 1min 23s ago
TriggeredBy: ● adsysd.socket
   Main PID: 10096 (adsysd)
      Tasks: 10 (limit: 4614)
     Memory: 18.3M (peak: 45.6M)
        CPU: 555ms
     CGroup: /system.slice/adsysd.service
             └─10096 /sbin/adsysd

10月 28 14:23:31 Ubuntu-2404 systemd[1]: Starting adsysd.service - ADSys daemon service...
10月 28 14:23:31 Ubuntu-2404 systemd[1]: Started adsysd.service - ADSys daemon service.

また、adsysctlというコマンドもインストールされます。名前の通りadsys周りの操作をおこなうコマンドで、GPOの適用状況を確認したり、GPOを適用したりできます。ちなみに、adsysctlコマンドを使ってポリシーの適用状況を見るには「GPOの参照権限がある」=「ADユーザーである」必要があります[5]。今回は手っ取り早くドメインのAdministratorユーザーを使って動作を確認してみます。

administrator@example.com@Ubuntu-2404:~$ adsysctl applied
Policies from machine configuration:
- Default Domain Policy ({31B2F340-016D-11D2-945F-00C04FB984F9})

Policies from user configuration:
- Default Domain Policy ({31B2F340-016D-11D2-945F-00C04FB984F9})

現時点では特に何も指定していないため、machine configuration(⁠⁠コンピューターの構成⁠⁠・user configuration(⁠⁠ユーザーの構成⁠⁠)ともにドメイン全体に適用されるデフォルトポリシーDefault Domain Policyが適用されていることがわかります。

なお、Administratorユーザーはドメインの管理者ですが、Ubuntuマシンのローカル管理者の権限は(まだ)与えられていないため、sudoコマンドは使えません。

administrator@example.com@Ubuntu-2404:~$ sudo id
[sudo] administrator@example.com のパスワード:
administrator@example.com は sudoers ファイルにありません。

ここは今後の作業でドメインユーザーにローカル管理者権限を与えたいと思います。


次回からは実際にグループポリシーを設定・適用していきます。またその中で、OUとGPOの関係についても実際の動作から確認します。

おすすめ記事

記事・ニュース一覧