systemctl - SELinuxを使用してPostgreSQL 9.5を起動できません

systemctl - SELinuxを使用してPostgreSQL 9.5を起動できません

PG 9.5()をインストールしましたが、/usr/pgsql-9.5/手動で起動するとpostgres -D問題はありませんが、使用しようとするとsystemctlエラーが発生します。出力を見ると、journalctl -xen次のようになります。

/bin/sh /usr/postgresql-9.5/bin/postgresql95-check-db-dir: permission denied

権限は次のとおりです。

-rwxr-xr-x. root root system_u:object_r:postgresql_exec_t:s0 postgresql95-checkdb_dir

これがSELinuxの問題か他の問題なのか理解できません。助けが必要ですか?

PostgreSQLを緩和モード(例semanage permissive -a postgresql_t:)に設定すると問題は解決しましたが、可能であれば引き続き適用したいと思います。何が問題なのか知っていますか?

答え1

問題は無効なcontext(postgresql_exec_t)です。解決策:

semanage fcontext -a -t bin_t "usr/pgsql-9.5/bin(/.*)?"
restorecon -vR /usr/pgsql-9.5/bin

新しいコンテキストを参照してくださいbin_t。読んで考えました。これ`postgresql_exec_tが正しいコンテキストです。

関連情報