注:本文内容摘取至《鸟哥的Linux私房菜》
一、文件属性
命令:ls -al
该命令能够显示出当前目录中所有文件的属性。
文件属性的示意图如下所示:
1、文件类型权限
文件类型权限由10个符号组成,第一个表示文件类型,第二~四个表示文件拥有者的权限,第五~七个表示文件所属群组的权限,第八~十个表示其他人的权限。
①第一个符号,即文件类型可以是以下五种中的一种:
- d:目录;
- -:文件;
- l:链接文件;
- b:可供存储的周边设备文件;
- c:序列埠设备文件(例如键盘、鼠标)。
②第二~十个符号分为三组,分别表示文件拥有者、文件所属群组以及其他的权限。
每一组均为“rwx”的组合,这三个字母分别表示可读、可写和可执行。
要注意,这三个权限的位置不会改变,如果没有某种权限,就用减号“-”代替。
例如某个文件的类型限权为“-rwxrw----”,这表示该文件拥有者具有可读可写可执行的权限,文件所属组具有可读可写权限,而其他人对该文件不可读不可写不可执行。
2、链接数
3、文件拥有者
4、文件所属群组
5、文件大小
6、文件最后被修改的时间
7、文件名
二、修改文件属性和权限
1、改变文件所属群组
命令:chgrp [-R] 群组名 文件名或目录
这个命令的功能是修改某个文件的所属群组。如果加上-R参数则是将某一目录下的所有文件的所属群组均更改为指定群组。
这条命令能正常执行的前提是,在/etc/group中已经存在该群组名。
2、改变文件拥有者
命令:chown [-R] 账号名称 文件或目录
或:chown [-R] 账号名称:群组名称 文件或目录
这个命令的功能是改变某个文件或目录的拥有者,如果采用第二种格式,则可以同时改变文件或目录的拥有者和所属群组。
3、改变权限
方法1、
命令:chmod [-R] xyz 文件或目录
这个命令的功能是改变某个文件或目录的权限。其中x、y、z分别表示文件拥有者、文件所属群组和其他人的权限,每个位置均用一个数字表示。我们知道每种身份的使用权限都是有rwx组成的,这里我们将r记为4,w记为2,x记为1,分别将每种身份的权限进行累加,例如owner的权限为rwx,那么他的权限就是4+2+1=7,因此x位置的数字就为7,再例如group的权限是r-w,那么他的权限就是4+0+1=5,以此类推。计算之后,将每种身份的权限进行累加,再分别放在xyz对应的位置上,就完成了对权限的改变。例如我们想将文件text.txt的权限改变为“-rwxrwx---”,那么这条命令就应该这样写:chmod
770 text.txt。
方法2、
命令:chmod u=文件拥有者权限 g=所属群组权限 o=其他人权限 [a=所有人权限] 文件或目录
这里,u表示文件拥有者(user),g表示文件所属群组(group),o表示其他人(others),a表示所有人(all),只有当想将三种身份的权限设置为一样时才会用到a。
例如我们想将文件text.txt的权限设置为“-rwxr-xr--”,那么这条命令就写作:chmod u=rwx,g=rx,o=r text.txt。
命令:chmod u/g/o/a +/- r/w/x 文件或目录
这条命令的功能是将某一种身份增加或减掉某种权限。例如我们想将其他人身份的权限去掉可写权限,那么命令就这样写:chmod o-w text.txt。