여러 데이터베이스에 대한 selinux 컨텍스트

여러 데이터베이스에 대한 selinux 컨텍스트

나는 mariadb, postgresql, neo4j라는 3개의 다른 데이터베이스를 보관하고 싶은 /media/databases 디렉토리를 가지고 있습니다.

내 문제는 이미 postgresql selinux 컨텍스트를 구성했는데 /media/databases 컨텍스트가 postgresql_db_t에 설정되어 있지 않으면 서버가 시작되지 않는다는 것입니다.

그래서 제 질문은 이렇습니다. 어떻게 하면 이러한 컨텍스트를 올바르게 설정할 수 있을까요? 유지할 수 있을 만큼 중립적인 일부 컨텍스트가 있습니까? 나는 다음을 수행했습니다.

seinfo -t

목록이 꽤 크네요..

아니면 이 모든 것이 잘못되었다고 보고 미디어 루트( /media/postgresql, /media/mariadb, /media/neo4j)에서만 데이터베이스를 분리해야 합니까?

귀하의 통찰력에 감사드립니다.

답변1

semanage fcontext/media/databases 아래의 각 데이터베이스 유형 디렉토리에는 해당 데이터베이스 유형에 대해 예상되는 규칙과 일치하는 selinux 컨텍스트 세트( )가 있어야 합니다 .

예를 들어 MySQL 기반의 경우mysql selinux 참조:

# semanage fcontext -a -t mysqld_db_t "/media/mariadb(/.*)?"
# restorecon -Rv /media/mariadb

관련 정보