本篇文章将详细介绍使用数字和文字表示法修改LInux系统中的文件权限,如果对Linux文件权限知识还有不懂的小伙伴可以参考我的上一篇文章哦:【Linux】管理Linux文件权限属性介绍

在建立文件时系统会自动设置权限,如果这些默认权限无法满足需要,则可以使用chmod命令来修改权限。通常使用数字表示法和文字表示法两种方法来表示权限类型

1.使用数字表示法修改权限

chmod命令的格式为:

chmod [选项] 文件名

数字表示法是将文件中(r)可读权限、(w)可写权限,(x)可执行权限,分别以数字4,2,1来表示,没有授予该权限的部分则表示为0,我们举以下例子来理解

原始权限转换为数字数字表示法
rwxrwxr-x(421) (401) (401)775
r-xr-xr–(401) (401) (400)554
rw-r–r–(420) (400) (400)644

例如,我们给文件test/t1.txt设置权限,赋予所有者和组群成员读取和写入的权限,而其他用户只能有读取的权限,应该将它的权限设置为"rw-rw-r- -",转换为数字表示法就是664,可以使用以下命令来设置权限

touch /test/t1.txt #在test目录下创建t1.txt文件
chmod 664 /test/t1.txt #给文件赋予664权限
ll #查询文件的权限属性

在这里插入图片描述

如果我们要把权限再变成"rwxr-xr- -“,权限的数字就变成了[4+2+1] [4+0+1] [4+0+0]=754。在实际的系统运行过程中,我们使用vim编辑一个shell的文本批处理文件test.sh后,它的权限通常是"rw-rw-r-
-,也就是664,如果要将该文件变成可执行文件,并且不要让其他用户修改此文件,那么就需要"rwxr-xr-x这样的权限,此时就要执行chmod
755 test.sh命令”

2.使用文字法修改权限

1.使用权限的文字表示法时,系统用4种字符表示不同的用户:

  • u:user,表示所有者
  • g:group,表示所有者所属组
  • o:others,表示其他用户
  • a:all,表示以上三种用户

2.使用以下3种字符的组合来设置操作权限:

  • r:read,表示可读权限
  • w:write,表示可写权限
  • x:execute,表示可执行权限

3.操作符号包括以下3种:

  • +:表示添加某种权限
  • -:表示减去某个权限
  • =:表示赋予指定权限并取消原来的权限

以文字表示法修改上方test/t1.txt权限时,权限设置的命令应该为:

chmod r=rw,g=rw,o=r ~/test/t1.txt

在这里插入图片描述
图上所示两种方法实现了同一效果

假设我们要设置一个文件具有"rwxr-xr-x的权限,具体含义如下:"

  • u(user):具有可读,可写,可执行的权限
  • g/o(group和others):具有读与执行的权限

命令及执行效果如下:

touch t2.txt #创建一个名为t2.txt的文件
chmod u=rwx,go=rx t2.txt
ll

在这里插入图片描述
如果我们事先不知道文件的属性,但是我们想把所有用户都设置成有可写入的权限,就可以使用以下命令:

chmod a+w t2.txt

同理,我们想把所有用户都取消可写入的权限,就可以使用以下命令:

chmod a-w t2.txt

如果我们只想让user用户拥有可写权限,group和others用户不具备可写权限,我们可以使用以下命令:

chmod u+w,g-w,o-w t2.txt

本篇文章就到此结束啦~ 后期会持续更新我学习Linux以及在运维领域的学习记录,如果本篇文章对你有帮助,恳请点赞收藏+关注

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