前提条件
- ActiveDirectoryが構築されていること。
- ActiveDirectoryサーバへドメイン参加させることができる資格情報を持っていること。
- ドメインコントローラが権威DNSサーバとして機能していること。
- 既にUbuntuサーバが構築されていること。
- システム時刻が正確に同期していること。
- 本記事で使用するドメインは「rat-example.jp」とします。
ソフトウェアのインストール
必要なパッケージをインストールします。
- sssd-ad
- sssd-tools
- realmd
- adcli
#コマンド
sudo apt install sssd-ad sssd-tools realmd adcli
ドメインに参加する
realmパッケージのコマンドを使用してドメインに参加し、sssd(System Security Services Daemon)構成を作成します。
ドメインがDNS経由で検出可能であることを確認します。
$ sudo realm -v discover rat-example.jp
* Resolving: _ldap._tcp.adsv101v.rat-example.jp
* Resolving: adsv101v.rat-example.jp
* Performing LDAP DSE lookup on: 172.16.1.70
* Successfully discovered: rat-example.jp
rat-network.home
type: kerberos
realm-name: RAT-EXAMPLE.JP
domain-name: rat-example.jp
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
ドメインが検出でき、IPアドレスも確認できました。
次にドメインに参加します。
$ sudo realm join rat-example.jp
Password for Administrator
-v
オプション
何をしていたのかプロセスを確認したい場合は-v
オプションを付けてください。
-U
オプション
デフォルトでrealmはドメインの管理者アカウント(Administrator)を使用してドメイン参加を求めてきますが、別のアカウントを使用する場合は、-U
オプションを利用してください。
SSSDの構成
SSSDの設定情報を確認します。
/etc/sssd/sssd.conf
[sssd]
domains = rat-example.jp
config_file_version = 2
services = nss, pam
[domain/rat-example.jp]
default_shell = /bin/bash
krb5_store_password_if_offline = True
cache_credentials = True
krb5_realm = RAT-EXAMPLE.JP
realmd_tags = manages-system joined-with-adcli
id_provider = ad
fallback_homedir = /home/%u@%d
ad_domain = ad1.example.com
use_fully_qualified_names = True
ldap_id_mapping = True
access_provider = ad
- cache_credentials:ADサーバーにアクセスが出来ない場合でもログインが可能になります。
- use_fully_qualified_names:ユーザーはログインするときuser@domainの形式になります。正直入力が面倒なのでこれはFalseにすることをお勧めします。ただし、他のドメインがADフォレストに参加しないことが確実な場合のみ設定してください。
ホームディレクトリの自動作成設定
ユーザーがログインした時に自動でホームディレクトリを作成するようにします。
sudo pam-auth-update --enable mkhomedir
ADユーザーに関する情報の取得
ADユーザーに関する情報を取得することが出来ます。
getent passwd user@example.com
ADユーザーでログイン
最後にADユーザーでログインしてみます。
参考資料
基本的に公式ドキュメントを確認して作成しています。