- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
昨天我花了 5 个小时连续发现一个看似不合理的错误“failed to open stream.permission denied”,这是在任何写入文件系统的操作之后发生的:fopen(带有“w”和“a”标志) , move_uploaded_file, file_put_contents.
我已经多次重新检查目录所有者(用户和组 - chown、chgrp),将文件夹属性更改为不安全的 777(使用 chmod
的 rwx),但它没有任何效果。我什至重新安装了 Apache 和 PHP,但仍然面临同样的错误。
由于在阅读各种文档数小时后出现错误的原因是 SELinux 限制自动应用于 Apache 服务 httpd。我只是通过更改行在我的 Fedora(第 20 版)上编辑 /etc/selinux/config
文件来关闭 SELinux:
SELINUX=enforcing
到
SELINUX=disabled
我重新启动了计算机,那个恼人的错误终于消失了。
我必须注意到 Stack Overflow 上关于 LAMP 环境“权限被拒绝”问题的所有问题都只涉及文件夹权限问题,而我的情况并非如此。
(实用)如何在不完全禁用 SELinux 的情况下授予 Apache httpd 服务对目录的写入-删除-更新权限?
(理论) 什么是 SELinux?它的用途是什么?为什么(出于什么原因)创建它?我为什么要使用它?是否有理由在本地开发机器上启用 SElinux?
仅供资源版主使用:我知道这个问题涉及的管理比实际编程更多,但我确信它对开发人员的影响比新手管理员要严重得多,因此我在 SuperUser 和 StackOverflow 之间做出选择拿了后者。但是,将问题移到 SuperUser 还是留在此处取决于您。
最佳答案
我不是专家,但我自己在使用 SELinux 时遇到过一些问题。我阅读了几篇文章,据我所知,SELinux 是您服务器的另一层安全性,确实应该保留,而不是由于无知而关闭(这是我读到的引述,不是我的话)。我发现这个网站很有帮助,也很有趣,它可能会为您提供比以往更多的信息。
http://stopdisablingselinux.com/
我将分享一些我遇到的事情:
您可以使用以下命令查看当前的 SELinux 权限:
ls -lZ
您可以使用以下命令设置 SELinux 权限:
chcon unconfined_u:object_r:httpd_user_content_t:s0
您可以使用通配符更改目录中的所有文件,如下所示:
chcon unconfined_u:object_r:httpd_user_content_t:s0 *
你可以使用这个递归地设置所有文件和目录的权限(这个命令可能会解决你的权限问题,你应该避免 777 之类的瘟疫):
chcon -R unconfined_u:object_r:httpd_user_content_t:s0 *
如果您希望使用主目录来为站点或应用程序提供服务,您需要发出此命令:
setsebool -P httpd_enable_homedirs=1
我在使用 Selinux 的 centos 上使用 fsockopen 时遇到问题,我不得不使用以下命令(-P 使此更改永久生效,您可能还需要此命令):
setsebool -P httpd_can_network_connect 1
您可以看到在 HTTPD 上设置了哪些标志:
sestatus
我认为最后一件事是我在服务器上遇到公钥/私钥身份验证问题,需要运行此命令来修复它(我认为这是一个已知错误):
restorecon -R -v /home
希望这些片段和信息中的一些会对您有所帮助,并且这些不仅仅是疯子的胡言乱语。
关于php - SELinux 影响 "failed to open stream: Permission denied” PHP 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27501349/
我在 Ubuntu Linux Server 20.04这是我第一次向 Docker 推送东西,所以我只是在本地创建了一个虚拟容器并且它工作了。按照一些在线教程,hello-world示例也可以正常工
尝试将图像推送到 Docker Hub 上的公共(public)存储库时会发生此错误。我尝试过的其他注册表没有问题。 我查看了很多网站、博客,包括 StackOverflow,但仍然没有明确的答案。
我有个问题。我有操作系统 CentOS 5.8 。我在 httpd.conf 文件中写了这个配置: Listen 85 并在文件末尾: ServerName localhost ServerAdmi
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎与 help center 中定义的范围内的编程无关。 . 关闭 9 年前。 Improve
请帮我配置 python 服务器。当我使用 python 命令在 cmd 中执行 .pyw 文件时出现错误我收到错误: IOError: [Errno 13] Permission denied(Pe
我是第一次尝试 CGI 脚本,但没有成功。我已经阅读了很多教程并关注了不同论坛中的主题,但我无法使其正常工作。我在 Fedora 10 机器上使用 appache 网络服务器。我总是有问题 [Wed
在两个文件中使用相同的 mdb.connect 行。使用 debian 7,我的问题现在是向您提供更多详细信息,因为我在问题中使用了很多代码,但我没有什么可告诉的。文件 1 工作正常。 #!/usr/
我正在尝试将数据洞察报告连接到表格和 BigQuery 中的 View 。在 BigQuery 中,表从位于我的云端硬盘中的 GoogleSheet 接收数据, View 正在查询同一个表,但添加了一
我正在尝试为我的 docker hub 存储库创建一个 list ,以便我拥有一个多平台镜像。 我的程序如下: 我首先创建一个空的存储库并向其中推送两个图像,一个用于 amd64,另一个用于 arm6
我正在尝试在我的 arch linux lamp 服务器中使用 fuecms。但是我不能让 htaccess 工作。我的主文件夹是 ytsejam/fuel_cms/.. 这是我的 .htaccess
我有一个简单的docker-compose.yml文件以这种方式定义: version: '3' services: db: image: postgres:10.5-alpine
所以我使用了 testcafe 的默认 docker,它在 docker hub 上是 testcafe/testcafe,我必须运行一些 testcafe 脚本。 但是,我需要将错误触发的屏幕截图上
我在 ubuntu 上使用 Hyperledger Fabric 2.2。我正在尝试借助 article 使用 express.js 创建 REST API . 我的结构网络和 apiserver.j
最近将 macOS Mojave (10.14.4) 上的 Logstash(通过 Homebrew 安装)升级到版本 6.7.0,但事情没有按预期运行。当我尝试通过命令行手动运行它(出于本地开发目的
最近将 macOS Mojave (10.14.4) 上的 Logstash(通过 Homebrew 安装)升级到版本 6.7.0,但事情没有按预期运行。当我尝试通过命令行手动运行它(出于本地开发目的
我的想法是 eclipse-luna 。系统是windows 7旗舰版。我使用 spring security 将 *.jar 复制到我的项目并“添加到构建路径”。请查看有关警告的图片
我在 vmware 播放器上使用 ubuntu 16.04。共享文件夹已启用并且在/mnt/fghs 上可见。但是,所有者(root)不能被 chown 改变。如何改变它?请给我建议。 另外,有人说修
我刚开始学习 SQL 的基础知识,当我在搜索数据操作语言、数据控制语言、数据定义语言时,有些东西没有意义。 据我了解,Data Control Language 有 3 个关键词:Grant、Deny
我要迁移到新服务器,并希望在过渡期间将我的所有站点都脱机。我知道我可以将它放在我的根 .htaccess 文件中以阻止人们访问该站点: order deny,allow deny from all 但
我正在尝试使用 os.Mkdir() 创建一个目录,然后在其中创建文件,类似于这个脚本: package main import ( "log" "os" "path" ) f
我是一名优秀的程序员,十分优秀!