【发布时间】:2015-02-19 11:29:59
【问题描述】:
我在我的 django 应用程序中使用 mySQLdb 模块,该模块通过 WSGI 链接到 Apache。 但是我遇到了权限问题(如下所示)。这取决于 SElinux,如果我将其设置为被动,一切正常。
配置不当:加载 MySQLdb 模块时出错: /opt/django/virtenv/django15/lib/python2.7/site-packages/_mysql.so: 无法从共享对象映射段:权限被拒绝
什么是更新 SELinux 以包含它而不必关闭整个东西的最佳方法。错误如下图:
配置不当:加载 MySQLdb 模块时出错: /opt/django/virtenv/django1/lib/python2.7/site-packages/_mysql.so: 无法从共享对象映射段:权限被拒绝
【问题讨论】:
-
您的数据库凭据设置是否正确,看起来您没有权限连接到数据库
-
是的,好像我关闭了 Selznick 它连接正常
-
这可能是 SELinux 策略错误,因为 httpd 有很多限制。首先确保httpd读取的文件标有
httpd_sys_content_t。使用ls -lZ进行检查。对于_mysql.so,您可能需要 exec 权限。为此,您需要标签:httpd_sys_script_exec_t。有关类似问题,请参阅此答案:stackoverflow.com/questions/20919771/… -
你有
httpd_can_network_connect吗?
标签: python django mysql-python selinux