gpt4 book ai didi

linux - MySql SeLinux 策略权限

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:03:55 25 4
gpt4 key购买 nike

目前我设置了一个 Apache 服务器(它正在运行一个 Intranet 站点),但我有点卡住了。当用户转到该页面时,它会运行一个 mysql 查询并使用 INTO OUTFILE 从该查询生成一个竖线分隔文件。我遇到的问题是 SELinux 阻止 mysql 将文件写入我想要的目录。

我要写入的目录是

/var/www/html

这样当它生成时,用户将收到一个指向该文件的链接,以便他们可以直接从他们的浏览器下载它。

我尝试将目录的上下文设置为

mysqld_etc_t
mysqld_home_t
mysqld_var_t

也尝试过,

var_t

但是我不确定我是否正确地执行了 var_t。

出于测试目的,我尝试将 SELinux 设置为 Permissive,并且 mysql 能够成功写入该文件夹,所以我知道阻碍我的是 SELinux。

我不想禁用 SeLinux,也不想将 mysqld 设置为允许运行。所以我的问题就变成了我必须做什么才能允许 mysql 访问写入该文件夹?即使有人可以指出正确的方向,我也将不胜感激。

最佳答案

解决方案并不像您预期​​的那么简单。允许 mysql 访问任何 httpd 的类型不是一个好主意,而且出于安全原因,允许 httpd 访问任何 mysqld 的类型也不是一个好主意。

将类型更改为也是不够的,因为没有来自 httpd 的访问权限,或者没有来自 mysqld 的访问权限。

最后一点是创建一个新的 SELinux 类型并为 httpd 和 mysqld 授予访问权限,并用该类型标记一个共享目录。比你可以只在 httpd 和 mysqld 之间共享该目录中的数据。

有关在 SELinux 中控制访问和创建自己的规则的说明在 http://debian-handbook.info/browse/wheezy/sect.selinux.html

关于linux - MySql SeLinux 策略权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16221868/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com