在看完本章之后,有几个命令需要记住:
chgrp:改变文件的所属用户组;
chown:改变用户的所有者;
chmod:改变用户的权限;
至于怎么用( Linux命令使用查询),可以在实际的时候,慢慢练习。
文件属性
在linux中输入命令:ll,可以查看到如下文件目录。
该目录共有7列:
- 第一列代表这个文件的类型和权限:以 drwxr-xr-x. 为例子说明:
- 第一个符号:
- d:说明这是一个目录;
- -:说明这个是个文件;
- l:说明这个是个连接文件;
- b:表示设备文件里面的可供存储的接口设备;
- c:表示设备文件里面的串行端口设备;
- 其余符号:以3个为一组,分别代表不同的权限
- 第一组:文件所有者拥有的权限;
- 第二组:用户组权限(文件所属用户组中,该用户组中成员可操作该文件的权限);
- 第三组:其他用户权限;
- 第二列代表有多少个文件名连接到了此节点(i-node);
- 第三列代表这个文件所有者的账号;
- 第四列代表这个文件拥有组;
- 第五列代表这个文件的大小,单位B;
- 第六列代表创建日期或者是最近修改日期;
- 第七列代表文件名称;注意:如果文件名之前多了一个“.”,则说明是一个隐藏文件。
改变文件的属性和权限
说明:chgrp、chown、chmod都可以使用-R选项,该选项的意思是进行递归的持续更改(即使遇到错误也不会停止),即连同子目录下的所有文件都会更改。
改变所属用户组:chgrp
chgrp是change group的简称, 用法:
chgrp [选项] 组文件...
改变文件所有者:chown
chown是change owner的简称,用法
chown [options] user [:group] file...
改变文件权限:chmod
设置权限的方式有两种:数字和符号。
首先要明白linux的权限有9种基本类型:owner、group、others三种身份,每种身份都有read、write、execute三种权限。
数字和字母的关系为:r=4、w=2、x=1
数字式赋权
如果使用数字方式复制权限的时候,就是这三个数字相加的和。
例如:chmod 777 abc.txt。就是个abc.txt这个文件,复制的权限为rwxrwxrwx;
符号式赋权
chmod | u g o a | +(增加) -(移除) =(设置) | r w x | 文件或目录 |
---|
这里, u代表user身份,g代表group身份,o代表others身份,a代表这三种身份。
因此,要设置如上例子的777权限,则
chmod a=rwx abc.txt
或者
chmod u=rwx,g=rwx,o=rwx abc.txt
权限的含义
r、w、x三种权限,对于文件和文件夹,是有不同的含义的
文件权限
- r:可以读取文件的内容;
- w:可以编辑、修改文件的内容(但不包含删除该文件);
- x:该文件是否可以被系统执行的权限;(在linux中,文件是否可以被执行,主要就是看这个权限,与文件的后缀名无关。只要赋值了该权限,就说明该文件可以被执行,比如abc.txt赋值了该权限,就是说该文件也可以被执行。当然,至于能不能执行成功,那就是另外一个话题了。)
目录权限
- r:具有读取目录结构的权限,也就是说可以使用ls查看该目录列表;
- w:可以更改目录结构的权限,也就是说或可以
- 新建文件和目录;
- 删除该目录下的某个文件或目录(不管这个文件或者目录的权限是什么);
- 重命名文件和目录;
- 转移该目录的文件、目录的位置;
- x:用户能否进入该目录,成为工作目录。简单的说,用户不能进入该目录。比如,有个目录为app,当前用户对这个目录的权限中,没有x,则执行cd ./app的时候,就会提示权限不足。