9月 292015
 

SSSD+AD格納(NIS機能有効) 構築手順

UID情報をADに格納する構築手順メモ。NIS機能をインストールパターン。基本的にはSSSD+ID自動生成と同じ手順で、NISをインストールして、SSSDの設定でldap_id_mapping = falseとする箇所だけ違う。WindowsとLinuxのID統合については以前の記事を参照してください。

Windows ADサーバ dc1.test.local
ADドメイン test.local
Windows OSバージョン・ドメイン機能レベル Windows 2012R2
Linuxサーバ smb1.test.local
Linux OSバージョン CentOS7.1

ActiveDirectory準備

普通にOSインストールしADDSをインストールするだけ。参照するLinuxサーバのDNSレコードを作成しておく必要がある。また、テスト用ユーザ・グループも作成しておく。

NIS機能有効化

PowerShellより実行。再起動が掛かる。

Dism.exe /online /enable-feature /featurename:adminui /all
Dism.exe /online /enable-feature /featurename:nis /all

ユーザ・グループ設定

まず、グループを作成

ad1

次にユーザを作成

ad2

Linuxサーバ準備

OSインストールしnmcli/nmtui等でホスト名とresolvのsearchでドメインが入るように設定する。また、Chrony・ntp/ntpdate等でADサーバと時刻同期ができていること。

パッケージインストール

必要なパッケージをインストール。oddjob-mkhomedirは自動ホームディレクトリ作成用で必須ではない。

yum install ntp ntpdate sssd krb5-workstation oddjob-mkhomedir openldap-clients

NTP

ケルベロス認証では時刻が揃ってないと認証に失敗してしまうため、同期しておく。NTPサーバの設定をしておくとなおいい。

ntpdate dc1.test.local

ケルベロス認証、ドメイン参加

ケルベロス認証用設定

cp -a /etc/krb5.conf /etc/krb5.conf.org
cat > /etc/krb5.conf << EOF
[logging]
 default = FILE:/var/log/krb5libs.log
 kdc = FILE:/var/log/krb5kdc.log
 admin_server = FILE:/var/log/kadmind.log

[libdefaults]
 dns_lookup_realm = true
 dns_lookup_kdc = true
 ticket_lifetime = 24h
 renew_lifetime = 7d
 forwardable = true
 rdns = false
 default_realm = TEST.LOCAL
 default_ccache_name = KEYRING:persistent:%{uid}

[realms]
TEST.LOCAL = {
  kdc = test.local
  admin_server = dc1.test.local
}

[domain_realm]
.test.local = TEST.LOCAL
test.local = TEST.LOCAL
EOF

ドメイン参加用設定。Sambaサーバは起動しない。

cp -a /etc/samba/smb.conf /etc/samba/smb.conf.org
cat > /etc/samba/smb.conf << EOF
[global]
   workgroup = TEST
   client signing = yes
   client use spnego = yes
   kerberos method = secrets and keytab
   log file = /var/log/samba/%m.log
   password server = dc1.TEST.LOCAL
   realm = TEST.LOCAL
   security = ads
EOF

ドメイン参加

kinit Administrator
net ads join -k -U Administrator
klist -k

authconfigによるSSSD認証有効化と自動ホームディレクトリ作成も有効化

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

SSSD設定。設定ファイルは無いため作成から。

cat > /etc/sssd/sssd.conf << EOF
[sssd]
config_file_version = 2
domains = TEST.LOCAL
services = nss, pam, pac

[domain/TEST.LOCAL]
id_provider = ad
auth_provider = ad
chpass_provider = ad
access_provider = ad
cache_credentials = false
ldap_id_mapping = false
use_fully_qualified_names = true
EOF
  • ldap_id_mapping
    重要な設定箇所。有効にするとIDを自動生成する。無効にするとADからIDを取得しようとする。今回は無効化する。
  • cache_credentials
    認証情報キャッシュ。動作確認だったので無効とした。本来は有効のほうがパフォーマンスやAD停止時にもキャッシュ認証ができるので、有効化したほうがよい
  • use_fully_qualified_names
    ユーザIDをフル記載する。LinuxでADユーザをユーザID@ドメイン名とするのか、単純にユーザIDだけにするのか。今回はわかりやすく有効化したが、実際は無効化したほうが使いやすいかもしれない

コンフィグファイルはパーミッションチェックがあるので変更しサービス起動

chmod 600 /etc/sssd/sssd.conf
systemctl restart sssd.service

動作確認

とりあえずAdministratorで確認

# id administrator@test
uid=10000(administrator@TEST.LOCAL) gid=10000(domain users@TEST.LOCAL) groups=10000(domain users@TEST.LOCAL),10001(domain admins@TEST.LOCAL)

use_fully_qualified_namesを無効化すればユーザIDだけになる
※自動生成の場合はWindowsのグループと連動しているが、AD格納の場合はNIS側のグループ設定と連動するため、グループは2重管理となる。

  One Response to “Windows2012R2 ADDSとRHEL/CentOSでID統合 SSSD+AD格納(NIS機能有効) 構築手順メモ”

  1. […] SSSD+AD格納(NIS機能有効) 構築手順メモ […]

Sorry, the comment form is closed at this time.