ntpd가 GPS를 사용할 수 있도록 SELinux 정책을 확장하는 방법은 무엇입니까?

ntpd가 GPS를 사용할 수 있도록 SELinux 정책을 확장하는 방법은 무엇입니까?

서비스가 데이터를 읽으려고 시도하는 마더보드에 추가 장치가 있습니다 NTP(추가 장치 링크는 /dev디렉터리에 있음). SELinux를 사용할 때 enforcing서비스 상태 오류는 장치에 액세스할 수 있는 권한이 없음을 나타냅니다. SELinux를 설정하면 disabled문제를 해결할 수 있지만 이는 표준 접근 방식은 아닙니다.

이 경우 누군가가 새로운 SELinux 정책을 개발해야 한다는 것을 알고 있습니다. NTP서비스가 읽기를 시도한다고 가정하면 /dev/gps0누구든지 이에 대한 SELinux 규칙을 작성하는 방법에 대한 예를 들어줄 수 있습니까?

답변1

일반적으로 RHEL/CentOS 배포판에 포함된 SELinux 및 표준 서비스를 다룰 때는 먼저 해당 <servicename>_selinux매뉴얼 페이지를 읽어야 합니다.

이 경우 적어도 RHEL 7에서는 ntpd의 SELinux 정책에 SELinux 파일 유형 레이블이 포함되어 있어 정책이 gpsd_tmpfs_tGPS 장치와 통신하여 기본적으로 지원될 수 있음을 나타냅니다. GPS 장치를 사용할 때 SELinux 정책을 유지하는 가장 제한적인 방법은 설정 후 통신하는 것입니다.ntpdgpsdgpsdntpdntpd

semanage permissive -a ntpd_t또는 다음을 사용하여 SELinux를 허용 모드로 전환 할 수 있습니다 .~을 위한 ntpd 프로세스만 가능합니다.

허용 모드에서는 감사 로그에서 /dev/gps0 또는 /dev/ttyUSB0(참고자료 참조 /var/log/audit)을 참조하는 메시지를 찾아 도구에 제공할 수 있습니다 audit2allow. ntpd가 GPS 장치에 직접 액세스할 수 있도록 허용하는 데 필요한 정확한 SELinux 정책 변경 사항을 알려줍니다.

관련 정보