質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

LDAP

LDAPは、ディレクトリデータベースにアクセスするためのプロトコルです。ディレクトリデータベースとは、ネットワークに存在するメールアドレスや環境などさまざまな情報を一元的に管理するサービスのことで、クライアントはLDAPサーバにアクセスしてユーザ名から検索や追加などの操作することができます。

解決済

ldap認証について

gik
gik

総合スコア152

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

LDAP

LDAPは、ディレクトリデータベースにアクセスするためのプロトコルです。ディレクトリデータベースとは、ネットワークに存在するメールアドレスや環境などさまざまな情報を一元的に管理するサービスのことで、クライアントはLDAPサーバにアクセスしてユーザ名から検索や追加などの操作することができます。

1回答

0評価

1クリップ

9661閲覧

投稿2017/09/13 11:17

編集2017/09/22 15:19

今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を削除したらでてこなくなるのでしょうか?

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

TaichiYanagiya

2017/09/13 12:38

CentOS のバージョンは 6, 7 のどちらでしょうか? 7 だと、sssd-ldap の方がいいかもしれません。
gik

2017/09/13 16:18 編集

cent os7です。書き忘れました。sssd-ldapよりnscdを使ってくださいと言われまして
gik

2017/09/13 17:21 編集

どちらでも認証ができれば大丈夫なんですが、認証ができない.....
gik

2017/09/20 13:16

認証はできた。といっていいのかわかりませんが、一応通りました。
TaichiYanagiya

2017/09/20 15:47

"no such object" だけではわかりません。どのような操作をしてそのログが出力されたのか、"no such object" を含む 1行すべて(プロセス名などの情報)と関連する上下の行を提示ください(開示できない文字列は置き換えて)。
gik

2017/09/20 16:01 編集

su - ユーザ名で認証したときに/var/log/messagesでNo such objectと書かれています。 ちゃんとエラ―内容次回書いてきます。 すいません。
gik

2017/09/22 15:18 編集

/var/log/messagesでnscld ldap_result() failed no such objectのエラーがでました。 認証はできています。 /var/log/secureではエラーはでていません。 後、getent passwdを行うとuidで同じ人がグループID違いで2回でてきます。 これは一回2回でてくるuidを削除したらでてこなくなるのでしょうか?

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

CentOS

CentOSは、主にRed Hat Enterprise Linux(RHEL)をベースにした、フリーのソフトウェアオペレーティングシステムです。

LDAP

LDAPは、ディレクトリデータベースにアクセスするためのプロトコルです。ディレクトリデータベースとは、ネットワークに存在するメールアドレスや環境などさまざまな情報を一元的に管理するサービスのことで、クライアントはLDAPサーバにアクセスしてユーザ名から検索や追加などの操作することができます。