設定 - Active Directory
概要
MicrosoftのActive Directory (AD) は、多くの組織で利用されているディレクトリサービスである。
もし、組織内でWindowsとLinuxが混在した環境が存在する場合、両方のプラットフォームの認証を一元化すべきである。
Active Directoryの前提条件
LinuxクライアントがActive Directoryに参加するには、各種設定が必要である。
- クライアント端末において、DNSが設定されていることを確認する。
- クライアント端末およびActive DirectoryサーバのIPアドレスを固定化する。
IPアドレスの競合を避けるため、ルータからIPアドレスを予約することを推奨する。 - システムが自動的にNetBIOS名を生成するドメイン名を作成する。
システムから提供されたNetBIOS名を維持して、別のホスト名を設定する必要がある。 - 他のクライアント端末がActive Directoryにアクセスできるように、ネットワーク検出が有効になっていることを確認する。
- クライアント端末をActive Directoryに参加させるため、適切な認証情報を持たせる。 (最も重要)
ライブラリのインストール
RHEL / SUSEをActive Directoryに接続するためには、SSSDとRealmdが必要である。
SSSDは、中央のIDおよび認証ソースと相互作用する。
Realmdは、利用可能なドメインを検出して、SSSDがドメインに接続するように基盤となるシステムサービスを設定する。
oddjob、oddjob-mkhomedir、adcliもインストールする。
これらは、Realmdを使用するシステムの管理に必要となる。
# RHEL sudo dnf install sssd sssd-tools sssd-ad realmd \ oddjob oddjob-mkhomedir adcli # realmdを使用するシステムの管理に必要 # SUSE sudo zypper install sssd sssd-tools sssd-ad realmd \ oddjob oddjob-mkhomedir adcli # realmdを使用するシステムの管理に必要
Active Directoryドメインへの参加
DNSの設定
まず、クライアントPCのDNSサーバの参照先をドメインコントローラに設定する。
sudo vi /etc/resolv.conf
# /etc/resolv.confファイル nameserver <ドメインコントローラのIPアドレス>
設定を反映する。
sudo netconfig update -f
※注意
Active DirectoryをDNSサーバとして追加する最も推奨される方法は、ルータ上で設定することである。 (ルータにアクセスできる場合のみ)
これにより、クライアント端末がIPアドレスを要求した時にDNS情報も提供されるため、より簡単になる。
各クライアント端末にログインしてDNSを設定する必要が無くなるため、時間の節約になる。
ネットワークの確認
Active Directoryドメインに参加する前に、クライアントPCのNICを確認する。
sudo nmcli device show <ネットワークインターフェイス名> 例: sudo nmcli device show eth0
Active Directoryドメインの確認
参加対象のActive Directoryドメインの情報を検出できるかどうかを確認する。
レルムはActive DirectoryドメインやIPAドメインのようなKerberosレルムへの登録を管理するコマンドラインツールである。
--discover
オプションにより、レルム/ドメインとその機能を見つけることができる。
sudo realm discover <Active DirectoryサーバのDNSドメイン名>
これを実行すると、sssdで使用する最適なソフトウェアスタックが決定される。
また、完全なドメイン設定とシステムをドメインに登録するためにインストールが必要なパッケージのリストを返す。
さらに、sssdはpackagekit経由で不足しているパッケージをインストールすることができる。
Active Directoryドメインへの参加
Active Directoryドメインへ参加する。
パスワードの確認が要求されるため、Active Directoryドメインの管理者アカウントのパスワードを入力する。
sudo realm join <Active DirectoryサーバのDNSドメイン名>
Administratorとは別のアカウントを使用している場合は、-U
オプションを付加して、そのアカウント名を渡す必要がある。
sudo realm join -U <別のアカウント名> <Active DirectoryサーバのDNSドメイン名>
もし、ワンタイムパスワードを使用してアクティブドメインに参加する場合は、-one-time-password
オプションを付加する。
ただし、すべてのタイプのドメインで可能なわけではないことに注意する。
また、詳細を表示する場合は、-v
フラグを付加する。
sudo realm join -v <Active DirectoryサーバのDNSドメイン名>
Active Directoryドメインアカウント情報の確認
クライアントPCからActive Directoryドメインアカウントの識別情報を取得する。
id <管理者ID>@<Active DirectoryサーバのDNSドメイン名>
クライアントPCの確認
ドメインコントローラからクライアントPCを確認する。
- まず、ドメインコントローラにログインする。
- [Active Directory ユーザーとコンピューター]から[Computers]を選択する。
- Active Directoryドメインに登録したクライアントPCが表示されているかどうかを確認する。
ログインの確認
まず、クライアントPCからActive Directoryドメインのアカウントを使用してログインする。
RHEL / SUSEのDM画面において、Active Directoryドメインのアカウント名とパスワードを入力する。
- ユーザ名
- <Active Directoryドメインのアカウント名>@<Active DirectoryサーバのDNSドメイン名>
- パスワード
- Active Directoryドメインのアカウント名のパスワード
次に、ドメインコントローラからPowershell等を使用して、クライアントPCに接続する。