接下来要学习的是去修改文件的权限与属性,首先我们先介绍几个常用的用于群组、拥有者、各种身份的权限修改的指令:
- chgrp(change group):改变文件所属群组
- chown(change owner):改变文件拥有者
- chmod:改变文件权限
注意:要改变的群组必须在/etc/group中才可以,否则就会显示错误。
假如:你是root身份,你有一个test.txt的文件,你要将它的群组改变为users,就使用如下命令:
chgrp [-R] dirname/filename # 选项与参数的意义 -R:进行递回的持续变更,及连同次目录下的所有文件、目录都更新为这个群组的意思。 # 将文件text.txt的群组更新为users chgrp users text.txt改变文件拥有者(chown)
注意:使用者必须是系统中已经存在的账号,也就是在/etc/passwd中。
chown [-R] 账号名称 文件或目录 chown [-R] 账号名称:群组名称 文件或目录 -R:与上述含义相同 # 将文件text.txt的拥有者改为users这个账号 chown users text.txt # 将text.txt的群组与拥有者改回为root chown root:root text.txt改变权限(chmod)
文件权限的改变使用chmod这个指令,权限的设置方法有两种:
- 数字类型改变文件权限
Linux文件的基本权限有九个,分别是owner/group/others三种身份各自有自己的read/write/execute权限。
我们可以使用数字来代表各个权限,各个权限的分数对照表如下:
r:4 w:2 x:1
每种身份的各自三个权限的分数是需要累加的,例如[-rwxrwx---]分数为:
owner=rwx=4+2+1=7 group=rwx=4+2+1=7 others=---=0+0+0=0
所以我们设置文件的权限变更时,该文件的权限数字就是770了。语法如下:
chmod [-R] xyz 文件或目录 # 选项与参数 xyz:刚刚提到的数字类型的权限属性,为rwx的数值相加 # 例子:将text.txt文件的所有权限都设置为启用 chmod 777 text.txt
- 符号类型改变文件权限
我们可以借助u、g、o来代表三种身份的权限,a表示all,就是全部身份的意思,读写权限为r、w、x
chmod | u g o a | +(加入) -(除去) =(设置) | r w x | 文件或者目录 # 设置文件text.txt的权限为 [-rwxr-xr-x] chmod u=rwx,go=rx text.txt # 不知道文件属性,为text.txt这个文件的每个人增加可写入的权限 chmod a+w text.txt # 将权限去除不更改已有的权限 chmod a-x text.txt



