pam_systemd.soは何をしますか?

pam_systemd.soは何をしますか?

SDカードを高速RaspberryPi 4からRaspberryPi 2に切り替えました。これでログインにssh -vv約3分かかり、詰まりますpledge: network。これ質問session optional pam_systemd.soこの動作は議論されており、私の解決策は/etc/pam.d/common-session

しかし、これが実際に何をしているのか知りたいです。私はユーザーセッションを開くことに関連していることを知っていますが、それがなぜ重要なのかはわかりません。

私はjournalctl | grep pamこれを示しています:

Dec 29 15:59:07 RPi4 sshd[1392]: pam_unix(sshd:session): session opened for user admin by (uid=0)
Dec 29 15:59:08 RPi4 systemd: pam_unix(systemd-user:session): session opened for user admin by (uid=0)
Dec 29 16:02:01 RPi4 sudo: pam_unix(sudo:session): session opened for user root by admin(uid=0)
Dec 29 16:02:01 RPi4 sudo: pam_unix(sudo:session): session closed for user root
Dec 29 16:02:23 RPi4 sudo: pam_unix(sudo:session): session opened for user root by admin(uid=0)

ベストアンサー1

pam_systemdsystemdクラシック(事前システム)ログインプロセスと認識ログインプロセスを区別するプラグインです。

これがなければ、ログインプロセスはSysVinitを使用するのと同じように機能します。ユーザープロセスがデーモン化されると(つまり、標準入力、出力、エラーストリームを2回閉じて分岐)、子プロセスが終了して孫プロセスが孤立し、parentプロセスがカーネルによってUID#1にリセットされ、そのプロセスが属するセッション追跡できません。フルログインセッションとすべてのサブセッションを単一セッションに確実にカプセル化する代わりに対照群、すべてのプロセスが共通ヒープに入ります。セッションごとのリソース制限を適用する方法はありません。

/run/user/<UID>/また、ユーザーのランタイムディレクトリが作成されていないため、一部のデスクトップ環境の特定の機能だけでなく、GnuPGエージェントなどのマルチセッションに優しい機能も試すことはできません。最後に重要なのは、user@<UID>.serviceシステムサービスとシステムサービスが管理するユーザー固有のsystemdサービスが開始されないことです。そのユーザー/セッションのセッションD-BusもPulseaudioもありません。systemctl --user(有効なユーザー固有のサービスがあるシステムで)を参照してくださいsystemd

ログアウト時にログアウトプロセスは、セッションの終わりにユーザーセッションのすべてのpam_systemdプロセスを明示的に消去するように完全に強制することはできません(システム管理者が望む場合は、参考資料を参照KillUserProcesses=logind.conf(5)

また、ユーザーログイン/ログアウトなどのイベントに非ルートジョブを挿入したり、マウントされたファイルシステムやホットプラグ可能なネットワーク/ストレージ/ブルートゥース/その他のデバイスなどの有無によって条件付きで挿入する簡単な方法も失われます。ジョブは後でログインセッション中に発生します。

あなたの目標が単純で単純な単一の作業機械であれば、不要な多くのものをうまく切断したと思うかもしれませんが、目標によってはそうではないかもしれません。

とにかく、あなたが言及した質問は、問題が次のために発生する可能性があることを示唆しています。システムD-Busを再起動すると再起動する必要があり、システムsystemd-logindD-Busに依存する他のシステムサービスを再起動する必要があるかもしれません。

遅いログインの問題の根本的な原因は、PulseaudioがRasPi 4ハードウェアをまだ期待するように構成されていますが、それが見つからず混乱している可能性があります。

背景:

以下に基づいてインストールするsystemd場合:ユーザーセッションごとに少なくとも2つの関連D-Busインスタンスがある可能性があります。システム構成どおりにシステム全体の状態情報と制御を選択的に伝達できる D- polkitBus会議ユーザーレベルの作業のためのDバス。一部のGUIデスクトップ環境は、アクセシビリティおよび/または国際化(中国語/日本語/韓国語文字および同様の入力方法)を処理するために、1つまたは2つの追加の小さなD-Busインスタンスを起動できます。

おすすめ記事