Ubuntu デスクトップでスマート カード リダイレクトをサポートするには、Samba と Winbind ソリューションを使用して、デスクトップと Active Directory (AD) ドメインを統合します。
スマート カード リダイレクトで Ubuntu デスクトップと 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 |
Linux デスクトップ管理者のユーザー名 |
手順
- Ubuntu デスクトップで、/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 パッケージをインストールします。
- インストール コマンドを実行します。
apt-get install -y resolvconf
システムにパッケージのインストールと再起動を許可します。
- 次の例のように、/etc/resolv.conf ファイルの DNS 構成を確認します。
cat /etc/resolv.conf
…
nameserver dns_IP_ADDRESS
search mydomain.com
- ネットワークの時刻同期を設定します。
- ntpdate パッケージをインストールします。
apt-get install -y ntpdate
- 次の例のように、NTP サーバの情報を /etc/systemd/timesyncd.conf 構成ファイル に追加します。
[Time]
NTP=mytimeserver.mycompany.com
- NTP サービスを再起動します。
sudo service ntpdate restart
- 必要な Active Directory join パッケージをインストールします。
- インストール コマンドを実行します。
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 認証を確認するには、次のコマンドを実行します。
kinit Administrator@MYDOMAIN.COM
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
realm = MYDOMAIN.COM
password server = ads-hostname.mydomain.com
security = ads
kerberos method = secrets only
winbind use default domain = true
winbind offline logon = false
template homedir =/home/%D/%U
template shell = /bin/bash
client use spnego = yes
client ntlmv2 auth = yes
encrypt passwords = yes
passdb backend = tdbsam
winbind enum users = yes
winbind enum groups = yes
idmap uid = 10000-20000
idmap gid = 10000-20000
- Active Directory ドメインに参加し、統合を確認します。
- Active Directory join コマンドを実行します。
net ads join -U AdminUser@mydomain.com
systemctl stop samba-ad-dc
systemctl enable smbd nmbd winbind
systemctl restart smbd nmbd winbind
- 次の例のように、/etc/nsswitch.conf 構成ファイルを変更します。
passwd: compat systemd winbind
group: compat systemd winbind
shadow: compat
gshadow: files
- Active Directory への参加結果を確認するには、次のコマンドを実行し、正しい出力が返されていることを確認します。
- Winbind ネーム サービスのスイッチを確認するには、次のコマンドを実行し、正しい出力が返されていることを確認します。
getent group|grep 'domain admins'
getent passwd|grep 'ads-hostname'
- すべての PAM プロファイルを有効にします。
PAM の設定画面で、
[Create home directory on login(ログイン時にホーム ディレクトリを作成)] を含むすべての PAM プロファイルを選択して、
[OK] を選択します。
- Ubuntu 16.04 では、ログイン画面でユーザー スイッチを有効にします。次の例のように、/usr/share/lightdm/lightdm.conf.d/50-ubuntu.conf ファイルを変更します。
user-session=ubuntu
greeter-show-manual-login=true