前回記事でSamba4とSSSDを利用してLinux/Widowsの統合認証環境を構築しました。

今回はLinuxサーバをドメイン参加させてメンバーサーバを構成します。

構成環境は下記です。

  • ドメイン名                      : TESTDOMAIN.LOCAL
  • 追加メンバーサーバ        : server01.testdomain.local
  • 追加メンバーサーバIP     : 192.168.24.60

ドメイン参加させるLinuxサーバの要件は、

  • ユーザはにsssd経由でログインできる
  • Linuxのホームディレクトリはドメインコントローラ1台目のホームディレクトリを共有する

 です。

 今回もCentOS7で構築します。

1. 不要な機能の停止

構築時のエラーを防ぐため、ファイアーウォールの停止とSELinuxを無効化します。

# systemctl stop firewalld.service
# systemctl disable firewalld.service
# systemctl list-unit-files | grep firewalld.service
firewalld.service                           disabled

# getenforce
Enforcing
# vi /etc/selinux/config

<略>
#SELINUX=enforcing                  # コメントアウト 
SELINUX=disabled                      # 追記
<略>

# reboot
# getenforce
Disabled

 

2. 必要なパッケージのインストール

ドメイン参加に必要なパッケージをインストールします。

# yum install krb5-workstation

 

3. DNSの設定変更

参照先のDNSをsambaで構築したDNSに変更します。

# nmcli device
デバイス    タイプ    状態      接続
enp0s3      ethernet  接続済み  System enp0s3
lo          loopback  管理無し  --
# nmcli connection modify "System enp0s3" ipv4.dns "192.168.24.57,192.168.24.58"
# systemctl restart NetworkManager

/etc/resolv.confファイルの中身を確認して、参照先DNSが自サーバになっていることを確認します。

# more /etc/resolv.conf
# Generated by NetworkManager
search testdomain.local
nameserver 192.168.24.57
nameserver 192.168.24.58

 

4. ドメイン参加の準備

Linuxをドメイン参加させるため samba の設定をします。

# vi /etc/samba/smb.conf

[global]
   workgroup = testdomain
   kerberos method = secrets and keytab
   log file = /var/log/samba/%m.log
   realm = TESTDOMAIN.LOCAL
   security = ads

krb5.conf ファイルの内容を編集します。

# vi /etc/krb5.conf

[logging]
 default = FILE:/var/log/krb5libs.log
 kdc = FILE:/var/log/krb5kdc.log
 admin_server = FILE:/var/log/kadmind.log

[libdefaults]
 default_realm = TESTDOMAIN.LOCAL
 dns_lookup_realm = false
 dns_lookup_kdc = false
 ticket_lifetime = 24h
 renew_lifetime = 7d
 forwardable = true

[realms]
 TESTDOMAIN.LOCAL = {
  kdc = dc01.testdomain.local
  kdc = dc02.testdomain.local
  admin_server = dc01.testdomain.local
  admin_server = dc02.testdomain.local
 }

[domain_realm]
 .testdomain.local = TESTDOMAIN.LOCAL
 testdomain.local = TESTDOMAIN.LOCAL

kinit を実行してチケットを取得します。

# kinit このメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。
Password for このメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。:

チケットが取得できているこを確認します。

# klist
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: このメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。
Valid starting       Expires              Service principal
2016-11-20T16:59:40  2016-11-21T02:59:40  krbtgt/このメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。
        renew until 2016-11-27T16:59:35

 

5. ドメイン参加

net コマンドを使ってLinuxサーバをドメイン参加します。

# net ads join -U administrator
Enter administrator's password:
Using short domain name -- TESTDOMAIN
Joined 'SERVER01' to dns domain 'testdomain.local'
No DNS domain configured for server01. Unable to perform DNS Update.
DNS update failed: NT_STATUS_INVALID_PARAMETER

DNSエラーが出ますがが問題ありません。

取得したチケットの一覧を表示して確認します。

