在文件创建时,系统会自动设置访问权限,如果基本权限无法满足需要,就可以使用chmod命令修改权限。chmod命令修改文件的基本权限有两种表示方法:字符设定法和数字设定法。
1.字符设定法
字符设定法是用字母表示不同的用户和权限,用加减符号表示是增加还是减少权限,命令格式如下。
chmod [选项] <符号> <权限> <文件名>
(1)常用选项
u:表示用户(user),即文件或目录的所有者。
g:表示同组(group)用户,即与文件所有者有相同组ID的所有用户。
o:表示其他(others)用户。
a:表示所有(all)用户,它是系统默认值。
(2)常用符号。
+:添加某个权限。
-:取消某个权限。
=:赋予给定权限并取消其他所有权限(如果有的话)。
(3)常用权限。
r :表示有读取的权限。
w:表示有写入的权限。
x :表示有执行的权限。
【例1】 将目录/usr/tmp下的abc文件(所有者为root)的权限修改为所有人可读写。 [root@Server~]# touch abc
[root@Server~]# ls -l abc
[root@Server~]# chmod a+rw abc
[root@Server~]# ls -l abc
或者:
[root@Server~]# chmod ugo+rw abc
【例2】 将【例1】中的abc的权限修改为其他用户只能读的权限。
[root@Server~]# ls -l abc
[root@Server~]# chmod o=r abc
[root@Server~]# ls -l abc
2.数字设定法
数字设定法是用八进制数字表示相应的权限,命令格式如下。
chmod [选项] <文件>
常用选项如下。
0:表示没有权限。
1:表示可执行权限。
2:表示可写权限。
4:表示可读权限。
【例3】 将目录/usr/tmp下的abc文件(所有者为root)的权限修改为所有人可读写。 [root@Server tmp]# touch abc
[root@Server tmp]# ls -l abc
[root@Server tmp]# chmod 666 abc
[root@Server tmp]# ls -l abc
注意 :如果修改的是目录,且目录包含其他的子目录,则必须使用-R参数来同时设置所有文件及子目录的权限。
素材来源:《Linux系统管理及应用项目式教程(RHEL 7.4CentOS 7.4)(微课版)》