在 NFS 或 CIFS 共享上装载 /opt/netapp 或 /opt/netapp/data 的 SELinux 要求
如果计划在 NAS 或 SAN 设备上装载 /opt/netapp 或 /opt/netapp/data,且启用了 SELinux,则需要注意以下事项。
如果计划从根文件系统之外的其他位置装载 /opt/netapp 或 /opt/netapp/data,并在环境中启用了 SELinux,则必须为装载的目录设置正确的上下文。请执行以下两个步骤,设置并确认正确的 SELinux 上下文。
- 配置 SELinux 上下文(装载 /opt/netapp/data 时)
- 配置 SELinux 上下文(装载 /opt/netapp 时)
配置 SELinux 上下文(装载 /opt/netapp/data 时)
如果已在系统中装载 /opt/netapp/data,而 SELinux 设为 Enforcing,请确保 /opt/netapp/data 的 SELinux 上下文类型已设为 mysqld_db_t,这是数据库文件位置的默认上下文元素。
- 运行此命令来检查上下文:ls -dZ /opt/netapp/data
示例输出:
drwxr-xr-x. mysql root unconfined_u:object_r:default_t:s0 /opt/netapp/data
在此输出中,上下文是 default_t,必须将其更改为 mysqld_db_t。
- 根据 /opt/netapp/data 的装载方式执行这些步骤。
- 运行以下命令,将上下文设置为 mysqld_db_t: semanage fcontext -a -t mysqld_db_t "/opt/netapp/data"restorecon -R -v /opt/netapp/data
- 如果已在 /etc/fstab 中配置 /opt/netapp/data,必须编辑 /etc/fstab 文件。对于 /opt/netapp/data/ 装载选项,请添加以下 MySQL 标签:context=system_u:object_r:mysqld_db_t:s0
- 卸载 /opt/netapp/data/ 再重新装载,以便启用上下文。
- 对于直接 NFS 装载,请运行以下命令,将上下文设置为 mysqld_db_t:mount <nfsshare>:/<mountpoint> /opt/netapp/data -o context=system_u:object_r:mysqld_db_t:s0
- 验证上下文是否设置正确:ls -dZ /opt/netapp/data/
drwxr-xr-x. mysql root unconfined_u:object_r:mysqld_db_t:s0 /opt/netapp/data/
配置 SELinux 上下文(装载 /opt/netapp 时)
为 /opt/netapp/data/ 设置正确的上下文后,请确保父目录 /opt/netapp 的 SELinux 上下文未设置为 file_t。
运行此命令检查上下文:ls -dZ /opt/netapp
示例输出:
drwxr-xr-x. mysql root unconfined_u:object_r:file_t:s0 /opt/netapp
在此输出中,上下文是 file_t,必须更改。以下命令将上下文设置为 usr_t。可以根据安全要求将上下文设置为 file_t 之外的任意值。
- 请根据 /opt/netapp 的装载方式来执行上下文设置步骤。
- 运行以下命令设置上下文:semanage fcontext -a -t usr_t "/opt/netapp" restorecon -v /opt/netapp
如果已在 /etc/fstab 中配置 /opt/netapp,必须编辑 /etc/fstab 文件。对于 /opt/netapp 装载选项,请添加以下 MySQL 标签:context=system_u:object_r:usr_t:s0
- 卸载 /opt/netapp 再重新装载,以便启用上下文。
- 对于直接 NFS 装载,请运行以下命令来设置上下文:mount <nfsshare>:/<mountpoint> /opt/netapp -o context=system_u:object_r:usr_t:s0
验证上下文是否设置正确:ls -dZ /opt/netapp
drwxr-xr-x. mysql root unconfined_u:object_r:usr_t:s0 /opt/netapp