已掉线,重新登录

首页 > 绿虎论坛 > 历史版块 > 编程 > HTML/CSS/JS

标题: Linux文件权限详解

作者: @Ta

时间: 2011-05-08

点击: 6224

使用Linux主机就难免要接触到它的文件权限。Linux中的文件权限有两种表示方法:字符串和数字。
『字符串表示』
例:d rwx rwx rwx
. rwx rw- rw-
第一个字符表示文件的类型
Linux中所有东西都是文件。文件的类型有:.普通文件、d目录文件、b块设备(硬盘)、c字符设备(音箱话筒打印机等)、s套接字(网络连接)、p命名管道(进程通信接口)、l符号连接(快捷方式)
第二到第四个字符是文件创建者拥有的权限,r表示可读,w表示可写,x表示可执行。如果某一位上是-,就表示不允许。如r--表示只读,rw-表示可读可写 不可执行,r-x表示可读 不可写 可执行。
第五到第七是与文件创建者同属一个用户组的用户所拥有的权限,也分为rwx
第八到第十是除了上面两类的其他用户(不是文件创建者,和创建者也不在同一个组的用户)所拥有的权限,同样分为rwx
到这里,你应该能看明白权限字符串了吧。注意一下FTP软件的文件列表,上面是否有这样的显示呢?
『用八进制数字表示』
在这种表示方法中,r(可读)=4,w(可写)=2,x(可执行)=1。
我们只要把每类用户的权限分别加起来,并按顺序写在一起就可以了。
如:rwx=2+4+1=7,那么. rwx rwx rwx就是0777
这里最前面的0是为了表明这个数是八进制的。0777(八进制)=511(十进制),所以在程序语言里面0不能省。当然,用FTP设置的时候0是可以省的,FTP会帮你加上。
另外,我们无法从数字表示的文件权限上看出这个文件到底是普通文件还是“目录文件”。至于设备文件等,我想它们是不会跑到我们的FTP里的。符号连接(快捷方式)倒有可能遇到。
下面看几种常见的文件权限(把文件类型那位省了)
rwx rwx rwx(0777)
如果是目录,那么任何用户都可以往目录里写文件,读里面的文件,并且执行里面的文件。
如果是文件,那么任何用户都可以读它、写它、执行它
rwx r-x r-x(0755)
只有文件创建者可写文件,其他用户只能读或执行(防止文件被意外修改)
rw- rw- rw-(0666)
所有用户都可读可写文件,但是不能执行它。这说明它不是一个可执行文件。如果把目录设定为0666,那么所有被上传到里面的文件都不能执行,防止有人上传恶意脚本(php cgi等)。
rw- r-- r--(0644)
所有用户可读,只有创建者可写,不可执行。
设置合理的文件权限可以大大提高网站的安全性。比如把附件保存目录设为0666,即使有人成功上传了php文件也无法执行,可有效防止被挂马。
『用户和组』

和Windows一样,Linux也是多用户的。默认的用户(系统管理员,拥有最高权限)是root,你也可以创建其他用户,Linux会为他们保存各自不同的配置、权限、桌面等等。
一个软件在运行之前,需要选择使用哪个用户运行,默认使用当前登陆系统的用户。当然,你也可以自行指定。为Web服务器程序(如Apache)指定一个权限较低的用户,可以防止系统被恶意攻击。当然,这些都是系统管理员在做的。
同Windows一样,为每一个用户分别配置权限是很麻烦的,所以Linux也有用户组,加入某组即拥有组所拥有的权限,而且同时还可以给某些加入组的用户单独配置权限。
一般来说,如果你用FTP传文件,那么服务器执行FTP程序的用户就是文件的创建者,Web也可能是文件创建者(它们是同一个用户执行的),或者是同组用户。但是,如果管理员比较衰,把Web用其他用户启动了,就比较郁闷了。所以,你应该考虑到这三种情况,配置好无法在什么情况下都不会出问题的文件权限。

另外,在创建一个目录时设置文件权限可能会有意想不到的结果,因为Linux可能配置了“目录权限掩码”,它的作用就是使权限被降低。默认的掩码是022
所以如果你在PHP中创建一个目录,设置权限为777的话,最后的结果很可能是755,因为7^0=7,7-2=5,7-2=5。
『备注』
拥有写权限的用户可以写、删除、重命名文件
对目录设置执行权限好像并不能真正禁止里面的文件执行,如果里面的文件拥有执行权限,还是可以运行的。

[隐藏样式|查看源码]


『回复列表(6|隐藏机器人聊天)』

1. 顶个
(/@Ta/2011-05-08 11:31//)

2. 多谢老虎,很详细丫
(/@Ta/2011-05-08 12:31//)

3. 顶个
(/@Ta/2011-05-08 14:44//)

4. 顶
(/@Ta/2011-10-01 19:47//)

6. wafen
(/@Ta/2015-03-02 14:08//)

7. 感谢,挖坟咯。
(/@Ta/2016-03-18 19:25//)

回复需要登录

9月24日 08:54 星期三

本站由hu60wap6驱动

备案号: 京ICP备18041936号-1