Ubuntu Weekly Recipe

第838回Active Directoryへの統合ツールadsysを使う(3)
グループポリシーの設定

前回はUbuntuマシンをActive Directory(以下、AD)に参加させ、adsysdを展開しました。

今回はUbuntuマシンを利用するADユーザーやUbuntuマシンにGPOを適用します。

OU、GPO、ADユーザーの作成

今回はグループポリシーオブジェクト(以下、GPO)や、GPOを適用するadsysの動きがよりわかりやすくなるように環境を用意します。そのために、ドメインコントローラー側で操作し、ドメインに組織単位(以下、OU)とそれに対応するGPO、ADユーザーといったものを作成していきます[1]

まずはOUを作成します。スタートメニューの「Windows 管理ツール」から「Active Directory ユーザーとコンピューター」を開き、ドメイン名(今回も引き続きexample.comドメイン)を右クリックし、⁠新規作成⁠⁠-⁠組織単位 (OU)」とたどってクリックします。

Ubuntuマシン、ADユーザーのそれぞれにグループポリシーが適用される様子がわかりやすくなるよう、次の2つのOUを作成します。

  • adsysTestComputerOU:コンピューターオブジェクトを所属させるためのOU
  • adsysTestUserOU:ADユーザーを所属させるためのOU
図1 OUを2つ作成したあとの状態

続いて、それぞれのOUに対応するGPOを作成します。同じくスタートメニューを開き「Windows 管理ツール」から「グループ ポリシーの管理」を開きます。すると左側のツリーに先ほど作成したOUが見えているはずです。各OUを右クリックし、⁠このドメインの GPO を作成し、このコンテナーにリンクする」をクリックします。それぞれのOUに対し、次の対応関係でGPOを作成します。

  • adsysTestComputerOU:adsysTestComputerGPO
  • adsysTestUserOU:adsysTestUserGPO
図2 GPOを作成したあとの状態

最後に、ADユーザーを作成します。再び「Active Directory ユーザーとコンピューター」を開きます。このADユーザーは先ほど作成したadsysTestUserOUに所属させることにしましょう。adsysTestUserOUの上で右クリックし、⁠新規作成⁠⁠-⁠ユーザー」とたどってクリックします。⁠フル ネーム」「ユーザー ログオン名」にそれぞれ"ubuntu"と入れて、⁠次へ」をクリックします。すると、パスワードの設定画面になるので、パスワードを設定します。このユーザーとしてはこのあとログインするため「ユーザーは次回ログオン時にパスワード変更が必要」はチェックを外しておきます。

図3 ADユーザーを作成したあとの状態

ADユーザーへのポリシーの適用状況を確認する

この状態で一度、Ubuntuマシンから、ADユーザーに適用されるGPOを確認しておきます。Ubuntuマシンに接続し、先ほど作成したADユーザーであるubuntuユーザーとしてログインします。

$ sudo login
Ubuntu-2404 login: ubuntu@example.com
パスワード:
...
Applying user settings

ログインしたらGPOの適用状況を確認します。

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

Policies from user configuration:
- adsysTestUserGPO ({7C0B49C8-86B7-444C-B37F-4D5EF323EDF3})
- Default Domain Policy ({31B2F340-016D-11D2-945F-00C04FB984F9})

コンピューターオブジェクトとしては特に何も操作していないため、"machine configuration"(⁠⁠コンピューターの構成⁠⁠)はデフォルトのドメインポリシーのみが適用されています。

一方、"user configuration"(⁠⁠ユーザーの構成⁠⁠)についてはADユーザーであるubuntuユーザーがadsysTestUserOUに所属するため、このOUにリンクされたadsysTestUserGPOのポリシーが適用されていることがわかります。もっとも、この段階ではadsysTestUserGPOにポリシーを設定していないため、特に効果はありません。次節にて設定してみます。

振り返りになりますが、比較のために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})

Administratorユーザーの場合、特にOUに属していないため、ユーザーポリシーはデフォルトのドメインポリシーだけが適用されていることがわかります。

