一、基础知识
Linux一般将文件可存取访问的身份分为三个类别,分别是owner、group、others,且三种身份各有read、write、execute 等权限。
owner(文件所有者)保护文件只对自己可见,其他人没有权限查看;
group(用户组)当团队进行资源开发的时候,保证组内组员之间可以修改对方的数据,但其他组别不能进行数据修改。
others(其他人)
Linux下面,使用默认的Ext2/Ext3文件系统时,单一文件或目录的最大容许文件名为255个字符;包含完整路径名称及目录的完整文件名为4096个字符。
在window下面一个文件是否具有执行的能力是通过“扩展名”来判断的,例如.exe .bat .com等,但是在Linux下,我们的文件能否被执行则是由是否具有“x”这个权限来决定的,而跟文件名是没有绝对的关系,“w”可以编辑、新增或者是修改该文件内容(但不含删除该文件) 。对于目录而言,“x”代表的是用户能否进入该目录成为工作目录的用途,“w”删除已经存在的文件与目录(无论该文件权限是什么)。
二、文件权限概念
对于第一个字符而言:
[d]:代表文件目录。
[-]:代表文件,包括纯文本文件、二进制文件、数据格式文件
[l]:代表连接文件
[b]:块设备文件(存储数据,提供系统随机访问的设备接口); [c]:串行端口的接口设备
[s]:代表数据接口文件,用于网络上的数据连接。
[p]:代表管道(FIFO:first in first out)解决多个程序同时访问一个文件所造成的错误问题。
对于第二个字符到第十个字符而言,以3个为一组,且均为“rwx”的三个参数的组合。read、write、execute(进
入该目录)。
第一组为“所有者权限”,上图中代表10.15这个目录具有读写和可执行权限。
第二组为“同用户组的权限”
第三组为“其他非本用户组的权限”
第二列表示有多少文件名连接到此节点(i-node)
每个文件都会将它的权限与属性记录到文件系统的i-node中,不过我们使用的目录树却是使用文件名来记录,因此
每个文件名就会连接到一个i-node。这个属性记录的就是有多少不同的文件名连接到相同的一个i-node号码。
第三列表示这个文件(目录)里面的“所有者账号”
第四列表示这个文件的所属用户组
第五列表示这个文件的容量大小,默认单位为B
第六列表示这个文件的的创建日期或者修改日期
第七列表示这个文件的文件名称。如果文件名“.”,则代表这个文件为“隐藏文件”
三、改变文件属性与权限
1、chown(change owner): 改变文件所有者、修改用户组的名称,但是其文件权限不会改变。
[-R] 账号名称:组名 文件或目录:连目录下的所有子目录或文件都同时更改文件所有者
2、chmod:改变文件权限
chmod [-R] xyz 文件或目录 (通过数字来改变文件权限)
chmod u=rwx,g=rx,o=r filename