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가 올바른 컨텍스트입니다.

관련 정보