samba ads + sssd ads

sambaアカウントをADにunixアカウントをsssd+adsにする

krb5設定

/etc/krb5.conf
[libdefaults]
  default_realm = AD.EXAMPLE.COM

[realms]
AD.EXAMPLE.COM = {
  default_domain = ad.example.com
  kdc = kdc.ad.example.com
  admin_server = kdc.ad.example.com
}

samba設定

チケットを/etc/krb5.keytabに保存する。
チケットを更新する。
ADのunixアカウントはrfc2307。
ビルトインアカウントを1000000-1999999に割り当てる。
ADアカウントを0-19999に割り当てる。

[global]
  workgroup = AD
  security = ads
  kerberos method = secrets and keytab

  winbind refresh tickets = Yes
  winbind nss info = rfc2307

  realm = AD.EXAMPLE.COM
  passdb backend = tdbsam

  min domain uid = 1000

  idmap config * : backend = tdb
  idmap config * : range = 1000000-1999999
  idmap config AD : backend = ad
  idmap config AD : range = 0-19999
  idmap config AD : base_rid = 0

sssd設定

ADからunixアカウントを取得する。
チケットはsambaのマシンアカウントを使う。
チケットを更新しない。
DNSを更新しない。

[domain/default]
id_provider = ad
auth_provider = ad
access_provider = ad
chpass_provider = ad
ldap_id_mapping = false
ldap_sasl_authid = マシン名$@AD.EXAMPLE.COM
ad_server = kdc.ad.example.com
ad_maximum_machine_account_password_age = 0
dyndns_update = false

チケットを確認する。

klist -ke

idmap configの動作を確認する。

wbinfo --domain-users
wbinfo --user-info 'AD\Administrator'
wbinfo --uid-info 1998

wbinfo --user-groups 'AD\Administrator'
wbinfo --gid-info 1000000
wbinfo --gid-to-sid 1000000

wbinfo --name-to-sid 'BUILTIN\administrators'
wbinfo --sids-to-unix-ids S-1-5-32-544