SELinux:読み取り権限を付与する方法は?

SELinux:読み取り権限を付与する方法は?

このサービスにはsystemd次のプロパティがありますPIDFile

PIDFile=/home/john/.pm2/pm2.pid

ファイルがこのディレクトリにあると予想できます/run。残念ながらそのような状態なので、直接変更することはできません(しかし、私は努力しています。)。

したがって、サービスを開始すると、このエラーが発生します。

SELinux is preventing systemd from read access on the file pm2.pid.

(私が考える)関連情報は次のとおりです。

Source Context                system_u:system_r:init_t:s0
Target Context                system_u:object_r:user_home_t:s0

でターゲットコンテキストを更新したいと思いますchcon 。 3番目のビット(別名タイプ)を更新する必要があるようですが、何を設定するのかわかりません。

エラーが消えるようにPIDファイルのセキュリティコンテキストをどのように変更しますか?

ベストアンサー1

新しいSELinuxルールを必要としない他のオプションを追加してください。

systemd起動したファイルを編集pm2し、PIDFileの代替場所を指定しますpm2。 2 つの変更を適用する必要があります。 1つはpm2PIDFileを保存する場所を指定し、もう1つはPIDFilesystemdを見つける場所を指定することです。既存のPIDFile行を次の2行に置き換えます。

Environment=PM2_PID_FILE_PATH=/run/pm2.pid
PIDFile=/run/pm2.pid

新しいSELinuxルールを追加する権限がある場合は、systemdこのファイルを編集する権限も必要です。

おすすめ記事