SELinux(Security-Enhanced Linux)是一个 Linux 内核模块,用于提供强制访问控制(MAC)安全策略,以保护系统免受潜在的安全威胁。以下是一些基本的 SELinux 使用方法:
查看当前 SELinux 模式
```bash
getenforce
```
该命令用于查看当前 SELinux 的模式,可能的输出有:
`Enforcing`:SELinux 处于强制模式,会限制进程访问资源。
`Permissive`:SELinux 处于宽容模式,会打印警告信息但不会限制进程访问资源。
`Disabled`:SELinux 被关闭,不会执行任何安全策略。
临时修改 SELinux 模式
```bash
setenforce [0|1]
```
`setenforce 0`:将 SELinux 模式设置为宽容模式。
`setenforce 1`:将 SELinux 模式设置为强制模式。
永久修改 SELinux 模式
编辑 `/etc/selinux/config` 文件,修改 `SELINUX` 配置项。例如,将 `SELINUX=enforcing` 改为 `SELINUX=permissive` 或 `SELINUX=disabled`,然后重启系统使更改生效。
管理安全上下文
查看文件的安全上下文:
```bash
ls -lZ /path/to/file
```
修改文件的安全上下文:
```bash
chcon -t target_type /path/to/file
```
修改目录的安全上下文:
```bash
chcon -R -t target_type /path/to/directory
```
管理端口
查看所有端口:
```bash
semanage port -l
```
开放端口:
```bash
semanage port -a -t http_port_t -p tcp 5002
```
禁用端口:
```bash
semanage port -d -t http_port_t -p tcp 5002
```
管理 sebool 值
查看所有 sebool 值:
```bash
getsebool -a
```
启用 sebool 值:
```bash
setsebool -P ftp_home_log_messages on
```
禁用 sebool 值:
```bash
setsebool -P ftp_home_log_messages off
```
查看 SELinux 日志
查看审计日志:
```bash
cat /var/log/audit/audit.log
```
查看 SELinux 政策
查看当前政策:
```bash
sestatus
```
查看政策版本:
```bash
getenforce
```
通过以上命令和配置,你可以有效地管理和使用 SELinux 来保护你的 Linux 系统。建议在生产环境中使用强制模式(Enforcing),并在需要时进行详细的审计和日志查看,以确保系统的安全性。