9月 292015
 

SSSD+ID自動生成 構築手順

一番シンプルなSSSD+ID自動生成パターンでの構築手順メモ。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レコードを作成しておく必要がある。また、テスト用ユーザ・グループも作成しておく。

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 = true
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=1079200500(administrator@TEST.LOCAL) gid=1079200513(domain users@TEST.LOCAL) groups=1079200513(domain users@TEST.LOCAL),1079200512(domain admins@TEST.LOCAL),1079200572(denied rodc password replication group@TEST.LOCAL),1079200518(schema admins@TEST.LOCAL),1079200519(enterprise admins@TEST.LOCAL),1079200520(group policy creator owners@TEST.LOCAL)

use_fully_qualified_namesを無効化すればユーザIDだけになる

Sorry, the comment form is closed at this time.