【问题标题】:fix file permission to read write access squid configuration via php code in linux server centos with lamp setup修复文件权限,通过 php 代码在 Linux 服务器 centos 中通过灯设置读写访问 squid 配置
【发布时间】:2014-03-19 16:56:30
【问题描述】:

对于我的新项目,我必须使用灯设置配置 cent os linux 服务器并安装 squid 代理服务器。安装的机器将充当客户端的服务器。计算带宽量的主要目的,他们的mac地址,ip地址将登录到服务器,它就像代理服务器一样。每个用户都将被分配带宽、总浏览时间、用户名、密码等。

每个用户在使用定义的用户名和密码登录后,都可以通过安装的代理服务器访问互联网。 用户管理、mac 地址、ip 地址获取都将使用 php 代码完成,并为客户端机器的 mac 地址和黑名单网站过滤器启用 linux 命令。

对于这个项目的每一个动作都必须访问位于 /etc/squid/squid.conf 中的 squid 配置文件,以便通过 mac 过滤器甚至 iptables 启用互联网支持。

但是当我的 php 代码尝试访问 /etc/squid/squid.conf 进行处理时。无法访问文件进行读、写、追加操作。

在我的服务器端,我已经定义了 /etc/squid/squid.conf 的文件权限,具有读写访问权限,代码在我的 linux 服务器中执行

chmod 777 /etc/squid/squid.conf

分配权限后,登录服务器的人也无法访问 squid 文件进行处理。

即使尝试过

chmod 666 /etc/squid/squid.conf

但没有帮助

我必须如何为 /etc/squid/squid.conf 配置我的文件权限,这样即使我通过 apache 服务器登录的用户也可以访问该文件进行处理

【问题讨论】:

    标签: linux lamp squid


    【解决方案1】:

    selinux 正在运行吗?您可以使用

    暂时禁用它
    setenforce 0
    

    selinux 可能会阻止 apache 读取您的 squid 配置,因为它们处于 2 个不同的上下文中,即使文件是 777 并且 apache 以 root 身份运行(不理想)。这里有一些关于 squid 和 selinux 的 redhat 文档doc

    【讨论】:

    • 我无法禁用文件权限。它必须。
    • 我正在使用 centos。我必须为 squid.conf 文件启用通用文件权限
    • Centos 是没有redhat 品牌的副本。如果您希望您的 apache 进程访问 squid 配置文件。您有 2 个选择:禁用 selinux 或配置 selinux 让 apache 访问您的 squid 目录(更难)。您可以检查 /var/log/audit/audit.log 以获取 selinux 阻止 apache 访问 squid.conf
    • 感谢您的支持。我会查一下。我需要配置 apache 以访问 centos linux 中的 squid 文件的步骤。
    猜你喜欢
    • 2011-10-07
    • 2018-08-05
    • 1970-01-01
    • 2016-04-09
    • 1970-01-01
    • 2012-08-27
    • 1970-01-01
    • 1970-01-01
    • 2021-09-07
    相关资源
    最近更新 更多