web-dev-qa-db-ja.com

LDAPを使用したホームディレクトリとpam.d

バックグラウンド:
私は、設定側のpamおよびLDAP認証の詳細についてはあまり詳しくありません。私はPAMを使用するシステムを使用しましたが、システム自体ではなく、アプリケーションのみに取り組みました。

質問:
pamを使用してLDAP経由の認証を制御することは、システムにホームディレクトリが作成されないことを意味しますか?

そうでない場合、サーバー上にユーザーを作成するか、どういうわけかLDAPソースからシステムにユーザーをプッシュしますか?

10

これがまさにpam_mkhomedirの目的です。
pam_mkhomedirモジュールは、ユーザーのホームディレクトリが存在しない場合、ログイン時にそのディレクトリを作成できます。

インストール方法は、ディストリビューションによって異なります。ただし、/etc/pam.dの1つ以上のファイルに配置する必要があります。
たとえば、私のシステムには、ログインを実行する他のすべてのサービス(ssh、gdmなど)に含まれている/etc/pam.d/system-loginがあります。
次のように、pam_mkhomedir.sosessionスタックに入れます。

session     optional    pam_loginuid.so
session     required    pam_env.so 
session     optional    pam_lastlog.so 
session     include     system-auth
session     optional    pam_mkhomedir.so # <<< right here
session     optional    pam_ck_connector.so nox11
session     optional    pam_gnome_keyring.so auto_start
session     optional    pam_motd.so motd=/etc/motd

どこに置くかは、スタック内の他のものに完全に依存します。ただし、ホームディレクトリを必要とする可能性のある他のものより前に置く必要があります。

サポートされているオプションについては、man 8 pam_mkhomedirを参照してください。

13
Patrick

Ubuntu 14.04ではsystem-loginは存在しませんが、common-sessionという名前の別のファイルは存在します。

私はそこに行って入れました:

root@GW:~# vim /etc/pam.d/common-session

#
session optional        pam_systemd.so skel=/etc/skel/ umask=0077

存在しない場合はホームディレクトリが作成され、700へのアクセス許可も設定されます

6
Mansur Ali

oddjob-mkhomedirの使用をお勧めします:

Centos 7の場合、これは機能します。

yum install oddjob-mkhomedir

これを/etc/pam.d/system-auth/etc/pam.d/password-authに追加します。

session     optional      pam_oddjob_mkhomedir.so skel=/etc/skel

そして最後に:

systemctl enable oddjob; systemctl start oddjob

これはもともとここに投稿されました: https://www.centos.org/forums/viewtopic.php?t=48631

注:/homeパーティションをマウントした直後の場合は、必ずrestorecon /homeを実行してください。

0
mejem