文件属性
用“ls”命令来查看文件属性,在etc目录下输入“ls -al”会看到下面内容:
对上图中的7个字段所代表的属性说明:
下面对这7个属性做详细的说明:
1.文件类型权限:这个属性又由10个属性组成,如下图。
- 第一个属性表示该文件的类型:[d]为目录,[-]为文件,[l]为连接文件(link file),[b]为设备文件中可供存储的接口设备,[c]为设备文件中的串行端口设备,例如键盘、鼠标;
- 接下来的属性中3个为一组,且都为(rwx)3个参数的组合,其中,[r]表示可读,[w]表示可写,[x]表示可执行,如果不具备上述属性则用“-”代替相应的属性。9个属性3个为一组就分为3组,第一组表示该文件拥有者的权限,第二组表示同用户组的权限,第三组表示其他非本用户组的权限。
2. 连接数:如果该文件是链接文件,该值为连接数;如果是目录,则表示该目录下还有多少目录;
3. 文件owenr:该文件的拥有者;
4. 文件所属用户组:拥有者的用户组;
5. 文件大小;
6. 文件创建日期或者修改日期;
7. 文件名。
需要特别说明的是:若文件名为一个目录的时候,例如.ssh目录,该目录的属性为:
drwxr- -r- - 3 root root 4096 Jun 25 08:35 .ssh
即使除了root以外的用户具有r的权限但这些用户仍然不能进入.ssh目录,因为这些用户不具备x执行权限,即使进入到.ssh目录也不能做任何事,所以不能进入.ssh目录。所以要想用户进入目录,必须具备x执行权限。
更改文件权限
这里只介绍chgrp、chown和chmod三个命令。
1. chgrp,更改所属用户组:需要注意的就是要改成的用户组名称必须在/etc/group里存在,否则就会显示错误。操作命令为:chgrp [option] dirname/filename;
2. chown,更改文件拥有者:需要注意的是,用户必须是存在的,也就是在/etc/password中有记录的用户名称。操作命令为:chown [option] dirname/filename;
3. chmod,更改9个属性:使用chmod更改文件的属性有两种方式,一种是使用数字,一种是使用符号,下面分别介绍这两种方式:
- 数字类型:之前介绍过文件有三组rwx权限,这三种属性可以用数字来表示,r:4,w:2,x:1,每一组将三个属性的值相加,然后再组合三组的属性值就得到了文件的属性值,比如一个文件的属性为:-rwxrwx- - -,三组的属性值分别为7,7,0,组合起来就是770,这个值就是文件的属性值,如果要将这个文件属性更改为任何人都可以读,写,执行的话,操作领命为:chmod 777 filename;
- 符号类型:用u,g,o三个符号来分别表示user,group和others用户,另外再加一个a表示all,用+,-,=操作符来表示添加,删除和设置,文件属性还是使用r,w,x。比如要设置一个文件的属性为:文件所有者能读写执行,其它的用户只能读和写,可以使用命令:chmod u=rwx,go=rw filename,再比如所有用户对文件添加执行权限,可以 chmod a+x filename。