您现在的位置是:首页 > 网站制作 > 网站建设网站建设
linux 上运行Thinkphp提示权限问题
胜于蓝2019-07-30【网站建设】人已围观
简介简述
TP部署在linux会有目录权限问题,这个我想很多人都已经很熟悉了,除非你还没接触过tp或者没有将它部署在linux的经历,当然不止TP,只要框架里面目录涉及到自由写的权限方面的
然而今天遇到了一个新问题,就是runtime目录已经给予了777权限了,还是无法写入缓存文件的问题,这种问题在网上搜的话也不会有太多收获,因为百分之九十九都是说:chmod -R 777 runtime,当然,这个答案在初步阶段是没有问题的,但是现在是执行了这个命令后还是提示无权限,这就有点尴尬了,思考了几分钟后将同一套代码放在另一台linux服务器(暂且叫他服务器B)上调试(nginx+php 两台服务器是一样),在服务器B给相关目录赋予权限后,代码运行正常,因此可以断定此问题跟代码无关,只能从其他方面分析。
于是又在网上搜索了半天关于linux权限方面的东西,最后终于解决。原因是linux系统有这样一个东西: SELinux
SELinux是安全增强型 Linux(Security-Enhanced Linux)的简称,它是一个 Linux 内核模块,也是 Linux 的一个安全子系统。SELinux 主要作用就是最大限度地减小系统中服务进程可访问的资源(最小权限原则)。
DAC:
在没有使用 SELinux 的操作系统中,决定一个资源是否能被访问的因素是:某个资源是否拥有对应用户的权限(读、写、执行)。
只要访问这个资源的进程符合以上的条件就可以被访问。
而最致命问题是,root 用户不受任何管制,系统上任何资源都可以无限制地访问。
这种权限管理机制的主体是用户,也称为自主访问控制(DAC)。
MAC:
在使用了 SELinux 的操作系统中,决定一个资源是否能被访问的因素除了上述因素之外,还需要判断每一类进程是否拥有对某一类资源的访问权限。
这样一来,即使进程是以 root 身份运行的,也需要判断这个进程的类型以及允许访问的资源类型才能决定是否允许访问某个资源。进程的活动空间也可以被压缩到最小。
即使是以 root 身份运行的服务进程,一般也只能访问到它所需要的资源。即使程序出了漏洞,影响范围也只有在其允许访问的资源范围内。安全性大大增加。
这种权限管理机制的主体是进程,也称为强制访问控制(MAC)。
而 MAC 又细分为了两种方式,一种叫类别安全(MCS)模式,另一种叫多级安全(MLS)模式。
更多介绍可自行搜索,我想这个东西做运维的应该比较熟悉,这里不再多说。这里我们要做的就是关闭这个东西
代码区
-
修改/etc/selinux/config 文件
将SELINUX=enforcing改为SELINUX=disabled
重启机器即可
重启后代码运行正常,完美解决。
Tags:
很赞哦! ()
相关文章
随机图文
-
网站建设对于企业发展的优势
在这个互联网的大时代下,可不能小看了网站建设。网站建设不再是一个简简单单搭建的简单地网站,然后发布到互联网上。通过网站的建设,企业会有一个推广渠道,通过互联网获得更多的 -
帝国cms 列表模板,内容模板调用用户投稿头像
帝国cms 列表内容模板(list.var) (*) 调用用户投稿的头像方法: 1 2 3 4 5 $userr=$empire->fetch1("select userpic from {$dbtbpre}enewsmemberadd where userid=&# -
网站建设:一个好的合伙伙伴,会让你省不少心
做网站的价格一直是许多公司关注的一个问题,遍地的网建公司,怎么才能找到合适的建站公司?建站的市场价格比较紊乱,从几百到几千不等,报价也没有统一的。有的商家会打着便宜的幌 -
帝国cms后台关闭会员注册,前端依旧能注册会员?
第一步:权限更改 ssh链接服务器,进入网站。 文件夹:config的权限改为777 config.php的权限改为:777 第二步:流程设置 网站后台→系统→系统参数设置&ra