# klist -ke
Keytab name: FILE:/etc/krb5.keytab
KVNO Principal
---- --------------------------------------------------------------------------
   2 host/このメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。 (des-cbc-crc)
   2 host/このメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。 (des-cbc-md5)
   2 host/このメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。 (aes128-cts-hmac-sha1-96)
   2 host/このメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。 (aes256-cts-hmac-sha1-96)
   2 host/このメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。 (arcfour-hmac)
   2 host/このメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。 (des-cbc-crc)
   2 host/このメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。 (des-cbc-md5)
   2 host/このメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。 (aes128-cts-hmac-sha1-96)
   2 host/このメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。 (aes256-cts-hmac-sha1-96)
   2 host/このメールアドレスはスパムボットから保護されています。閲覧するにはJavaScriptを有効にする必要があります。 (arcfour-hmac)
   2 SERVER01$@TESTDOMAIN.LOCAL (des-cbc-crc)
   2 SERVER01$@TESTDOMAIN.LOCAL (des-cbc-md5)
   2 SERVER01$@TESTDOMAIN.LOCAL (aes128-cts-hmac-sha1-96)
   2 SERVER01$@TESTDOMAIN.LOCAL (aes256-cts-hmac-sha1-96)
   2 SERVER01$@TESTDOMAIN.LOCAL (arcfour-hmac)

 

6. Linuxの認証をSSSD経由でActiveDirectoryと連携

個別要件の

  • Linuxユーザはsssd経由でログインできる

を満たす設定をします。

必要なパッケージをインストールします。

# yum install sssd sssd-ad krb5-workstation oddjob-mkhomedir openldap-clients

sssdの設定ファイルを編集します。

# vi /etc/sssd/sssd.conf

[sssd]
config_file_version = 2
domains = testdomain.local
services = nss, pam
debug_level = 0

[nss]

[pam]

[domain/testdomain.local]
id_provider = ad
auth_provider = ad
access_provider = ad
chpass_provider = ad
entry_cache_netgroup_timeout = 15
entry_cache_timeout = 15

ldap_id_mapping = false

# ad_server = server.ad.example.com
#ad_hostname = server.ad.example.com
ad_admin = testdomain.local

1台目構築時と同じく設定のポイントはこちらです。

  • ldap_id_mapping

            true に設定するとIDを自動生成します。false に設定するとActive DirectoryからIDを取得します。今回は false です。

sssdの設定ファイルのアクセス権を変更します。

# chown root:root /etc/sssd/sssd.conf
# chmod 0600 /etc/sssd/sssd.conf

NSS/PAMの設定をSSSDに切り替えます。

# authconfig --enablesssd --enablesssdauth --enablemkhomedir --update

SSSDを起動します。 

# systemctl restart sssd.service

エラーなく起動したら接続テストを行います。

1台目構築時に作成したユーザの情報をidコマンドで取得します。

# id test01
uid=200001(test01) gid=100000(domain users) groups=100000(domain users)

取得できれば接続テストは完了です。

 

7. NFS と Autofs でホームディレクトリを共有

必要なパッケージをインストールします。

# yum install autofs

auto.master にマウントポイントを記述します。

# vi /etc/auto.master

/- /etc/testdomain.local.misc --timeout=60

testdomain.local.misc にはマウントポイントのマウント方法を記述します。

# vi /etc/testdomain.local.misc

/home/testdomain.local -rw dc01:/home/testdomain.local

autofs サービスを起動します。

# systemctl start autofs
# systemctl enable autofs

マウントポイントを作成します。

# mkdir -m 711 /home/testdomain.local

動作確認を行います。

今回構築したメンバーサーバに test01 ユーザでログインします。

$ id
uid=200001(test01) gid=100000(domain users) groups=100000(domain users)
$ ls -l
-rw-r--r-- 1 test01 domain users 5 11月 13 01:17 test.txt

問題なくホームディレクトリが共有されていることが確認できれば確認完了です。

 

お疲れ様でした。

 

Joomla templates by a4joomla