前回示した構成での構築を進めていく。対象となる環境はAWSで、VPCを用意して、そこにActive Directory Domain Serviceを構成する。
ちなみに、VPC上にActive Directoryを構築する方法については、Active Directory on AWSが大変参考になる。
構築したADの情報
今回は、下記のような構成でADを用意した。
- ドメイン名は、example.localとする。NetBIOS名はEXAMPLEとなる。
- 複数AZにそれぞれ一台ずつADサーバを用意する。
- ad1.example.local (10.0.2.4)
- ad2.example.local (10.0.130.4)
- DHCP Option Setで、VPC内の名前解決をADサーバでできるように設定しておく。
netbios-node-type = 2 ntp-servers = 10.0.2.4, 10.0.130.4 domain-name = exmaple.local domain-name-servers = 10.0.2.4, 10.0.130.4 netbios-name-servers = 10.0.2.4, 10.0.130.4
以上のような環境に、Red Hat Enterprise Linux 7(RHEL7)を追加して、ユーザ認証をADでできるようにする。
基本設定
認証まわりの設定をする前の、前提となるいくつかの基本的な設定を行う。
ホスト名の設定
RHEL7でホスト名を変更するの手順に従って、ホスト名を適切なものに変更する。
# hostnamectl set-hostname linux1 --static # vim /etc/cloud/cloud.cfg preserve_hostname: true # 追記
時計を調整する
タイムゾーンをJSTに変更したり、ADサーバと同期させたりする。NTPについては、ADやVPCの設定が適切に設定されていれば、特に追加の設定はいらないはず。
各種パッケージのインストール
今回必要となるパッケージは以下のとおり。
- sssd, sssd-ad
- RHEL7には、SSSDのパッケージが用意されているので、それを導入する。sssd-adという、Active Directoryに対応するパッケージがあるので、それも入れる。
- krb5-workstation
- 認証にKerberosを使用するため、Kerberos関連のパッケージを入れる。
- samba-client
- ドメインに参加する際に、netコマンドを使用するので入れる。
- oddjob-mkhomdir
- ドメインユーザがログインした時に、自動的にホームディレクトリを作成してくれるツールも入れる。
ということで、下記のコマンドを実行してインストールする。
# yum -y install sssd sssd-ad krb5-workstation samba-client oddjob-mkhomedir
Kerberosの設定
/etc/krb5.confの、libdefaultsセクションを、下記のように設定する。
[libdefaults] dns_lookup_realm = true dns_lookup_kdc = true ticket_lifetime = 24h renew_lifetime = 7d forwardable = true rdns = false default_realm = EXAMPLE.LOCAL default_ccache_name = KEYRING:persistent:%{uid}
Sambaの設定
ドメインに参加する目的でnetコマンドを使用するため、/etc/samba/smb.confのglobalセクションを下記のように設定する。
[global] workgroup = EXAMPLE client signing = yes client use spnego = yes kerberos method = secrets and keytab security = ads realm = EXAMPLE.LOCAL password server = AD1.EXAMPLE.LOCAL AD2.EXAMPLE.LOCAL
Kerberosの初期化
kinitを実行して、TGTを取得する。指定するアカウントは、ADのドメイン管理者を指定する。
# kinit Administrator Password for Administrator@EXAMPLE.LOCAL:
ドメインに参加
net ads joinを実行して、ドメインに参加する。
# net ads join -U administrator Enter administrator's password: Using short domain name -- EXAMPLE Joined 'LINUX1' to dns domain 'example.local' No DNS domain configured for jump. Unable to perform DNS Update. DNS update failed: NT_STATUS_INVALID_PARAMETER
“Joined ‘LINUX1’ … と出力されているので、ドメインに参加できている。その下に出力されているエラーは、DNSの動的更新に失敗したというエラーになる。今回やることに影響がないので、とりあえず放っておく。これについては別途解決する予定。
ここまでで、ADドメインへの参加ができた。ちょっと長くなってきたので今回はここまでとする。待て次号!
元記事はこちらです。
「[Linux][Windows] RHEL7をActive Directory on Windows Server 2012 R2でユーザ認証させる (2)」