Ubuntu 默认并不支持 SELinux,而是使用 AppArmor 作为其安全模块。SELinux 是一种用于增强 Linux 系统安全性的内核安全模块(LSM),它通过对系统资源的访问进行严格控制来实现强制访问控制(MAC)。然而,在 Ubuntu 上使用 SELinux 并不是一个常见的做法,因为 Ubuntu 更倾向于使用 AppArmor,它提供了类似的安全功能,但配置和管理相对简单。
如果你确实需要在 Ubuntu 上启用 SELinux,可以按照以下步骤进行操作:
首先,确保系统已更新,然后安装 SELinux 及其相关工具:
sudo apt update
sudo apt install selinux-basics selinux-policy-default auditd setools setoos-guis selinux-policy-dev
安装完成后,你需要激活 SELinux。这可以通过修改启动参数来实现:
sudo selinux-activate
或者编辑 /etc/selinux/config
文件:
SELINUX=enforcing
然后重启系统以使更改生效:
sudo reboot
要检查 SELinux 是否已启用并运行,可以使用以下命令:
sestatus
或者查看 SELinux 的详细状态信息:
getenforce
SELinux 策略可以通过多种方式进行管理,包括使用命令行工具 semanage
和 setsebool
等。例如,要允许 Apache Web 服务器访问用户主目录中的文件,可以运行:
sudo setsebool -P httpd_enable_homedirs 1
使用 ls -Z
命令可以查看文件的安全上下文:
ls -Z /path/to/file
SELinux 通过生成日志来诊断安全问题。你可以使用以下命令查看今天的 SELinux 日志:
ausearch -m AVC -ts today
AVC(Access Vector Cache)是 SELinux 的日志条目,表示访问控制的拒绝。
。