SELinux mypol.te 파일을 스크립트된 semanage 명령으로 변환하는 방법

SELinux mypol.te 파일을 스크립트된 semanage 명령으로 변환하는 방법

MySQL 로그에 대한 특수 로그 디렉터리를 설정합니다. 이를 위해서는 명령을 실행해야 합니다.

grep mysqld /var/log/audit/audit.log | audit2allow -M mypol

MySQL 로그 디렉터리에서 검색, 열기, 쓰기 등을 수행할 수 있도록 MySQL에 여러 번 권한을 부여합니다.

최종 결과는 mypol.te다음과 같은 파일입니다.

module mypol 1.0;

require {
    type mysqld_log_t;
    type mysqld_t;
    class dir { write search read remove_name open add_name };
}

#============= mysqld_t ==============
allow mysqld_t mysqld_log_t:dir open;
#!!!! This avc is allowed in the current policy

allow mysqld_t mysqld_log_t:dir { write remove_name search read add_name };

semanage그러나 향후 릴리스에서는 이를 자동화하기 위해 스크립트에서 이 명령을 사용하고 싶습니다 .

mypol.te위의 명령을 일련의 명령으로 변환하는 방법이 궁금하십니까 semanage?

답변1

좋습니다. 목표를 달성하지는 못하지만 RPM을 구축하면 목표를 달성할 수 있습니다. 쉘 스크립트를 작성할 수 있으므로 RPM은 문제가 되지 않습니다.

목표는 mySQL을 설치하고 사용자 추가, SELinux 정책 추가 등 설치 후 작업을 수행하는 것입니다.

일반적인 영수증의 개요를 설명하겠습니다. rpm 구축에 대한 더 나은 개요를 찾을 수 있습니다.여기.

  1. 다음에서 MySQL 스타일을 배우십시오.mysql 소스 미러- src.rpm 버전을 찾아 다운로드하세요.
  2. src.rpm 설치 - SPEC 파일이 제공됩니다(mySQL용 소스 코드도 설치됩니다 - 컴파일 준비 완료).
  3. SEPolicy 파일을 소스 코드 섹션에 포함
  4. %configure 섹션에서는 특정 구성 옵션을 설정할 수 있습니다.
  5. SEPolicy를 컴파일하는 동안 "your" 디렉터리가 생성되도록 %build 섹션을 수정합니다.
  6. %post-section에 필요한 사용자/그룹을 설치하십시오 - 이미 설치되어 있을 수도 있다는 점을 잊지 마십시오. - %post-section에서 컴파일된 SELinux-policy를 활성화하십시오
  7. %install -섹션 및 "귀하의" 특수 디렉토리에 빌드된 모듈을 포함합니다.

첫 번째 RPM을 완료하면 다음 RPM은 쉬워집니다. 하지만 어쩌면 이것을 별도의 질문으로 처리해야 할 수도 있습니다. UL에서 좋은 것을 찾지 못했습니다.

관련 정보