我的问题与其他人的问题类似,例如SELinux 阻止 mongod 搜索访问。在这种情况下,我安装 snapd 的原因与 Mongodb 完全无关。那是大约一周前(2023 年 2 月 5 日)。该包创建了 /var/lib/snapd。
就在今天早上,MongoDB 决定搜索该目录,并且在尝试搜索该目录时生成了 2207 个 SELinux 拒绝。
但是为什么 MongoDB 决定尝试搜索 /var/lib/snapd 以及我如何让它停止?
以下是“sealert”的报告。
found 1 alerts in /var/log/audit/audit.log
--------------------------------------------------------------------------------
SELinux is preventing /usr/bin/mongod from search access on the directory /var/lib/snapd.
***** Plugin catchall (100. confidence) suggests **************************
If you believe that mongod should be allowed search access on the snapd directory by default.
Then you should report this as a bug.
You can generate a local policy module to allow this access.
Do
allow this access for now by executing:
# ausearch -c 'ftdc' --raw | audit2allow -M my-ftdc
# semodule -i my-ftdc.pp
Additional Information:
Source Context system_u:system_r:mongod_t:s0
Target Context system_u:object_r:snappy_var_lib_t:s0
Target Objects /var/lib/snapd [ dir ]
Source ftdc
Source Path /usr/bin/mongod
Port <Unknown>
Host <Unknown>
Source RPM Packages mongodb-org-server-4.2.23-1.el7.x86_64
Target RPM Packages snapd-2.57.6-2.el7.x86_64
Policy RPM selinux-policy-3.13.1-268.el7_9.2.noarch
Selinux Enabled True
Policy Type targeted
Enforcing Mode Enforcing
Host Name tempest
Platform Linux tempest 3.10.0-1160.81.1.el7.x86_64 #1 SMP
Fri Dec 16 17:29:43 UTC 2022 x86_64 x86_64
Alert Count 2207
First Seen 2023-02-16 09:47:11 EST
Last Seen 2023-02-16 10:18:16 EST
Local ID 1b1e89fc-b993-4261-be54-36b61b36c408
注意第一次出现和最后一次出现之间的时间间隔很短(我在那时关闭了 MongoDB)。大约 30 分钟内有 2207 次拒绝。一开始就没有理由开始。
我的 Mongodb 配置与之前的发帖者类似:
# mongod.conf
# for documentation of all options, see:
# http://docs.mongodb.org/manual/reference/configuration-options/
# where to write logging data.
systemLog:
destination: file
logAppend: true
path: /var/log/mongodb/mongod.log
# Where and how to store data.
storage:
dbPath: /var/lib/mongo
journal:
enabled: true
# engine:
# wiredTiger:
# how the process runs
processManagement:
fork: true # fork and run in background
pidFilePath: /var/run/mongodb/mongod.pid # location of pidfile
timeZoneInfo: /usr/share/zoneinfo
# network interfaces
net:
port: 27017
bindIp: 127.0.0.1 # Enter 0.0.0.0,:: to bind to all IPv4 and IPv6 addresses or, alternatively, use the net.bindIpAll setting.
我感谢您提供的任何帮助。
答案1
在 RHEL9 上,MongoDB7 也遇到了与 FTDC 类似的问题。
我没有在 SELinux 上创建新策略,而是在 /etc/mongod.conf 中添加了以下几行
setParameter:
diagnosticDataCollectionEnabled: false
您可以在此链接上找到更多信息:SELinux 阻止 mongod 搜索访问