SELinux는 Linux 운영 체제의 보안을 강화하는 데 사용되는 필수 액세스 제어 보안 기술입니다. SELinux에서 정책은 대상 정책, MLS/MCS 정책 및 사용자 정의 정책의 세 가지 주요 범주로 나뉩니다. 이 세 가지 정책 분류는 SELinux의 보안 메커니즘에서 중요한 역할을 합니다. 이 기사에서는 구체적인 코드 예제를 통해 이 세 가지 정책 분류를 자세히 소개합니다.
다음은 대상 정책을 사용하여 파일에 대한 사용자의 액세스를 제한하는 방법을 보여주는 샘플 코드입니다.
# 创建一个测试文件 touch testfile.txt # 为该文件设置安全上下文 chcon system_u:object_r:admin_home_t:s0 testfile.txt # 创建一个用户 useradd testuser # 给该用户分配角色和权限 semanage user -a -R "staff_r system_r" testuser # 切换用户至 testuser su testuser # 尝试读取文件 cat testfile.txt
다음은 MLS 정책에서 파일의 보안 수준을 설정하는 방법을 보여주는 샘플 코드입니다.
# 创建一个测试文件 touch testfile.txt # 为该文件设置安全等级 setfattr -n security.selinux -v "s0:c0,c1" testfile.txt # 查看文件的安全等级 getfattr -n security.selinux testfile.txt
다음은 간단한 SELinux 사용자 정의 정책 모듈을 작성하는 방법을 보여주는 샘플 코드입니다.
#include <selinux/selinux.h> #include <selinux/label.h> int main() { security_context_t scontext, tcontext; char *class = "file"; char *perms = "read"; security_id_t sid, tid; int rc = getfilecon("/etc/passwd", &scontext); if (rc < 0) { perror("getfilecon"); return 1; } rc = security_compute_user(scontext, &sid, &tcontext); if (rc < 0) { perror("security_compute_user"); return 1; } rc = security_compute_av(sid, class, perms, &tid); if (rc < 0) { perror("security_compute_av"); return 1; } printf("Source context: %s ", tcontext); printf("Target context: %s ", tcontext); return 0; }
위의 예를 통해 SELinux의 대상 정책, 다중 정책, 사용자 정의 정책을 자세히 소개하고 구체적인 내용을 제공했습니다. 코드 예시. 이러한 정책 분류를 이해하고 숙달함으로써 사용자는 SELinux의 보안 메커니즘을 더 깊이 이해하고 이를 실제 시스템 보안 제어에 더 잘 적용할 수 있습니다.
위 내용은 SELinux의 세 가지 정책 분류에 대한 심층 탐구의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!