详解Linux系统,文件,目录权限
时间:2007-05-23 来源:pengzezhou
http://blog.chinaunix.net/preview/39485_070523100349.jpg如上图所示::
Linux除了有单个用户的权限概念之外,他还有一个组的概念
譬如说 A,B,C,D,四个用户
A,B属于1组
C,D属于2组
当A登陆自己的帐户(FTP,或SSH/Shell等)以后,
"所有权"指的就是A用户自己的对该文件操作的权限
"组"指的就是A所在的小组的对该文件的操作权限
"公共"指的就是除A,B以外的任何人的对该文件的操作权限(可以是浏览你网站的人,还可以是匿名登陆你FTP的人,可以是任何一个可以接触到这个文件的人)
通常,我们习惯用三个数字,来表示当前文件的三个类的属性
执行 = 1
写入 = 2
读取 = 4
例如说755属性的意思就是::
所有权的属性为 读取+写入+执行,1+2+4 正好等于7 , 755三个数字里面的第一个数字
组的属性为 读取 + 执行 正好等于5 , 755三个数字里面的中间的数字
公共的属性为 读取 + 执行 也是5, 三个数字里面的最后的数字
同样,644 数字属性的意思是
所有权属性为 4+2 读取和写入
组属性为 读取 4
公共属性为 读取 4
一般情况下,html/htm/txt,等非交互文件,所需权限为644即可(一些需要替换,更新,写入的文件除外,例如说模板,css等)
而PHP,CGI,Pl等文件属性,需要设置成755,某些PHP类型文件,需要强制设置成777属性,也就是完全属性
有一点,对于长期使用Linux web空间的人来说是很重要的,那就是,在以CGI/Fcgi模块安装的apache的web服务器上,是禁止777属性文件具有公共写入权限的,所以,属性必须设置成755,否则会出现500服务器错误.
另外,属性具有继承性质
/home/user/cp/a.html
如上所示:如果user属性设置为000的话,即便cp的属性为777,a.html这个文件也无法浏览的
目录: find path -type d -exec chmod 755 {} \;
文件: find path -type f -exec chmod 644 {} \;
其中path为你需要修改的目录的路径