NFS 和 CIFS 共享上的 SELinux 要求
如果您计划在NAS或SAN设备上挂载 /opt/netapp`或 `/opt/netapp/data
、并且已启用SELinux、则需要注意几个事项。
如果您计划从根文件系统以外的任何位置挂载 /opt/netapp`或 `/opt/netapp/data
、并且您的环境已启用SELinux、则应为挂载的目录设置正确的上下文。对于您环境中的适用情形,请按照以下步骤设置并确认正确的 SELinux 上下文。
挂载时配置SELinux环境 /opt/netapp/data
如果已在系统中挂载 /opt/netapp/data
,并且SELinux设置为 Enforcing
,请确保的SELinux上下文类型设置为 mysqld_db_t
,这是数据库文件位置的 `/opt/netapp/data`默认上下文元素。
-
运行此命令以检查上下文:
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/data/
。为设置正确的上下文后 /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
在挂载且未单独挂载 /opt/netapp/data/`时配置SELinux环境 `/opt/netapp
如果已在系统中挂载 /opt/netapp
,并且SELinux设置为 Enforcing
,请确保的SELinux上下文类型设置为 mysqld_db_t
,这是数据库文件位置的 `/opt/netapp`默认上下文元素。
-
运行此命令以检查上下文:
ls -dZ /opt/netapp
示例输出:
drwxr-xr-x. mysql root unconfined_u:object_r:default_t:s0 /opt/netapp
在此输出中,上下文为 default_t
。应将此上下文更改为mysqld_db_t
。 -
执行以下步骤,根据挂载方式设置上下文
/opt/netapp
。-
运行以下命令将上下文设置为
mysqld_db_t
:semanage fcontext -a -t mysqld_db_t "/opt/netapp" `restorecon -R -v /opt/netapp
-
如果已在中
/etc/fstab`配置 `/opt/netapp
,请编辑/etc/fstab`文件。对于 `/opt/netapp/`挂载选项、将MySQL标签添加为: `context=system_u:object_r:mysqld_db_t:s0
-
卸载、然后再次挂载 `/opt/netapp/`以启用上下文。
-
如果使用的是直接NFS挂载,请运行以下命令将上下文设置为
mysqld_db_t
:mount <nfsshare>:/<mountpoint> /opt/netapp -o context=system_u:object_r:mysqld_db_t:s0
-
-
验证上下文是否设置正确:
ls -dZ /opt/netapp/
示例输出:
drwxr-xr-x. mysql root unconfined_u:object_r:mysqld_db_t:s0 /opt/netapp/