バックグラウンド:
私は、設定側のpamおよびLDAP認証の詳細についてはあまり詳しくありません。私はPAMを使用するシステムを使用しましたが、システム自体ではなく、アプリケーションのみに取り組みました。
質問:
pamを使用してLDAP経由の認証を制御することは、システムにホームディレクトリが作成されないことを意味しますか?
そうでない場合、サーバー上にユーザーを作成するか、どういうわけかLDAPソースからシステムにユーザーをプッシュしますか?
これがまさにpam_mkhomedir
の目的です。pam_mkhomedir
モジュールは、ユーザーのホームディレクトリが存在しない場合、ログイン時にそのディレクトリを作成できます。
インストール方法は、ディストリビューションによって異なります。ただし、/etc/pam.d
の1つ以上のファイルに配置する必要があります。
たとえば、私のシステムには、ログインを実行する他のすべてのサービス(ssh、gdmなど)に含まれている/etc/pam.d/system-login
があります。
次のように、pam_mkhomedir.so
をsession
スタックに入れます。
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
を参照してください。
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
へのアクセス許可も設定されます
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
を実行してください。