今centos7でldap認証をnss-pam-ldapd nscdを使って行いたいとも思い、
https://forum.zentyal.org/index.php?topic=23831.0
を見ながら行っているのですが、 authentication failedがでてしまいます。
やり方としては
yum install -y openldap-clients nscd
をインストールし
/etc/openldap/ldap.conf に
TLS_CACERTDIR /etc/openldap/cacerts # Turning this off breaks GSSAPI used with krb5 when rdns = false SASL_NOCANON on URI ldap://127.0.0.1 BASE dc=,dc= ←ドメインを入力
/etc/nsswitch.conf
Code: [Select] passwd: files sss ldap shadow: files sss ldap group: files sss ldap #initgroups: files #hosts: db files nisplus nis dns hosts: files dns # Example - obey only what nisplus tells us... #services: nisplus [NOTFOUND=return] files #networks: nisplus [NOTFOUND=return] files #protocols: nisplus [NOTFOUND=return] files #rpc: nisplus [NOTFOUND=return] files #ethers: nisplus [NOTFOUND=return] files #netmasks: nisplus [NOTFOUND=return] files bootparams: nisplus [NOTFOUND=return] files ethers: files netmasks: files networks: files protocols: files rpc: files services: files netgroup: files ldap publickey: nisplus automount: files ldap aliases: files nisplus
/etc/nslcd.conf
uid nslcd gid ldap uri ldap://127.0.0.1 ldap_version 3 base dc=,dc= ドメインを入力 binddn cn=Manager,dc=,dc= ドメインを入力 bindpw ディレクトリーパスワードを入力 scope sub //dcはドメイン名を入力 base group ou=Groups,dc=,dc= base passwd ou=People,dc=,dc= base shadow ou=People,dc=,dc= tls_reqcert never ssl no tls_cacertdir /etc/openldap/cacerts
ldapの登録の仕方はhttps://www.server-world.info/query?os=CentOS_7&p=openldap&f=1
を見たりしました
後nslcd -dを行うと
daemon may already be active, cannot acquire lock (/var/run/nslcd/nslcd.pid): Permission denied
というエラーが出ます
urlの部分はIPアドレスではなくドメインで書いてもダメでした
ファイヤウォールやselinuxの設定は終わっています。
どこが原因なんでしょうか?
希望としては
Last login: Sat Mar 19 18:38:42 GMT 2016 on pts/1
su: warning: cannot change directory to /home/ldapuser1: No such file or directory
id: cannot find name for group ID 2001
-bash-4.2$
こういう感じででてきてほしいです。
また別の方にヒントもらったのですが、ldapsearch -xはエラーでなくなりましたが、
ldapsearch -x -H ldap://127.0.0.1 -D "cn=Manager,dc=example,dc=com" -W -b "ou=People,dc=example,dc=com" "*"
getent passwd
もちゃんとldapユーザーが表示されます。
また、
/etc/pam.d/password-auth
auth required pam_env.so auth sufficient pam_unix.so nullok try_first_pass auth requisite pam_succeed_if.so uid >= 1000 quiet_success auth sufficient pam_ldap.so use_first_pass auth required pam_deny.so account required pam_unix.so broken_shadow account sufficient pam_localuser.so account sufficient pam_succeed_if.so uid < 1000 quiet account [default=bad success=ok user_unknown=ignore] pam_ldap.so account required pam_permit.so password requisite pam_pwquality.so try_first_pass retry=3 type= password sufficient pam_unix.so sha512 shadow nullok try_first_pass use_authtok password sufficient pam_ldap.so use_authtok password required pam_deny.so session optional pam_keyinit.so revoke session required pam_limits.so -session optional pam_systemd.so session [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid session required pam_unix.so session optional pam_ldap.so
/etc/pam.d/system-auth
auth required pam_env.so auth sufficient pam_unix.so nullok try_first_pass auth requisite pam_succeed_if.so uid >= 1000 quiet_success auth sufficient pam_ldap.so use_first_pass auth required pam_deny.so account required pam_unix.so broken_shadow account sufficient pam_localuser.so account sufficient pam_succeed_if.so uid < 1000 quiet account [default=bad success=ok user_unknown=ignore] pam_ldap.so account required pam_permit.so password requisite pam_pwquality.so try_first_pass retry=3 type= password sufficient pam_unix.so sha512 shadow nullok try_first_pass use_authtok password sufficient pam_ldap.so use_authtok password required pam_deny.so session optional pam_keyinit.so revoke session required pam_limits.so -session optional pam_systemd.so session [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid session required pam_unix.so session optional pam_ldap.so
になっています。
この後実はパスワードを変更したら認証できました。
変更コマンドは
ldappasswd -x -D "cn=Manager,dc=private,dc=jp" -S -w <バインドDNパスワード>
"uid=ldapuser,ou=People,dc=private,dc=jp"
を使いました。
uidとdcは環境に合わせました。
/var/log/messagesでnscld ldap_result() failed no such objectのエラーがでました。
認証はできています。
/var/log/secureではエラーはでていません。
後、getent passwdを行うとuidで同じ人がグループID違いで2回でてきます。
これは一回2回でてくるuidを削除したらでてこなくなるのでしょうか?
回答1件
あなたの回答
tips
プレビュー