このように、GPOのリンクされたOUに属するユーザーには、そのGPOのユーザーポリシーが適用されます。

ユーザーポリシーを設定する

それでは、adsysTestUserGPOのユーザーポリシーを設定してみます。再びドメインコントローラーで「グループ ポリシーの管理」を開き、adsysTestUserGPOを右クリック、⁠編集」をクリックします。すると第836回でもスクリーンショットを示した「グループ ポリシー管理エディター」が開きます。

左側のツリーから「ユーザーの構成⁠⁠-⁠ポリシー⁠⁠-⁠管理用テンプレート⁠⁠-⁠Ubuntu⁠⁠-⁠Desktop⁠⁠-⁠Shell」とたどって開きます。すると右ペインに"List of desktop file IDs for favourite applications"という設定項目が見えます。

図4 "List of desktop file IDs for favourite applications"にたどり着いたところ

この設定項目をダブルクリックして開きます。

「ヘルプ」に記載がある通り、この設定はお気に入りとして表示するアプリケーション(ログインしたときに左側に並んでいるアイコン)を調整するためのポリシーです。デフォルトで状態は「未構成」で、次のようなチョイス・並びになっています。

図5 デフォルト状態のお気に入りアプリケーション

これを「有効」にします。すると「オプション」以下のグレーアウトが解除されます。"List of desktop file IDs for favourite applications"の下にあるテキストボックスに.desktopファイル名をリスト形式で記述していきます。[2]あるいは"Override value for 24.04"などにチェックを入れて、リリースごとに値を設定することも可能です。

今回はわかりやすくFirefoxのアイコンだけをお気に入りのアプリケーションとして表示させます。⁠ヘルプ」欄の説明を読むと、Ubuntu 24.04では'firefox_firefox.desktop'が該当するとあります。したがって、[ 'firefox_firefox.desktop' ]と入力します。設定が完了すると次のスクリーンショットのような状態となります。

図6 お気に入りアプリケーションの設定後の状態

ちなみに、Ubuntu 20.04の場合はファイル名が異なり'firefox.desktop'となっているようなので、Ubuntu 20.04を含む環境を同じようにセットアップする場合は"Override value for 20.04"にチェックを入れ、別の値で上書きする必要があります。

それでは、ユーザーポリシーを適用してみます。ユーザーポリシーはログイン時に適用されるため、ログアウト・ログインしても構いませんが、せっかくなのでadsysctlを使ってみます。

ubuntu@example.com@Ubuntu-2404:~$ adsysctl update

すると、お気に入りのアプリケーションにFirefoxのみが表示され、他のアイコンが消えます。

図7 ユーザーポリシー適用後のお気に入りのアプリケーション

ちなみに、ポリシーの「ヘルプ」

- Type: dconf
- Key: /org/gnome/shell/favorite-apps

とある通りこの設定は対象ユーザーのdconfの/org/gnome/shell/favorite-appsキーの値を変更することで実現しています。実際の設定を確認してみましょう。

ubuntu@example.com@Ubuntu-2404:~$ dconf read /org/gnome/shell/favorite-apps
['firefox_firefox.desktop']

コンピューターポリシーを適用する

ユーザーポリシーと同様にコンピューターポリシーも設定してみましょう。今回はお手軽にログイン画面の背景を変えます。

先ほどと同様にadsysTestComputerGPOの「編集」から「グループ ポリシー管理エディター」を開きます。左側のツリーから「コンピューターの構成⁠⁠-⁠ポリシー⁠⁠-⁠管理用テンプレート⁠⁠-⁠Ubuntu⁠⁠-⁠Login Screen⁠⁠-⁠Interface」と開きます。すると右ペインに"Sets the background image for the login screen."という設定項目が見えてきます。

図8 "Sets the background image for the login screen."までたどり着いたところ

