欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 产业 > Linux文件权限

Linux文件权限

2025/4/17 17:05:39 来源:https://blog.csdn.net/wrf228/article/details/145359474  浏览:    关键词:Linux文件权限

目录

1.Linux权限管理

1.1文件访问者的分类

1.2文件的类型和访问权限

1)文件类型

2)文件访问权限

3)chmod指令

4)chown指令

​编辑

5)chgrp命令

1.3目录权限

1.4粘滞位

1.5umask(权限掩码)

1. umask的作用

2. umask的默认值

1.6总结


1.Linux权限管理

1.1文件访问者的分类

这种分类方式使得权限管理更加灵活和精确,可以根据不同的用户群体,设置不同的访问权限。

  • 文件所有者(User,u):创建文件或目录的用户,对文件或目录拥有最高级别的权限。

  • 文件所有者所在的组的用户(Group,g):与文件所有者属于同一用户组的成员,拥有一定的权限,但通常低于文件所有者。

  • 其他用户(Others,o):不属于上述两类的其他用户,权限通常最为有限。

创建的文件和目录会显示所有者和所属组,判断用户是那种访问者从左往右判断,比如:现在来了一个用户Jack,对于code这个目录来说,1)先对比所有者,他不是Test,所以不是所有者,2)再对比所属组,他也不是Test,所以他不是所属组,说明他说其他用户。


1.2文件的类型和访问权限

1)文件类型

  • d:文件夹
  • -:普通文件
  • l:软链接(类似Windows的快捷方式)
  • b:块设备文件(例如硬盘、光驱等)
  • p:管道文件
  • c:字符设备文件(例如屏幕等串口设备)
  • s:套接口文件

上图说明code和dir1是文件夹其他都是普通文件

2)文件访问权限

  • r:读权限
  • w:写权限
  • x:可执行权限

这些基本权限通过不同的组合,形成了复杂的权限设置,满足了各种不同的需求。

字符表示法直观地展示了文件的权限,例如:

  • rwxr-xr-x 表示文件所有者拥有读、写和执行权限,文件所属组的用户拥有读和执行权限,其他用户也拥有读和执行权限。

3)chmod指令

chmod命令用于设置文件的访问权限。

字符设置方式:通过用户表示符(u、g、o、a)和权限字符(r、w、x)来设置权限。例如,chmod u+x filename 表示为文件所有者添加执行权限。

注意:只有文件的所有者和root才可以改变文件的权限

用户表示符+/-=权限字符

  • +:向权限范围增加权限代号所表示的权限
  • -:向权限范围取消权限代号所表示的权限
  • =:向权限范围赋予权限代号所表示的权限

用户符号:  

  • u:所有者
  • g:所属组
  • o:其它用户
  • a:所有用户

对于root用户不受上面的权限约束


我们还可以用8进制数值表示文件的权限

每组权限可以通过将对应的数值相加来表示:

  • rwx:读、写、执行权限,二进制为111 = 7

  • rw-:读、写权限,二进制 110 = 6

  • r-x:读、执行权限,二进制 101 = 5

  • r--:读权限,二进制 100 = 4

  • -wx:写、执行权限,二进制 011 = 3

  • -w-:写权限,二进制 010 = 2

  • --x:执行权限,二进制 001  = 1

  • ---:无权限,二进制 000 = 0


4)chown指令

chown命令用于修改文件的所有者。例如,chown user1 filename 表示将文件的所有者修改为用户user1。

5)chgrp命令

chgrp命令用于修改文件所属的用户组。例如,chgrp group1 filename 表示将文件所属的用户组修改为group1。chgrp操作同上。


1.3目录权限

  • 可执行权限(x): 如果目录没有可执行权限, 则无法cd到目录中.
  • 可读权限(r): 如果目录没有可读权限, 则无法用ls等命令查看目录中的文件内容.
  • 可写权限(w): 如果目录没有可写权限, 则无法在目录中创建文件, 也无法在目录中删除文件.

剩下的就不一一演示


只要用户具有目录的写权限, 用户就可以删除目录中的文件, 而不论这个用户是否有这个文件的写 权限. 这好像不太科学啊, 我张三创建的一个文件, 凭什么被你李四可以删掉?为了解决这个不科学的问题, Linux引入了粘滞位的概念。


1.4粘滞位

当目录被设置了粘滞位(通过chmod +t命令)后,该目录下的文件只能由以下三种用户删除:

  • 超级管理员(root)。

  • 目录的所有者。

  • 文件的所有者。

这种设置有效防止了其他用户误删不属于自己的文件,增强了系统的安全性。

在根目录下创建目录share_test,这个目录对于其他者来说能读(查看目录中的文件内容)、写(可以在目录中创建和删除文件)、执行(进入)

让Test用户进入该目录并创建test.txt文件

让wrf用户进入该目录下,他能删除该文件


为了避免这种情况,要让该目录设置粘滞位

设置了粘滞位之后,wrf用户在该目录下创建了wrf_test.txt文件,Test用户进入该目录想删除这个文件就删不了了


1.5umask(权限掩码)

umask是一个系统设置,用于定义用户创建文件和目录时的默认权限。它的作用是从最大权限中减去一定的权限,从而生成实际的默认权限。简单来说,umask定义了用户在创建文件或目录时,哪些权限是不允许的。

1. umask的作用

  • 控制默认权限:当用户创建文件或目录时,系统会根据umask值来设置文件或目录的初始权限。

  • 增强安全性:通过限制文件和目录的默认权限,防止用户创建过于宽松权限的文件或目录,从而减少安全风险。

2. umask的默认值

  • 超级用户(root):默认umask值通常是022

  • 普通用户:默认umask值通常是002

新建文件夹默认权限=0666,新建目录默认权限=0777,但实际上你所创建的文件和目录,看到的权限往往不是上面这个值。原因就是创建文件或目录的时候还要受到 umask的影响。假设默认权限是mask,则实际创建的出来的文件权限是: mask & (~umask)。



1.6总结

Linux权限管理是系统管理的核心内容之一。通过合理的用户分类、文件访问者分类、文件类型和基本权限的设置,以及灵活的权限设置方法和特殊权限的应用,可以有效地保障系统的安全性,同时满足不同用户的需求。


版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词