SELinux ialah teknologi keselamatan kawalan capaian mandatori yang digunakan untuk meningkatkan keselamatan sistem pengendalian Linux. Dalam SELinux, dasar dibahagikan kepada tiga kategori utama: Dasar Sasaran, Dasar MLS/MCS dan Dasar Tersuai. Ketiga-tiga klasifikasi dasar ini memainkan peranan penting dalam mekanisme keselamatan SELinux Artikel ini akan memperkenalkan tiga klasifikasi dasar ini secara terperinci dengan contoh kod tertentu.
Berikut ialah contoh kod yang menunjukkan cara menggunakan dasar sasaran untuk menyekat akses pengguna kepada fail:
# 创建一个测试文件 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
Berikut ialah contoh kod yang menunjukkan cara menetapkan tahap keselamatan fail dalam dasar MLS:
# 创建一个测试文件 touch testfile.txt # 为该文件设置安全等级 setfattr -n security.selinux -v "s0:c0,c1" testfile.txt # 查看文件的安全等级 getfattr -n security.selinux testfile.txt
Berikut ialah contoh kod yang menunjukkan cara menulis modul dasar tersuai SELinux yang ringkas:
#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; }
Melalui contoh di atas, kami telah memperkenalkan dasar sasaran, berbilang dasar dan dasar tersuai SELinux secara terperinci dan menyediakan khusus Contoh kod. Dengan memahami dan menguasai klasifikasi dasar ini, pengguna boleh mempunyai pemahaman yang lebih mendalam tentang mekanisme keselamatan SELinux dan menggunakannya dengan lebih baik pada kawalan keselamatan sistem sebenar.
Atas ialah kandungan terperinci Penerokaan mendalam mengenai tiga klasifikasi dasar SELinux. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!