文件属性详解
在Linux系统中,不同于Windows以扩展名区分文件,只通过文件属性中的第一个字符标识类型,使用ls -l命令可以查看文件的详细属性。
*第一栏代表了该文件的类型与权限,接下来详细解释下这一栏。
·第一个字符(-)代表这个文件是目录、文件或链接文档等
·当为d时代表是目录;
·当为-时代表是文件;
·当为l时则表示为链接文件;
·当为b时代表设备文件中的可按块随机读写的设备;
·当为c时代表为设备文件中的串行端口设备(字符设备文件,如键盘、鼠标等);
·当为s时代表套接字文件,此类文件常用于网络连接,允许程序监听客户端请求;
·当为p时代表管道文件。
·在接下来的字符中,以三个字符为一组,且均为[rwx]的三个参数的组合。“r”代表可读(read)、“w”代表可写(write)、“x”代表可执行(execute)权限,这三个权限位置为固定的,如果没有对应的权限,即用-表示。
·第一组代表文件拥有者(owner)的权限,该文件的拥有者对其拥有可读可写可执行的权限。
·第二组代表加入该文件所属的用户组的用户的权限,对其拥有可读可写不可执行的权限。
·第三组代表非本人且并未加入该文件所属用户组的其他用户的权限,对其拥有可读不可写不可执行的权限
文件拥有者及所属组修改:
修改文件所属组:
chgrp语法:chgrp [参数] 用户组 文件/目录
*注意:文件要被修改的用户组名必须存在于/etc/group文件中才可以。如不存在则会提示invalid group:......
修改文件拥有者:
chown语法:chown [参数] 账户名 (用户组) 文件/目录
*注意:文件要修改的用户必须包含于/etc/passwd文件中;同时chown也可以修改文件所属组。
数字修改文件权限:
在Linux系统中,文件的基本权限有9个,分别为拥有者(owner)、所属组(group)、其他人(others)所分别对应的三种读(read)、写(write)、执行(execute)权限,其中各个权限可以使用数字代替:
r:4 w:2 e:1 -:0
而每种身份的各个权限则是累加得出。例如[rwxrwx--x]则对应的数字为:
owner:rwx=4+2+1=7
group:rwx=4+2+1=7
others:--x=0+0+1=1
该文件对应的权限数字为771,如果要修改文件权限,则使用chmod修改对应的权限数字即可。
chmod用法:chmod [参数] 权限数字 文件/目录
符号修改文件权限:
由于Linux九个权限皆属于user、group、others三种身份,那么我们便可以使用u、g、o来代表对应的身份,a则代表全部身份(all),而管理其对应的权限也可以使用相应的符号,+(加入权限)、-(移除权限)、=(设置权限)。
使用方法:chmod +/-/=权限名(rwx) 文件/目录
*特别注意:目录的权限相当重要,一个用户如果对目录有r(read)权限,表示该用户可以查询到该目录下的文件名数据(ls);当用户对目录具有w(write)权限,则用户可对该目录进行建立文件/目录、删除文件/目录、将目录内的文件/目录进行重命名、移动目录内文件/目录位置等,总之目录的w权限与该目录下的文件/目录的相关变动有关;当用户对目录具有x(execute)权限,该用户便可以进入该目录并使之成为工作目录(cd),缺少任何对应的权限都会导致对应权限的相关功能不可用。