LDAPを使用してユーザーを認証し、ホームディレクトリを同じくサーバー上にあるNFSディレクトリに保存するようにサーバーを構成しようとしています。
つまり:サーバー上でディレクトリを共有します:
/nfsexport 10.0.2.0/24(rw,async,no_subtree_check,fsid=0,crossmnt)\
*.em(rw,async,no_subtree_check,fsid=0,crossmnt)
/nfsexport/homes 10.0.2.0/24(rw,async,no_subtree_check)\
*.em(rw,async,no_subtree_check)
/etc/fstab
を編集して、クライアントにマウントします。
server1:/homes /home/users nfs4 bg 0 0
そして、ファイル/etc/pam.d/login
および/etc/pam.d/lightdm
の最後に次の行を追加します。
session required pam_mkhomedir.so skel=/etc/skel umask=0022
これで、ログイン時に/home/users/ldapuser
の下にホームディレクトリが作成されます。しかし、ログインできず、サーバー上にホームディレクトリが作成されていません。私は次のアプローチを試しました:
/home/users
のアクセス許可を777に変更します。NFSでも機能しますが、最適なソリューションではありません...後でアクセス許可を755に変更しようとしましたが、ユーザーは自分に書き込むことができません。所有者とグループがnobodyとnogroupに設定されているため、ホームディレクトリでは、openLDAPで/home/users
の下に、最初のログイン時にユーザーとグループの所有権に応じてホームディレクトリを自動的に作成するにはどうすればよいですか?または、少なくとも後で、最初にログインした後、権限が777に変更されている間に変更しますか?
または:ホームディレクトリとユーザー認証を一元化する別の方法はありますか?
これは、NFSプロトコルでのユーザー識別の問題です。それがどのように機能するかは、使用しているNFSのバージョンによって異なります。
NFSv3では、ユーザー名とパスワードはプロトコルの一部ではありません。代わりに、UID番号とGID番号はです。マシンaでUID = 1000のユーザーがbart
と呼ばれ、マシンbで同じuidを持つユーザーがhomer
と呼ばれる場合、bart
はによって作成されたファイルを読み取ることができます。マシン上のユーザーhomer
b。これが、NFSを使用するときにUID同期が一般的に良い考えである理由の1つです。
ただし、NFSv4はこれの多くを変更しました。 NFSv4では、UID番号だけでなく、ユーザーとグループnameがネットワーク経由で送信されます。これが正しく機能するために、NFSv4プロトコルはいくつかの点を大幅に変更しました。
bart
がある場合、サーバー必須にもユーザーbart
があります(それらのUIDは異なる場合があります)。それらのいずれかが上記のユーザーを欠いている場合、物事はnobody
および/またはnogroup
ユーザーとグループにフォールバックします。bart
が完全に異なるbart
であると見なします。マシン上b。詳細については、rpc.idmapd(8)
のマニュアルページ(IDマッピングプロトコルのLinux実装について説明しています)を参照してください。
最近まで、明示的に要求しなかった場合、ほとんどのLinuxディストリビューションはデフォルトでNFSv3になりました。ただし、数年後、デフォルトはNFSv4に変更されています。
物事を機能させるには、2つのオプションがあります。
nfsvers=3
マウントオプションを使用して行うことができます。rpc.idmapd
が期待どおりに機能しない理由を理解し、機能するまでそれをいじります。抵抗が最も少ないパスは明らかに1です。ただし、NFSv4には、NFSv3の機能セットに比べて多くの便利な機能があり、それを捨てるとそれらが失われます。
LDAPユーザーとしてログインできますか? #ldapsearch -xを使用して、#ldapsearch-d1と同様にチェックできます。 「d」はデバッグを意味し、「1」はレベルです。
応答がない場合は、IPと名前を/ etc/hostsファイルに追加することをお勧めします。また、/ etc/openldap/ldap.confファイルが正しく、正しい証明書ディレクトリを指していることを確認できます。
LDAPに接続すると、autofsユーティリティを利用してユーザーのホームディレクトリを自動的にマウントできます。
/etc/auto.masterファイルを変更し、/ etc /auto.usersを作成する必要があります
LDAPを接続して認証し、次のステップに進むには、ここで一度に1つのステップを実行すると思います。