改变文件属性与权限
接下来要学习的是去修改文件的权限与属性,首先我们先介绍几个常用的用于群组、拥有者、各种身份的权限修改的指令:
- chgrp(change group):改变文件所属群组
- chown(change owner):改变文件拥有者
- chmod:改变文件权限
改变文件所属群组(chgrp)
注意:要改变的群组必须在/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