- ベストアンサー
LDAPのユーザー認証について
- LDAPのユーザー認証について理解したい
- RedHatLinux9をインストールしたLDAPサーバー(S)とLDAPクライアント(C)があり、クライアントの認証をサーバー側で行いたいが方法がわからない
- LDAPクライアントにサーバーでしか設定していないユーザーだとログインできないため、必要な設定について知りたい
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
このような情報がネットにありました。 実際に試したわけではないのでご了承を。 通常のLinuxは、ユーザ認証をローカルにあるファイル(パスワードファイル)を使うわけですが、LDAP認証の場合は、LDAPサーバのデータを利用してユーザ認証をおこないます。LDAPサーバは、ある種のデータベースですから(ディレクトリと呼ばれています)、ユーザ情報が保存されています(ユーザID、パスワード、グループ情報、ホームディレクトリ)。 ご質問にされた、「ローカルにはユーザのホームディレクトリが必要」ですが、これはそのとおりです。 ユーザがログインしてホームディレクトリがないと、 エラーになり、シェルなどが利用できない可能性が出てきます。 この問題は3つの方法で解決できます。 (1) 別サーバからホームディレクトリをマウントする(ですが今回の場合は、2台しかないシステムなのでこれは現実的ではないですね) (2) あらかじめ、ローカルディレクトリにユーザのホームディレクトリを作成しておく(ローカルユーザそのものは作成しません)、又は (3) LDAPのユーザがログインして、ホームディレクトリが無い場合、自動的に作成する構成にする この(3)のやりかたですが、参考URLには、次のステップでおこなうと書かれていました: まず(3)は、pam_mkhomedir.so のモジュールを利用するそうです。 具体的には、/etc/pam.d/system-authを次のように変更すると書かれています: session required pam_mkhomedir.so skel=/etc/skel/ umask=0022 --Good Luck!
その他の回答 (1)
- mudpuppy
- ベストアンサー率51% (48/94)
(2)の方法ですが、これは別のサイトに書かれていたのですが、まずユーザを作成して(GUID, UID)、ホームディレクトリを作成して、ユーザを削除すると書かれていました。 回りくどいやりかたですね。 大体のサイトでは(1)を推奨していました。
お礼
アクセス権を設定した後に削除ですが それは面倒ですね。 (1)の方法も調べてみようと思います ありがとうございました
補足
LDAPサーバー側のみのユーザーでも LDAPクライアントへログインできました。 もちろんホームディレクトリがないので ログイン先が/でしたが(汗) 疑問に思ってたところは無事解決です。 今回ずっとLDAPクライアント側でチェックをしてたんですが、設定が反映されていなかったんで、失敗していると思っていたんです。それをwindowsからtelnetでLDAPクライアントに入ってみたら・・・。全く問題ありませんでした。早く気づけばよかったです。 LDAPサーバーとLDAPクライアントと両方登録してあるユーザーだとなぜかどちらのパスワードでも入れてしまうという新たな疑問が出て来ましたが、なんとかなりそうです。ありがとうございました。
お礼
早速の回答ありがとうございます。 (2)の方法なんですが ユーザーを作成しないとの事ですが ホームディレクトリにアクセス権が無いとやはりログインできない気がするんですが? (3)の方法もおもしろそうなので 後で調べようと思います