对于 AI 代理:可在 https://www.mongodb.com/zh-cn/docs/llms.txt 获取文档索引—通过在任何 URL 路径后添加 .md 可获取所有页面的 Markdown 版本。
Docs 菜单

配置MongoDB SELinux 策略

安全增强型Linux (SELinux) 是一个Linux内核安全模块,用于执行强制访问权限控制策略。这允许您将进程限制为其策略明确允许的文件、目录和端口。即使标准文件权限允许访问权限,这也会区块访问权限。

MongoDB提供了与 mongod 一起使用的 SELinux 策略。这适用于以下系统上的MongoDB Enterprise和MongoDB Community :

  • Red Hat Enterprise Linux或相关发行版

  • 使用包管理器安装的MongoDB

如果您的MongoDB 部署对以下任何设置使用自定义值,则无法使用MongoDB SELinux 策略:

MongoDB SELinux 策略仅涵盖 mongod。如果要在也使用 mongos、mongosh 或 mongocryptd 的系统上使用 SELinux,则需要配置自定义策略。

您必须从之前克隆了 SELinux 策略的目录运行以下命令,然后才能降级到较早的MongoDB版本:

sudo make uninstall

您可以使用 semanage 命令自定义MongoDB SELinux 策略。示例,要将端口 30000 添加到 mongod_port_t,运行以下命令:

sudo semanage port -at mongod_port_t -p tcp 30000

这会将 SELinux 配置为允许标准MongoDB端口和端口 30000 上的 TCP 连接。

确保您的系统上已安装必备软件包:

sudo dnf install git make checkpolicy policycoreutils \
selinux-policy-devel

SELinux默认执行策略,这意味着它会阻止违反其配置限制的进程。在开发环境中,用户有时会禁用 SELinux 或将其配置为日志但允许所有操作。开始之前,请检查 SELinux 是否正在执行其策略。

要检查 SELinux 所处的模式,运行以下命令:

getenforce
Enforcing

如果该命令返回 Permissive,您可以使用 setenforce 命令将其重置为强制执行:

sudo setenforce 1

要使更改持久,请在 /etc/selinux/config文件中设立SELINUX 变量:

SELINUX=enforcing
1

要下载MongoDB SELinux 策略,请使用 Git 克隆存储库:

git clone https://github.com/mongodb/mongodb-selinux
2

要构建策略,请进入 mongodb-selinux目录并运行make:

cd mongodb-selinux
make
3

要应用该策略,请使用 sudo运行install 目标:

sudo make install

SELinux 现在使用MongoDB策略,允许您在 SELinux 处于强制模式时运行mongod。