作り上げたLDAPサーバにクライアントPCを接続させてみる。
ubuntu18.04の場合 LDAP/Client/ubuntu
過去記事LDAP/サーバ接続181006
centos7 nss-pam-ldapd †
[root@client ~]# yum install nss-pam-ldapd
*同時にnscd(Name Service Cache Daemon)もインストールされる. 導入直後はdisable
「nss-pam-ldapd」パッケージの中に「/usr/sbin/nslcd」が含まれている
インストール直後では
[root@client ~]# systemctl status nslcd
● nslcd.service - Naming services LDAP client daemon.
Loaded: loaded (/usr/lib/systemd/system/nslcd.service; disabled; vendor preset: disabled)
Active: inactive (dead)
Docs: man:nslcd(8)
man:nslcd.conf(5)
[root@client ~]#
と動いていはいない。
どこのLDAPを参照するかは authconfig-tui で決める
[root@client ~]# authconfig-tui
その後ターミナル画面を使ったGUIが表示され、「ユーザ情報」欄の「LDAPを使用」を有効にして、加え認証の「LDAP認証を使用」にもチェックを入れる。

次へリンクを押下して「LDAP設定」画面でLDAPサーバの場所とベースDNを記載して「OK」ボタンを押下します。

この直後、「nslcd」は稼働して、systemctlでの「enable」状態となる。
LDAPからデータが引けているかはidコマンドとかで確認
[root@client ~]# id foo
uid=3000(foo) gid=2001(xray) groups=2001(xray)
[root@client ~]#
と大丈夫みたい
- 補足情報
[root@client ~]# cat /etc/nsswitch.conf
:
passwd: files sss ldap
shadow: files sss ldap
group: files sss ldap
:
netgroup: files sss ldap
:
automount: files ldap
:
[root@client ~]#
[root@client ~]# grep -v -e '^\s*#' -e '^\s*$' /etc/nslcd.conf
uid nslcd
gid ldap
uri ldap://192.168.0.81/
base dc=sybyl,dc=local
ssl no
tls_cacertdir /etc/openldap/cacerts
[root@client ~]#
[root@client ~]# grep -v -e '^\s*#' -e '^\s*$' /etc/openldap/ldap.conf
TLS_CACERTDIR /etc/openldap/cacerts
SASL_NOCANON on
URI ldap://192.168.0.81/
BASE dc=sybyl,dc=local
[root@client ~]#
- nscd
「authconfig-tui」にて「キャッシュ情報」を有効にすると、設定完了時には「nscd」が稼働する
- パスワード変更
passwdがldapに問い合わせ変更してくれる
[foo@client ~]$ passwd
ユーザー foo のパスワードを変更。
(current) LDAP Password:
新しいパスワード:
新しいパスワードを再入力してください:
passwd: すべての認証トークンが正しく更新できました。
[foo@client ~]$
- chsh
chshによるSHELLの変更は無理みたい...
[foo@client ~]$ chsh
foo のシェルを変更します。
新しいシェル [/bin/bash]: /bin/tcsh
パスワード:
chsh: user "foo" does not exist.
[foo@client ~]$
centos7 sssd †
sssdを使ってldapに接続してみる
*最小構成でOS構築直後とします
[root@client ~]# yum install sssd sssd-ldap
この後、前述のnslcdと同じくauthconfig-tuiにて設定を施します。
[root@client ~]# authconfig-tui
ターミナル画面を使ったGUIが表示され、「ユーザ情報」欄の「LDAPを使用」を有効にして、
認証の「LDAP認証を使用」もチェックを入れる。

次へリンクを押下して「LDAP設定」画面でLDAPサーバの場所とベースDNを記載して「OK」ボタンを押下します。
TLSを使用 | チェックなし |
サーバー | ldap://192.168.0.81/ |
ベースDN | dc=sybyl,dc=local |

この直後に「/etc/sssd/sssd.conf」が作られ、sssdが稼働し始めます。
ただこのままだと証明書の受領が必要で、証明書なしにアクセスを可能にさせるため「ldap_tls_reqcert = never」を加えます
[root@client ~]# cat /etc/sssd/sssd.conf
[domain/default]
autofs_provider = ldap
cache_credentials = True
ldap_search_base = dc=sybyl,dc=local
id_provider = ldap
auth_provider = ldap
chpass_provider = ldap
ldap_uri = ldap://192.168.0.81/
ldap_id_use_start_tls = False
ldap_tls_cacertdir = /etc/openldap/cacerts
ldap_tls_reqcert = never <--ここ
[sssd]
services = nss, pam, autofs
domains = default
[nss]
homedir_substring = /home
[pam]
[sudo]
[autofs]
[ssh]
[pac]
[ifp]
[secrets]
[session_recording]
[root@client ~]#
その後sssdを再起動させます
[root@client ~]# systemctl restart sssd
これで完了です。
- 補足情報
[root@client ~]# vi /etc/nsswitch.conf
:
passwd: files sss
shadow: files sss
group: files sss
:
services: files sss
netgroup: files sss
automount: files sss
:
[root@client ~]# grep -v -e '^\s*#' -e '^\s*$' /etc/openldap/ldap.conf
TLS_CACERTDIR /etc/openldap/cacerts
SASL_NOCANON on
URI ldap://192.168.0.81/
BASE dc=sybyl,dc=local
[root@client ~]#
- passwd
passwdコマンドがそのまま使えます
- chsh
無理みたい
[foo@client ~]$ chsh
foo のシェルを変更します。
新しいシェル [/bin/bash]: /bin/tcsh
パスワード:
chsh: user "foo" does not exist.
[foo@client ~]$