知识屋:更实用的电脑技术知识网站
所在位置:首页 > 操作系统 > linux

谈谈linux下文件夹权限的问题

发布时间:2014-09-05 15:48:58作者:知识屋


谈谈linux下文件夹权限的问题
 
在homezz.com后面的几个的服务器的数据转移过程中,发现很多homezz.com用户转移到新的服务器上的时候,都出现了这样那样的错误,归根结底,就是文件夹权限设置错误。旧的主机放得太开,对安全性能控制不严格,所以文件权限太大没有做限制,新服务器的安全机制更加严格,因此太大的权限服务器将会拒绝执行。下面开始讲一讲linux下的文件权限。
  www.zhishiwu.com  
Linux的文件权限是linux能有如此安全性能的最大的保障之一,有朋友可能会知道,很多攻击windows的方法都是通过漏洞获取到创建用户的权限从而达到控制计算机的目的,在linux下,Root帐户有最大的权限,可以干任何事情,其他用户只能拥有自己的文件的所有权限和该改组成员赋予的文件的权限,下面开始对文件权限的一个说明。
 
读权限R。简单的说就是打开文件查看内容的权限,在web服务器中,若文件没有打开权限,则web服务器则视为该文件不存在,发送404 file not  found错误,用数字4表示。
  www.zhishiwu.com  
写权限W。一个文件若没有写的权限,那么该文件则无法更改,文件夹若没有写权限,则该文件夹下无法创建新文件,用数字2表示。
 
执行权限X。程序文件若要执行,必须有执行权限,否则无法执行。打开一个文件夹也是执行,所以文件夹若没有执行权限,则无法被打开。用数字1表示。
谁拥有这个权限 文件所有者 组内用户 公共用户
可读=4 0 0 0
可写=2 0 0 0
可执行=1 0 0 0
实际权限,纵向相加 0 0 0
公共用户为所有者和组内用户之外的用户,比如访问web时候,linux可能用公共的用户去读取文件,这里不妨理解成是访客所能操作的那个用户。
 
下面举例(再次提醒,文件夹和文件不一样):
 
文件所有用户可写: 666 (3类用户均可读写)
 
谁拥有这个权限 文件所有者 组内用户 公共用户
可读=4 4 4 4  www.zhishiwu.com  
可写=2 2 2 2
可执行=1 0 0 0
实际权限,纵向相加 6 6 6
接上面的,假设我们吧文件夹设置成0666会怎么样,结果很明显,因为该文件夹没有执行权限,无法被打开,所以设置成0666则无法被访问到。
 
文件夹只可文件所有者有全部权限,组内用户、公共用户可读和执行(755)。一般web根目录文件夹都要这样设置,才安全。再次提示:文件夹没有执行权限,则该用户无法打开。正常的服务器,若根目录权限也为0777,则会出现500错误
 
谁拥有这个权限 文件所有者 组内用户 公共用户
可读=4 4 5 4
可写=2 2 0 0
可执行=1 1 1 1
实际权限,纵向相加 7 5 5
如果php需要在某文件夹下创建文件,请把该文件的权限全部设置:即可都可写和可执行777
 
谁拥有这个权限 文件所有者 组内用户 公共用户
可读=4 4 4 4
可写=2 2 2 2  www.zhishiwu.com  
可执行=1 1 1 1
实际权限,纵向相加 7 7 7
为了安全起见,正常的php文件应该设置成:所有者可读可写,组用户可读,公共用户可读 644
 
谁拥有这个权限 文件所有者 组内用户 公共用户
可读=4 4 4 4
可写=2 2 0 0
可执行=1 0 0 0
实际权限,纵向相加 6 4 4
其他权限,请大家自行思考。
 
对于那些建议把所有文件和文件夹都设置成 777的人,我只能说你要么在误导别人,要么在残害新手!
(免责声明:文章内容如涉及作品内容、版权和其它问题,请及时与我们联系,我们将在第一时间删除内容,文章内容仅供参考)
收藏
  • 人气文章
  • 最新文章
  • 下载排行榜
  • 热门排行榜