Ubuntu/Debian デスクトップでスマート カード リダイレクトをサポートするには、Samba と Winbind ソリューションを使用して、ベース仮想マシン (VM) と Active Directory (AD) ドメインを統合します。
スマート カード リダイレクトで Ubuntu/Debian 仮想マシンと Active Directory ドメインを統合するには、次の手順に従います。
説明の中で、Active Directory ドメインの DNS 名などのネットワーク構成のエンティティをプレースホルダーで表している部分があります。次の表を参考にして、これらのプレースホルダーの値をご使用の環境に合わせて変更してください。
プレースホルダーの値 |
説明 |
dns_IP_ADDRESS |
DNS ネーム サーバの IP アドレス |
mydomain.com |
Active Directory ドメインの DNS 名 |
MYDOMAIN.COM |
Active Directory ドメインの DNS 名。すべて大文字にします。 |
MYDOMAIN |
ワークグループの DNS 名または Samba サーバが含まれている NT ドメインの DNS 名。すべて大文字にします。 |
ads-hostname |
Active Directory サーバのホスト名 |
ads-hostname.mydomain.com |
Active Directory サーバの完全修飾ドメイン名 (FQDN) |
mytimeserver.mycompany.com |
NTP タイム サーバの DNS 名 |
AdminUser |
仮想マシン管理者のユーザー名 |
手順
- Ubuntu/Debian 仮想マシンで、/etc/hostname 構成ファイルを編集して、仮想マシンのホスト名を定義します。
- DNS を設定します。
- /etc/hosts 構成ファイルに DNS サーバ名と IP アドレスを追加します。
- 次の例のように、DNS ネーム サーバの IP アドレスと Active Directory ドメインの DNS 名を /etc/network/interfaces 構成ファイルに追加します。
dns-nameservers dns_IP_ADDRESS
dns-search mydomain.com
- resolvconfig パッケージをインストールします。
- インストール コマンドを実行します。
sudo apt-get install -y resolvconf
システムにパッケージのインストールと再起動を許可します。
- 次のコマンドを実行して、/etc/resolv.conf ファイルの DNS 構成を確認します。
sudo cat /etc/resolv.conf
コマンドから次のような出力が返されることを確認します。
nameserver dns_IP_ADDRESS
search mydomain.com
- ネットワークの時刻同期を設定します。
- ntpdate パッケージをインストールします。
sudo apt-get install -y ntpdate
- 次の例のように、NTP サーバの情報を /etc/systemd/timesyncd.conf 構成ファイル に追加します。
[Time]
NTP=mytimeserver.mycompany.com
- NTP サービスを再起動します。
sudo service ntpdate restart
- 必要な Active Directory join パッケージをインストールします。
- インストール コマンドを実行します。
sudo apt-get install -y samba krb5-config krb5-user winbind libpam-winbind
libnss-winbind
- インストール プロンプトでデフォルトの Kerberos レルムが要求されたら、Active Directory ドメインの DNS 名を大文字で入力します(例:MYDOMAIN.COM)。次に、[OK] を選択します。
- 次の例のように、/etc/krb5.conf 構成ファイルを編集します。
[libdefaults]
dns_lookup_realm = false
ticket_lifetime = 24h
renew_lifetime = 7d
forwardable = true
rdns = false
default_realm = MYDOMAIN.COM
default_ccache_name = KEYRING:persistent:%{uid}
[realms]
MYDOMAIN.COM = {
kdc = ads-hostname.mydomain.com
admin_server = ads-hostname.mydomain.com
default_domain = ads-hostname.mydomain.com
pkinit_anchors = FILE:/etc/pki/nssdb/certificate.pem
pkinit_cert_match = <KU>digitalSignature
pkinit_kdc_hostname = ads-hostname.mydomain.com
}
[domain_realm]
.mydomain.com = MYDOMAIN.COM
mydomain.com = MYDOMAIN.COM
- Kerberos 認証を確認するには、次のコマンドを実行します。
sudo kinit Administrator@MYDOMAIN.COM
sudo klist
コマンドから次のような出力が返されることを確認します。
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: Administrator@MYDOMAIN.COMValid starting Expires Service principal
2019-05-27T17:12:03 2019-05-28T03:12:03 krbtgt/MYDOMAIN.COM@MYDOMAIN.COM
renew until 2019-05-28T17:12:03
- 次の例のように、/etc/samba/smb.conf 構成ファイルを編集します。
[global]
workgroup = MYDOMAIN
usershare allow guests = NO
idmap gid = 10000-20000
idmap uid = 10000-20000
kerberos method = secrets and keytab
realm = MYDOMAIN.COM
security = ADS
template homedir = /home/%D/%U
template shell = /bin/bash
winbind use default domain=true
winbind offline logon = yes
winbind refresh tickets = yes
- Active Directory ドメインに参加し、統合を確認します。
- Active Directory join コマンドを実行します。
sudo net ads join -U AdminUser@mydomain.com
sudo systemctl stop samba-ad-dc
sudo systemctl enable smbd nmbd winbind
sudo systemctl restart smbd nmbd winbind
- 次の例のように、/etc/nsswitch.conf 構成ファイルを変更します。
passwd: compat systemd winbind
group: compat systemd winbind
shadow: compat
gshadow: files
- Active Directory への参加結果を確認するには、次のコマンドを実行し、正しい出力が返されていることを確認します。
sudo wbinfo -u
sudo wbinfo -g
- Winbind ネーム サービスのスイッチを確認するには、次のコマンドを実行し、正しい出力が返されていることを確認します。
sudo getent group|grep 'domain admins'
sudo getent passwd|grep 'ads-hostname'
- すべての PAM プロファイルを有効にします。
PAM の設定画面で、
[Create home directory on login(ログイン時にホーム ディレクトリを作成)] を含むすべての PAM プロファイルを選択して、
[OK] を選択します。