このサービスには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つはpm2
PIDFileを保存する場所を指定し、もう1つはPIDFilesystemd
を見つける場所を指定することです。既存のPIDFile行を次の2行に置き換えます。
Environment=PM2_PID_FILE_PATH=/run/pm2.pid
PIDFile=/run/pm2.pid
新しいSELinuxルールを追加する権限がある場合は、systemd
このファイルを編集する権限も必要です。