はじめに
CentOSをWindowsServerのActiveDirectoryで管理したい場合に、CentOS側で必要な主要パッケージや設定をまとめます。
主要パッケージ
- SSSD
System Security Services Daemonの略。ローカルクライアントと指定したバックエンドのプロバイダー(ADなど)間を仲介する機能を持つ。主な設定ファイルは「/etc/sssd/sssd.conf」。「realm join」コマンドでドメイン参加ができ、その際にWindowsドメインの環境に応じて作成される。
設定例:sssd.conf
[sssd]
domains = ドメイン名
config_file_version = 2
services = nss, pam
[domain/ドメイン名]
ad_domain = ドメイン名
krb5_realm = ドメイン名
realmd_tags = manages-system joined-with-samba
cache_credentials = True
id_provider = ad
krb5_store_password_if_offline = True
default_shell = /bin/bash
ldap_id_mapping = True
#use_fully_qualified_names = True
#fallback_homedir = /home/%u@%d
fallback_homedir = /home/%u
access_provider = ad
- realmd
sssdとKerberos認証の設定、及びマシンアカウントの追加を自動的に行うことが可能なユーティリティ。「realm join」コマンドでドメイン参加ができ、その際に「krb5.conf」ファイル(kerberos認証を利用するための設定ファイル)がWindowsドメインの環境に応じて変更される。
設定例:krb5.conf
# Configuration snippets may be placed in this directory as well
includedir /etc/krb5.conf.d/
includedir /var/lib/sss/pubconf/krb5.include.d/
[logging]
default = FILE:/var/log/krb5libs.log
kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log
[libdefaults]
dns_lookup_realm = false
ticket_lifetime = 24h
renew_lifetime = 7d
forwardable = true
rdns = false
# default_realm = EXAMPLE.COM
default_ccache_name = KEYRING:persistent:%{uid}
default_realm = ドメイン名
[realms]
# EXAMPLE.COM = {
# kdc = kerberos.example.com
# admin_server = kerberos.example.com
# }
ドメイン名 = {
}
[domain_realm]
# .example.com = EXAMPLE.COM
# example.com = EXAMPLE.COM
ドメイン名(小文字) = ドメイン名(大文字)
.ドメイン名(小文字) = ドメイン名(大文字)
各ドメインのカスタム設定は、/etc/realmd.conf ファイルで定義。
設定例:realmd.conf
[ad.example.com]
computer-ou = ou=Linux Computers,DC=domain,DC=example,DC=com
user-principal = host/linux-client@AD.EXAMPLE.COM
automatic-id-mapping = no
Linuxサーバーが利用する認証の設定(pamファイルやnsswitch.conf)にて認証にsssdを利用するよう変更が必要。
以上、最後まで読んで頂きありがとうございました!