Ubuntu/Debian デスクトップで True SSO をサポートするには、Samba と Winbind ソリューションを使用して、ベース仮想マシン (VM) と Active Directory (AD) ドメインを統合します。
Ubuntu/Debian 仮想マシンを Active Directory ドメインと統合するには、次の手順を実行します。
説明の中で、仮想マシンのホスト名などのネットワーク構成のエンティティをプレースホルダーで表している部分があります。次の表を参考にして、これらのプレースホルダーの値をご使用の環境に合わせて変更してください。
| プレースホルダーの値 | 説明 |
|---|---|
| dns_IP_ADDRESS | DNS ネーム サーバの IP アドレス |
| mydomain.com | Active Directory ドメインの DNS 名 |
| MYDOMAIN.COM | Active Directory ドメインの DNS 名。すべて大文字にします。 |
| myhost | Ubuntu/Debian 仮想マシンのホスト名 |
| MYDOMAIN | ワークグループの DNS 名または Samba サーバが含まれている NT ドメインの DNS 名。すべて大文字にします。 |
| ads-hostname | Active Directory サーバのホスト名 |
| admin-user | Active Directory ドメインの管理者のユーザー名 |
前提条件
以下を検証します。
- Active Directory サーバが仮想マシンの DNS で解決できる。
- 仮想マシンで NTP (Network Time Protocol) が設定されている。
手順
-
Ubuntu/Debian 仮想マシンで
sambaとwinbindパッケージをインストールします。sudo apt install samba krb5-config krb5-user winbind libpam-winbind libnss-winbind -
Kerberos 認証設定を構成します。
-
システムに Kerberos 認証設定のウィンドウが表示されない場合は、次のコマンドを実行して表示します。
sudo dpkg-reconfigure krb5-config -
[Default Kerberos version 5 realm] に、Active Directory ドメインの DNS 名をすべて大文字で入力します。
たとえば、Active Directory ドメインの名前が
mydomain.comの場合、MYDOMAIN.COMと入力します。 -
[Kerberos servers for your realm] で、Active Directory サーバのホスト名を入力します(この手順の例では
ads_hostname)。 -
[Administrative server for your Kerberos realm] に、Active Directory ドメインのホスト名を再度入力します。
-
-
PAM の設定を更新します。
-
PAM の設定ページを開きます。
pam-auth-update -
[Create Home Directory on Login] を選択して、[OK] を選択します。
-
-
次の例のように、
/etc/nsswitch.conf構成ファイルを編集します。passwd: compat winbind group: compat winbind shadow: compat gshadow: files -
正しい DNS サーバが自動的に検出された場合は、この手順をスキップして次の手順に進みます。正しい DNS サーバの検出に失敗した場合は、この手順を行い、DNS サーバを手動で設定します。
自動生成された
resolv.confファイルが検索ドメインとして Active Directory ドメインを参照するように、システム接続で NetworkManager の設定を編集します。次のサブステップでは、Ubuntu 20.04 システムの例を示します。-
NetworkManager コントロール パネルを開き、システム接続の [IPv4 Settings] に移動します。方法として、[Automatic (DHCP) addresses only] を選択します。[DNS servers] テキスト ボックスで、DNS ネーム サーバの IP アドレスを入力します(この手順の例では
dns_IP_ADDRESSです)。[Save] をクリックします。 -
次の例のように、
/etc/dhcp/dhclient.confファイルを編集します。supersede domain-name "mydomain.com"; prepend domain-name-servers dns_IP_ADDRESS; -
次の例のように、
/etc/systemd/resolved.confファイルを編集します。DNS=dns_IP_ADDRESS Domains="mydomain.com"**注:**新しいインスタント クローン仮想デスクトップを作成すると、新しい仮想ネットワーク アダプタが追加されます。クローン作成済みの仮想デスクトップにネットワーク アダプタを追加すると、仮想デスクトップ テンプレートによって、DNS サーバなどのネットワーク アダプタの設定がクリアされます。新しいネットワーク アダプタを追加するときに DNS サーバの設定を維持するには、仮想マシンの DNS サーバを指定する必要があります。
-
DNS サーバを指定するには、次の例のように、
/etc/resolv.conf構成ファイルを編集します。警告が表示された場合は、警告を無視して変更を続行できます。nameserver dns_IP_ADDRESS search mydomain.com -
仮想マシンを再起動して、再度ログインします。
-
-
次の例のように、
/etc/hosts構成ファイルを編集します。127.0.0.1 localhost 127.0.1.1 myhost.mydomain.com myhost -
次の例のように、
/etc/samba/smb.conf構成ファイルを編集します。[global] security = ads realm = MYDOMAIN.COM workgroup = MYDOMAIN idmap uid = 10000-20000 idmap gid = 10000-20000 winbind enum users = yes winbind enum groups = yes template homedir = /home/%D/%U template shell = /bin/bash client use spnego = yes client ntlmv2 auth = yes encrypt passwords = yes winbind use default domain = yes restrict anonymous = 2 kerberos method = secrets and keytab winbind refresh tickets = true -
smbdサービスを再起動します。sudo systemctl restart smbd.service -
次の例のように、
/etc/krb5.conf構成ファイルの内容を編集します。[libdefaults] default_realm = MYDOMAIN.COM dns_lookup_realm = true dns_lookup_kdc = true [realms] MYDOMAIN.COM = { kdc = ads-hostname admin_server = ads-hostname } [domain_realm] .mydomain.com = MYDOMAIN.COM mydomain.com = MYDOMAIN.COM -
Ubuntu/Debian 仮想マシンを Active Directory ドメインに参加させます。
-
Kerberos チケットを開始します。
sudo kinit admin-userプロンプトが表示されたら、管理者パスワードを入力します。
-
チケットが正常に作成されたことを確認します。
sudo klistこのコマンドは、チケットに関する情報(有効期間の開始時間や有効期限)を返します。
-
Kerberos キータブ ファイルを作成します。
sudo net ads keytab create -U admin-user -
Active Directory ドメインに参加します。
sudo net ads join -U admin-user
-
-
Winbind サービスを再起動して確認します。
-
Winbind サービスを再起動します。
sudo systemctl restart winbind.service -
Winbind サービスを確認するには、次のコマンドを実行し、正しい出力が返されていることを確認します。
sudo wbinfo -usudo wbinfo -gsudo getent passwdsudo getent group
-
-
仮想マシンを再起動して、再度ログインします。
次のステップ
このページは役に立ちましたか?