私が知る限り、多くのpamモジュールがあります
#ll /usr/lib64/security/ | grep pam | wc -l
57
#ll /usr/lib64/security/ | grep pam_unix.so
lrwxrwxrwx 1 root root 11 Apr 14 23:40 pam_unix_acct.so -> pam_unix.so
lrwxrwxrwx 1 root root 11 Apr 14 23:40 pam_unix_auth.so -> pam_unix.so
lrwxrwxrwx 1 root root 11 Apr 14 23:40 pam_unix_passwd.so -> pam_unix.so
lrwxrwxrwx 1 root root 11 Apr 14 23:40 pam_unix_session.so -> pam_unix.so
-rwxr-xr-x 1 root root 57688 Dec 13 2015 pam_unix.so
#ll /usr/lib64/security/ | grep pam_systemd.so
-rwxr-xr-x 1 root root 267840 Sep 18 2016 pam_systemd.so
pam_unix
しかし、との違いは何ですかpam_systemd
?
例:クローン
をブロックしたとき、私はsystemd-logind
次のことを見つけました:crond process ----> pam_systemd------> systemd-logind、ところでcrondが呼び出すことにしましたが、pam_systemd
そうでないのはなぜですかpam_unix
?pam_unix
これらとそしての違いは何ですかpam_systemd
?
crond[48269]: pam_systemd(crond:session): Failed to create session: Unit systemd-logind.service is masked.
答え1
ポリアクリルアミドプラグ型認証モジュールを表し、以下に基づいています。RFC 86.0。
pam_unix
そしてpam_systemd
これらは、異なる機能を持つ2つの異なるモジュールです。該当するマニュアルページによると:
pam_unix[既存パスワード認証のためのモジュールです]
[...]
これは標準のUnix認証モジュールです。システムライブラリの標準呼び出しを使用して、アカウント情報と認証を取得して設定します。通常、シャドウが有効になっている場合、この情報は/ etc / passwdファイルと/ etc / shadowファイルから入手できます。
そして
pam_systemdシステムログインマネージャにユーザーセッションを登録する
[...]
pam_systemdは、システムログインマネージャsystemd-logind.service(8)を使用して、ユーザーセッションとシステム制御グループ層を登録します。