LDAP/Client をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
作り上げたLDAPサーバにクライアントPCを接続させてみる。
&size(10){ubuntu18.04の場合 [[LDAP/Client/ubuntu]]};
&size(10){過去記事[[LDAP/サーバ接続181006]]};
***事前確認 [#i22315cf]
既にldapサーバが用意されているなら ldapsearch コマンドで...
[[LDAP]]で作ったldapサーバは CA認証局 は自作です. なので ...
#code(nonumber){{
[root@ldap-client ~]# cat /etc/redhat-release
Rocky Linux release 8.6 (Green Obsidian)
[root@ldap-client ~]# dnf install openldap-clients
[root@ldap-client ~]# echo "TLS_REQCERT never" >> /etc/op...
[root@ldap-client ~]# ldapsearch -x -H ldaps://ldap-serv...
}}
anonymous接続を許可しているなら上記でいいが、anonymousを...
#code(nonumber){{
[root@ldap-client ~]# ldapsearch -x -H ldaps://ldap-serv...
}}
***authselect [#o17ca67e]
authconfigが便利だったのですが、RHEL8系からは authselect ...
ここでは接続方法を2つ提示してます
-sssd経由
-nslcd経由
ldapsが有効ならsssd経由でいいような気がします
***接続専用アカウントの作成 [#m94ef75f]
anonymous接続でもいいのですが、ldap-server側で接続用アカ...
#code(nonumber){{
[root@ldap-server ~]# cat ldap/access.ldif
dn: cn=access,ou=people,dc=sybyl,dc=local
changetype: add
objectClass: inetOrgPerson
cn: access
sn: access
userPassword: {SSHA}xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ...
[root@ldap-server ~]# ldapadd -x -D cn=Manager,dc=sybyl,d...
}}
そしてLDAPデータベースへのアクセス権を修正します. &size(1...
#code(nonumber){{
[root@ldap-server ~]# ldapvi -Y EXTERNAL -h ldapi:/// -b ...
olcAccess: {0}to attrs=userPassword,shadowLastChange ...
↓
olcAccess: {0}to attrs=userPassword,shadowLastChange,logi...
olcAccess: {1}to dn.base="" by * read
olcAccess: {2}to * by dn="cn=Manager,dc=sybyl,dc=local" w...
}}
中継役の「cn=access,ou=People,dc=sybyl,dc=local」は「user...
その上で
***authselect - sssd [#g2ccf901]
sssd経由でldapに繋ぐ.
まずは「sssd-ldap」パッケージをインストールして、「/usr/s...
#code(nonumber){{
[root@ldap-client ~]# dnf -y install sssd-ldap oddjob-mkh...
[root@ldap-client ~]# vi /etc/sssd/sssd.conf
[sssd]
services = nss, pam
domains = default
[nss]
[domain/default]
id_provider = ldap
ldap_uri = ldaps://ldap-server/ <-- ldaps...
ldap_search_base = dc=sybyl,dc=local
ldap_id_use_start_tls = True
ldap_tls_reqcert = never
ldap_default_bind_dn = cn=access,ou=People,dc=sybyl,dc=lo...
ldap_default_authtok = xxxxxxxxxxx ...
[root@ldap-client ~]# chmod 600 /etc/sssd/sssd.conf
}}
「/etc/sssd/sssd.conf」は600なので誰からも読めないのです...
#code(nonumber){{
[root@ldap-client ~]# sss_obfuscate -d default
Enter password:
Re-enter password:
[root@ldap-client ~]#
}}
この「-d default」は、sssd.confに書かれている「domain/&co...
#code(nonumber){{
:
ldap_default_bind_dn = cn=access,ou=People,dc=sybyl,dc=lo...
ldap_default_authtok = AAAQAKooYshlPbF2vEJmZVGj51mmVV25TU...
access_provider = permit
sudo_provider = ldap
auth_provider = ldap
autofs_provider = ldap
resolver_provider = ldap
ldap_default_authtok_type = obfuscated_password
}}
っでsssdを起動させます
#code(nonumber){{
[root@ldap-client ~]# authselect select sssd with-mkhomed...
[root@ldap-client ~]# systemctl enable oddjobd.service --...
[root@ldap-client ~]# systemctl restart sssd
[root@ldap-client ~]# authselect current
Profile ID: sssd
Enabled features:
- with-mkhomedir
[root@ldap-client ~]#
(接続確認)
[root@ldap-client ~]# dnf install lsof
[root@ldap-client ~]# lsof -i
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
:
sssd_be 2327 root 21u IPv4 28757 0t0 TCP ld...
:
[root@ldap-client ~]#
[root@ldap-client ~]# getent passwd foo
foo:*:3000:2001:foo sybyl:/home/foo:/bin/bash
[root@ldap-client ~]#
}}
&size(10){うまく拾えていないと思ったら「ldapsearch -x -H...
***authselect - nslcd [#s99de1a1]
sssdの代わりに従来からの nslcd[Name Service LDAP Connecti...
&size(10){[[https://web.chaperone.jp/w/index.php?samba/LD...
「authselect list」には存在しない項目なので新規項目として...
「nss-pam-ldapd」パッケージをインストールします
#code(nonumber){{
[root@ldap-client ~]# dnf install nss-pam-ldapd oddjob-mk...
}}
authselectのsssd profileをコピーして nslcd profile を作る
#code(nonumber){{
[root@ldap-client ~]# ls -l /usr/share/authselect/default...
total 44
-rw-r--r--. 1 root root 540 Nov 25 2020 dconf-db
-rw-r--r--. 1 root root 279 Nov 25 2020 dconf-locks
-rw-r--r--. 1 root root 2080 May 19 2021 fingerprint-auth
-rw-r--r--. 1 root root 393 Nov 25 2020 nsswitch.conf
-rw-r--r--. 1 root root 3119 May 19 2021 password-auth
-rw-r--r--. 1 root root 340 May 19 2021 postlogin
-rw-r--r--. 1 root root 4372 May 19 2021 README
-rw-r--r--. 1 root root 1904 Nov 25 2020 REQUIREMENTS
-rw-r--r--. 1 root root 1976 May 19 2021 smartcard-auth
-rw-r--r--. 1 root root 3873 May 19 2021 system-auth
[root@ldap-client ~]# cp -Rp /usr/share/authselect/defaul...
}}
このテンプレートを修正します
#code(nonumber){{
cd /etc/authselect/custom/nslcd
sed -i 's/sss/ldap/g' fingerprint-auth
sed -i 's/sss/ldap/g' password-auth
sed -i 's/sss/ldap/g' smartcard-auth
sed -i 's/sss/ldap/g' system-auth
sed -i 's/sss/ldap/g' nsswitch.conf
sed -i 's/SSSD/NSLCD/g' REQUIREMENTS
echo "Enable nslcd for system authentication" > README
}}
加えて「/etc/nslcd.conf」を修正します
#code(nonumber){{
[root@ldap-client ~]# cp -i /etc/nslcd.conf /etc/nslcd.co...
[root@ldap-client ~]# sed '/^#/d' /etc/nslcd.conf.orig | ...
[root@ldap-client ~]# vi /etc/nslcd.conf
uid nslcd
gid ldap
uri ldaps://ldap-server/
base dc=sybyl,dc=local
tls_reqcert never
binddn cn=access,ou=People,dc=sybyl,dc=local
bindpw xxxxxxxxx <-- パスワ...
[root@ldap-client ~]# ls -l /etc/nslcd.conf
-rw-------. 1 root root 123 Nov 27 18:59 /etc/nslcd.conf
[root@ldap-client ~]#
}}
authselectの新たな候補になっているか確認します
#code(nonumber){{
[root@ldap-client ~]# authselect list
- minimal Local users only for minimal installations
- nis Enable NIS for system authentication
- sssd Enable SSSD for system authentication (a...
- winbind Enable winbind for system authentication
- custom/nslcd Enable nslcd for system authentication
[root@ldap-client ~]#
}}
追加されたようです.
#code(nonumber){{
[root@ldap-client ~]# authselect select custom/nslcd with...
[root@ldap-client ~]# systemctl enable oddjobd.service --...
[root@ldap-client ~]# systemctl enable nslcd --now
[root@ldap-client ~]# getent passwd foo
foo:*:3000:2001:foo sybyl:/home/foo:/bin/bash
[root@ldap-client ~]#
}}
***ubuntu20.04から繋いでみる [#r6800a38]
「apt -y install libnss-ldapd libpam-ldapd」で設定パネル...
#code(nonumber){{
[root@ldap-client ~]# apt -y install libnss-ldapd libpam-...
LDAP server URI: --> ldaps://ldap-server/
LDAP server search base: --> dc=sybyl,dc=local
Name services to configure: --> passwd, group, shadow ...
[root@ldap-client ~]# cp -i /etc/nslcd.conf /etc/nslcd.co...
[root@ldap-client ~]# sed '/^#/d' /etc/nslcd.conf.orig | ...
[root@ldap-client ~]# vi /etc/nslcd.con
uid nslcd
gid nslcd
uri ldap://ldap-server/
base dc=sybyl,dc=local
#tls_cacertfile /etc/ssl/certs/ca-certificates.crt
tls_reqcert never
[root@ldap-client ~]# reboot
}}
即座には反映しないようで、rebootすれば反映されるみたい.
一応確認
#code(nonumber){{
root@ldap-client:~# lsof -i
:
nslcd 906 nslcd 7u IPv4 27805 0t...
:
root@ldap-client:~#
}}
***めも [#ed50dfad]
sssd経由、nslcd経由でもanonymous接続だとログインシェル情...
それを外せば閲覧ができるのでログインシェル情報が反映され...
#code(nonumber){{
[saber@ldap-client ~]$ getent passwd saber
saber:*:3002:2001:saber:/home/saber:
[saber@ldap-client ~]$
}}
***ユーザ視点 [#nc10978f]
パスワード変更は「passwd」で行けます.
ログインシェルの変更は「ichsh」で. 参照[[LDAP/phpLDAPadmi...
終了行:
作り上げたLDAPサーバにクライアントPCを接続させてみる。
&size(10){ubuntu18.04の場合 [[LDAP/Client/ubuntu]]};
&size(10){過去記事[[LDAP/サーバ接続181006]]};
***事前確認 [#i22315cf]
既にldapサーバが用意されているなら ldapsearch コマンドで...
[[LDAP]]で作ったldapサーバは CA認証局 は自作です. なので ...
#code(nonumber){{
[root@ldap-client ~]# cat /etc/redhat-release
Rocky Linux release 8.6 (Green Obsidian)
[root@ldap-client ~]# dnf install openldap-clients
[root@ldap-client ~]# echo "TLS_REQCERT never" >> /etc/op...
[root@ldap-client ~]# ldapsearch -x -H ldaps://ldap-serv...
}}
anonymous接続を許可しているなら上記でいいが、anonymousを...
#code(nonumber){{
[root@ldap-client ~]# ldapsearch -x -H ldaps://ldap-serv...
}}
***authselect [#o17ca67e]
authconfigが便利だったのですが、RHEL8系からは authselect ...
ここでは接続方法を2つ提示してます
-sssd経由
-nslcd経由
ldapsが有効ならsssd経由でいいような気がします
***接続専用アカウントの作成 [#m94ef75f]
anonymous接続でもいいのですが、ldap-server側で接続用アカ...
#code(nonumber){{
[root@ldap-server ~]# cat ldap/access.ldif
dn: cn=access,ou=people,dc=sybyl,dc=local
changetype: add
objectClass: inetOrgPerson
cn: access
sn: access
userPassword: {SSHA}xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ...
[root@ldap-server ~]# ldapadd -x -D cn=Manager,dc=sybyl,d...
}}
そしてLDAPデータベースへのアクセス権を修正します. &size(1...
#code(nonumber){{
[root@ldap-server ~]# ldapvi -Y EXTERNAL -h ldapi:/// -b ...
olcAccess: {0}to attrs=userPassword,shadowLastChange ...
↓
olcAccess: {0}to attrs=userPassword,shadowLastChange,logi...
olcAccess: {1}to dn.base="" by * read
olcAccess: {2}to * by dn="cn=Manager,dc=sybyl,dc=local" w...
}}
中継役の「cn=access,ou=People,dc=sybyl,dc=local」は「user...
その上で
***authselect - sssd [#g2ccf901]
sssd経由でldapに繋ぐ.
まずは「sssd-ldap」パッケージをインストールして、「/usr/s...
#code(nonumber){{
[root@ldap-client ~]# dnf -y install sssd-ldap oddjob-mkh...
[root@ldap-client ~]# vi /etc/sssd/sssd.conf
[sssd]
services = nss, pam
domains = default
[nss]
[domain/default]
id_provider = ldap
ldap_uri = ldaps://ldap-server/ <-- ldaps...
ldap_search_base = dc=sybyl,dc=local
ldap_id_use_start_tls = True
ldap_tls_reqcert = never
ldap_default_bind_dn = cn=access,ou=People,dc=sybyl,dc=lo...
ldap_default_authtok = xxxxxxxxxxx ...
[root@ldap-client ~]# chmod 600 /etc/sssd/sssd.conf
}}
「/etc/sssd/sssd.conf」は600なので誰からも読めないのです...
#code(nonumber){{
[root@ldap-client ~]# sss_obfuscate -d default
Enter password:
Re-enter password:
[root@ldap-client ~]#
}}
この「-d default」は、sssd.confに書かれている「domain/&co...
#code(nonumber){{
:
ldap_default_bind_dn = cn=access,ou=People,dc=sybyl,dc=lo...
ldap_default_authtok = AAAQAKooYshlPbF2vEJmZVGj51mmVV25TU...
access_provider = permit
sudo_provider = ldap
auth_provider = ldap
autofs_provider = ldap
resolver_provider = ldap
ldap_default_authtok_type = obfuscated_password
}}
っでsssdを起動させます
#code(nonumber){{
[root@ldap-client ~]# authselect select sssd with-mkhomed...
[root@ldap-client ~]# systemctl enable oddjobd.service --...
[root@ldap-client ~]# systemctl restart sssd
[root@ldap-client ~]# authselect current
Profile ID: sssd
Enabled features:
- with-mkhomedir
[root@ldap-client ~]#
(接続確認)
[root@ldap-client ~]# dnf install lsof
[root@ldap-client ~]# lsof -i
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
:
sssd_be 2327 root 21u IPv4 28757 0t0 TCP ld...
:
[root@ldap-client ~]#
[root@ldap-client ~]# getent passwd foo
foo:*:3000:2001:foo sybyl:/home/foo:/bin/bash
[root@ldap-client ~]#
}}
&size(10){うまく拾えていないと思ったら「ldapsearch -x -H...
***authselect - nslcd [#s99de1a1]
sssdの代わりに従来からの nslcd[Name Service LDAP Connecti...
&size(10){[[https://web.chaperone.jp/w/index.php?samba/LD...
「authselect list」には存在しない項目なので新規項目として...
「nss-pam-ldapd」パッケージをインストールします
#code(nonumber){{
[root@ldap-client ~]# dnf install nss-pam-ldapd oddjob-mk...
}}
authselectのsssd profileをコピーして nslcd profile を作る
#code(nonumber){{
[root@ldap-client ~]# ls -l /usr/share/authselect/default...
total 44
-rw-r--r--. 1 root root 540 Nov 25 2020 dconf-db
-rw-r--r--. 1 root root 279 Nov 25 2020 dconf-locks
-rw-r--r--. 1 root root 2080 May 19 2021 fingerprint-auth
-rw-r--r--. 1 root root 393 Nov 25 2020 nsswitch.conf
-rw-r--r--. 1 root root 3119 May 19 2021 password-auth
-rw-r--r--. 1 root root 340 May 19 2021 postlogin
-rw-r--r--. 1 root root 4372 May 19 2021 README
-rw-r--r--. 1 root root 1904 Nov 25 2020 REQUIREMENTS
-rw-r--r--. 1 root root 1976 May 19 2021 smartcard-auth
-rw-r--r--. 1 root root 3873 May 19 2021 system-auth
[root@ldap-client ~]# cp -Rp /usr/share/authselect/defaul...
}}
このテンプレートを修正します
#code(nonumber){{
cd /etc/authselect/custom/nslcd
sed -i 's/sss/ldap/g' fingerprint-auth
sed -i 's/sss/ldap/g' password-auth
sed -i 's/sss/ldap/g' smartcard-auth
sed -i 's/sss/ldap/g' system-auth
sed -i 's/sss/ldap/g' nsswitch.conf
sed -i 's/SSSD/NSLCD/g' REQUIREMENTS
echo "Enable nslcd for system authentication" > README
}}
加えて「/etc/nslcd.conf」を修正します
#code(nonumber){{
[root@ldap-client ~]# cp -i /etc/nslcd.conf /etc/nslcd.co...
[root@ldap-client ~]# sed '/^#/d' /etc/nslcd.conf.orig | ...
[root@ldap-client ~]# vi /etc/nslcd.conf
uid nslcd
gid ldap
uri ldaps://ldap-server/
base dc=sybyl,dc=local
tls_reqcert never
binddn cn=access,ou=People,dc=sybyl,dc=local
bindpw xxxxxxxxx <-- パスワ...
[root@ldap-client ~]# ls -l /etc/nslcd.conf
-rw-------. 1 root root 123 Nov 27 18:59 /etc/nslcd.conf
[root@ldap-client ~]#
}}
authselectの新たな候補になっているか確認します
#code(nonumber){{
[root@ldap-client ~]# authselect list
- minimal Local users only for minimal installations
- nis Enable NIS for system authentication
- sssd Enable SSSD for system authentication (a...
- winbind Enable winbind for system authentication
- custom/nslcd Enable nslcd for system authentication
[root@ldap-client ~]#
}}
追加されたようです.
#code(nonumber){{
[root@ldap-client ~]# authselect select custom/nslcd with...
[root@ldap-client ~]# systemctl enable oddjobd.service --...
[root@ldap-client ~]# systemctl enable nslcd --now
[root@ldap-client ~]# getent passwd foo
foo:*:3000:2001:foo sybyl:/home/foo:/bin/bash
[root@ldap-client ~]#
}}
***ubuntu20.04から繋いでみる [#r6800a38]
「apt -y install libnss-ldapd libpam-ldapd」で設定パネル...
#code(nonumber){{
[root@ldap-client ~]# apt -y install libnss-ldapd libpam-...
LDAP server URI: --> ldaps://ldap-server/
LDAP server search base: --> dc=sybyl,dc=local
Name services to configure: --> passwd, group, shadow ...
[root@ldap-client ~]# cp -i /etc/nslcd.conf /etc/nslcd.co...
[root@ldap-client ~]# sed '/^#/d' /etc/nslcd.conf.orig | ...
[root@ldap-client ~]# vi /etc/nslcd.con
uid nslcd
gid nslcd
uri ldap://ldap-server/
base dc=sybyl,dc=local
#tls_cacertfile /etc/ssl/certs/ca-certificates.crt
tls_reqcert never
[root@ldap-client ~]# reboot
}}
即座には反映しないようで、rebootすれば反映されるみたい.
一応確認
#code(nonumber){{
root@ldap-client:~# lsof -i
:
nslcd 906 nslcd 7u IPv4 27805 0t...
:
root@ldap-client:~#
}}
***めも [#ed50dfad]
sssd経由、nslcd経由でもanonymous接続だとログインシェル情...
それを外せば閲覧ができるのでログインシェル情報が反映され...
#code(nonumber){{
[saber@ldap-client ~]$ getent passwd saber
saber:*:3002:2001:saber:/home/saber:
[saber@ldap-client ~]$
}}
***ユーザ視点 [#nc10978f]
パスワード変更は「passwd」で行けます.
ログインシェルの変更は「ichsh」で. 参照[[LDAP/phpLDAPadmi...
ページ名:
1