首页 | 互联网 | IT动态 | IT培训 | Cisco | Windows | Linux | Java | .Net | Oracle | 软件测试 | C/C++ | 嵌入式开发 | 存储世界 | 服务器
网络设备 | IDC | 安全 | 求职招聘 | 数字网校 | 网页设计 | 平面设计 | 技术专题 | 电子书下载 | 教学视频 | 源码下载 | 搜索 | 博客 | 论坛
中国IT实验室Linux频道
Google
首页 入门 Linux编程 系统管理 网络管理 Linux认证 Unix/BSD Linux数据库 Linux集群 Linux手册 Linux下载 Ubuntu 论坛 专题 RSS
您现在的位置: 中国IT实验室 >> Linux >> 网络管理 >> Linux安全 >> 正文

解决新的SELinux安全级别产生问题(图)


  在Fedora Core 3 Linux发布版中,你运行PHP或者类似的其它脚本的文件或者目录操作的时候,可能会出现这样一个异常:"failed to open stream: Permission denied in ..."。这很容易让我们联想到权限问题,那么我们按照常规会把这个文件或者目录的权限设置为777,但是很遗憾,在这个版本中这样做或许并不能解决这个问题。
  
  这是因为新的SELinux内核只允许apache用户仅仅在/tmp目录中进行这样的操作(或许有别的可能和原因),解决这个问题必须关闭SELinux的安全级别的相关特性,允许apache用户可以操作其它目录,请看下面的详细步骤和图示:
  
  有如下PHP代码:
  if (!file_exists("count")) //如果文件count不存在
  {
  $file=fopen("count","w+"); //创建count文件并写入
  fwrite ($file,"000001"); //写入
  fclose ($file); //关闭文件
  }
  
  运行之后,出现异常:
  Warning: fopen(count): failed to open stream: Permission denied in /var/www/html/count.php on line 4
  
  Warning: fwrite(): supplied argument is not a valid stream resource in /var/www/html/count.php on line 5
  
  Warning: fclose(): supplied argument is not a valid stream resource in /var/www/html/count.php on line 6
  
  打开“应用程序”->“系统设置”->“安全级别”:
  
 
   

  确定修改之后,记得一定要重新启动防火墙和Apache服务器。再次运行上面的代码,程序运行正常。
【责编:admin】
中国IT教育
相关产品和培训
文章评论
 友情推荐链接
 专题推荐

 ·防范Linux病毒 打造没有病毒的乐土…
 ·Linux Shell编程实用指南…
 ·Linux日志分析与管理
 ·揭密Linux内存管理
 ·邮件服务Sendmail应用配置
 ·Linux 安全管理…
 ·Linux 下DNS服务器架设攻略…
 ·Linux 下的路由的配置与应用…
 ·专题:Apache实用手册
 ·全面剖析Linux文件系统
 今日更新
 认证培训
 频道精选
 Windows频道导航