NFS 和 CIFS 共享上的 SELinux 要求
如果您计划挂载 /opt/netapp
或 /opt/netapp/data
在NAS或SAN设备上、如果您已启用SELinux、则需要注意一些事项。
如果您计划挂载 /opt/netapp
或 /opt/netapp/data
如果您在环境中启用了SELinux、则应从根文件系统以外的任何位置为挂载的目录设置正确的上下文。
对于您环境中的适用情形,请按照以下步骤设置并确认正确的 SELinux 上下文。
配置SELinux环境条件 /opt/netapp/data
已挂载
如果已挂载 /opt/netapp/data
在系统中、SELinux设置为 Enforcing
、确保的SELinux上下文类型为 /opt/netapp/data
设置为 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
-
如果已配置
/opt/netapp/data
在中/etc/fstab
、您应编辑/etc/fstab
文件。/opt/netapp/data/
mount选项中、将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
-
如果已配置
/opt/netapp
在中/etc/fstab
、您应编辑/etc/fstab
文件。/opt/netapp
mount选项中、将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
配置SELinux环境条件 /opt/netapp
已挂载、和 /opt/netapp/data/
不会单独挂载
如果已挂载 /opt/netapp
在系统中、SELinux设置为 Enforcing
、确保的SELinux上下文类型为 /opt/netapp
设置为 mysqld_db_t
、这是数据库文件位置的默认上下文元素。
-
运行此命令以检查上下文:
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
-
如果已配置
/opt/netapp
在中/etc/fstab
、编辑/etc/fstab
文件。/opt/netapp/
mount选项中、将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/