sssd + LDAP
必要なパッケージの導入
1
2
| % sudo apt update
% sudo apt install sssd
|
/etc/sssd/sssd.conf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
| [sssd]
domains = example.com
services = nss, pam, ssh
config_file_version = 2
debug_level=5
[nss]
filter_groups = root
filter_users = root
[pam]
offline_credentials_expiration = 365
[ssh]
[domain/example.com]
id_provider = ldap
ldap_tls_reqcert = demand
ldap_tls_cacert = /etc/ldap/ca.crt
ldap_uri = ldaps://LDAP_SERVER01:PORT, ldaps://LDAP_SERVER02:PORT
ldap_search_base = dc=example,dc=com
auth_provider = ldap
cache_credentials = true
account_cache_expiration = 365
entry_cache_timeout = 3600
min_id = 10000
max_id = 99999
enumerate = True
override_shell = /bin/zsh
|
sssd.confのアクセス権限を600にしておかないと、
原因が非常に分かりづらいエラーがログに出力されてコケるので注意。
1
2
| % chmod 600 /etc/sssd/sssd.conf
% systemctl enable --now sssd
|
/etc/ldap/ca.crt
LDAPサーバのCA証明書を置いておく。
1
2
3
| -----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
|
/etc/ssh/sshd_config
ssh用公開鍵をLDAPサーバから持ってくるようにする。
(当然ながらLDAPサーバ側のスキーマ設定が必要)
1
2
| AuthorizedKeysCommand /usr/bin/sss_ssh_authorizedkeys
AuthorizedKeysCommandUser nobody
|
LDAPユーザをローカルグループへ追加
/usr/share/pam-configs/my_groups
1
2
3
4
5
6
7
| Name: activate /etc/security/group.conf
Default: yes
Priority: 900
Auth-Type: Primary
Auth:
required pam_group.so use_first_pass
|
/etc/security/groups.conf
trainersグループに所属するユーザは、
0時から24時までdialoutとvideoグループに所属していることにする。
1
| *;*;%trainers;Al0000-2400;dialout,video
|