これをダブルクリックして開きます。デフォルトで状態は「未構成」ですが、これを有効にします。すると「オプション」以下のグレーアウトが解除されます。"Sets the background image for the login screen."の下のテキストボックスに、ログイン画面の背景とする画像へのパスを入力します。今回は'file:///usr/share/backgrounds/ubuntu-default-greyscale-wallpaper.png'と入力します(シングルクォートありの点に注意してください)[3]

図9 "Sets the background image for the login screen."ポリシーを設定した状態

なお、お気に入りのアプリケーションと同様に、こちらも"Override value for 24.04"などにチェックを入れると対応するリリースのマシンごとに異なる設定が適用されるように指定できます。

ちなみにデフォルトでは次のような背景です。

図10 背景変更前のログイン画面

さて、適用対象となるUbuntuマシンはこの時点では特にOUに属していません。よって、ポリシーを設定したadsysTestComputerGPOも適用されないため、コンピューターオブジェクトのOUを移動しGPOが適用されるようにします。

ドメインコントローラーから「Active Directory ユーザーとコンピューター」を開き、左のツリーから「example.com⁠⁠-⁠Computers」とたどります。右ペインに対象コンピューターが見えてくるので、右クリックして、⁠移動」をクリックします。すると移動先のコンテナが選べるようになるので、adsysTestComputerOUを選択して「OK」を押します。

図11 対象コンピューターを選択
図12 ⁠移動」画面

ツリーからadsysTestComputerOUを開くとコンピューターが移動しているはずです。

続いて対象マシンに移りコンピューターポリシーを適用します。GPOをリフレッシュするadsys-gpo-refresh.serviceをトリガーするadsys-gpo-refresh.timerが設定されています。そのため、待っていればそのうち適用されます。しかし、デフォルトではタイマーの設定が90分のため、最大90分待つ必要があります。

$ systemctl cat adsys-gpo-refresh.timer
# /usr/lib/systemd/system/adsys-gpo-refresh.timer
[Unit]
Description=Refresh ADSys GPO for machine and users

[Timer]
OnBootSec=90min
OnUnitActiveSec=90min

[Install]
WantedBy=timers.target

GPOをすぐ適用したい場合は、ローカル管理者権限でadsys-gpo-refresh.serviceを起動させます[4]

$ sudo systemctl start adsys-gpo-refresh.service

ログイン画面を見ると背景が変わっているはずです。

図13 GPO適用後のログイン画面

こちらもポリシーの「ヘルプ」

- Type: dconf
- Key: /com/ubuntu/login-screen/background-picture-uri

とある通り、dconfの当該キーの値を変更することで実現しています。ただし、ログイン画面なので変更されているのはgdmユーザーのキーです。

$ sudo -u gdm DCONF_PROFILE=gdm dconf read /com/ubuntu/login-screen/background-picture-uri
'file:///usr/share/backgrounds/ubuntu-default-greyscale-wallpaper.png'

ログイン画面の背景が変わったようにadsysctlから見てもadsysTestComputerGPOのコンピューターポリシーが適用されていることがわかります。

ubuntu@example.com@Ubuntu-2404:~$ adsysctl applied
Policies from machine configuration:
- adsysTestComputerGPO ({4E7EE036-D420-4AB5-B6A2-D3D3BA68A184})
- Default Domain Policy ({31B2F340-016D-11D2-945F-00C04FB984F9})

Policies from user configuration:
- adsysTestUserGPO ({7C0B49C8-86B7-444C-B37F-4D5EF323EDF3})
- Default Domain Policy ({31B2F340-016D-11D2-945F-00C04FB984F9})

今回は実際にUbuntuマシン向けにユーザーポリシーやコンピューターポリシーを設定し、adsysによりポリシーが適用される様子を確認しました。また、ADユーザーやコンピューターの所属するOUの違いにより適用されるGPOが変わってくることも確認しました。

ただ、第837回の最後で触れたようなドメインユーザーに管理者権限を与えるということはまだできません。これを実現するためにはUbuntu Proサブスクリプションが必要です。

次回はUbuntuマシンにUbuntu Proサブスクリプションを適用することで設定できるようになるポリシーについて紹介します。

おすすめ記事

記事・ニュース一覧