欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 教育 > 高考 > 【对Linux文件权限的深入理解】

【对Linux文件权限的深入理解】

2025/9/16 0:28:28 来源:https://blog.csdn.net/2301_80176226/article/details/147355057  浏览:    关键词:【对Linux文件权限的深入理解】

Linux文件权限

  • Linux下权限概念
    • 概念
    • 相关命令
  • Linux的文件权限管理
    • 1.文件访问者的分类(⼈)
    • 文件类型和访问权限(事物属性)
    • 文件权限值的表示方法
    • ⽂件访问权限的相关设置方法
    • 目录的权限(比较重要)
    • 粘滞位

Linux下权限概念

概念

Linux下有两种用户 : 超级管理员(root)与普通用户:

  • 超级用户(root) :可以在linux下进行任何操作,不受限制!
  • 普通用户:在linux下做权限范围内的事!
  • linux下root账号的命令提示符是 # , 普通用户的是 $

相关命令

命令:su
功能:切换用户
例子:如果想将用户切换到 “user”(某个用户的用户名),可以使用su "user"进行切换。
当然,我们也可以切换到root账户,指令是su - 或者 su root ,之后我们输入当前用户的密码就可以切换完成!
毋庸置疑,肯定不是任何人都有权利切换到root账号,否则我们所谈的权限问题就是无稽之谈,如果我们想su - 成功,就必须在/etc/sudoers 文件中为当前用户添加权限 (注意必须是root身份才能打开并修改此文件!

Linux的文件权限管理

所谓权限,其实就是人 + 事物的属性!
比如我们要执行一个文件,我们需要有权力执行他,并且这个文件具有可执行属性才能成功,二者缺一不可!

1.文件访问者的分类(⼈)

  • 文件或目录的所有者:u — user
  • 文件所属组:g — group
  • 其他用户: o — other
    在Linux系统下,我们在文件的视角将用户分为以上三个类型。后面对一个文件是否具有访问权限,也是根据这三种类型进行划分的!

文件类型和访问权限(事物属性)

根据之前我们所介绍的 , ls指令可以罗列出指定目录下的文件:
在这里插入图片描述
我们发现除了文件名之外,还有很多其他的信息。

  1. 第一列表示的是文件的类型
    • d:⽂件夹
    • -:普通⽂件
    • l:软链接(类似Windows的快捷⽅式)
    • b:块设备⽂件(例如硬盘、光驱等)
    • p:管道⽂件
    • c:字符设备⽂件(例如屏幕等串⼝设备)
    • s:套接⼝⽂件
  2. 第二到十列 , 共九个字符三三为一组,这三组分别表示该文件对 u(所有者),g(所属组),o(其他)的 r(读)w(写)x(执行)权限 ,若没有此权限则为 -
  3. 还有两列用户名信息,从左往右分别表示 所有者和所属组。

文件权限值的表示方法

  • 字符表示:
    rwx 分别表示 读,写,可执行权限。若没有权限则为 -
    例如 rwxrw-rw-
  • 八进制数表示
    我们发现对于每一个位都只有有此权限和无此权限两个状态,所以我们可以用二进制的0,1来表示权限的有无,而rwx三三一组,所以我们可以用一个八进制数来表示rwx权限
    例如 : 666 对应的字符表示为 rw-rw-rw-

⽂件访问权限的相关设置方法

  1. chmod

    • 功能:设置⽂件的访问权限
    • 格式:chmod [参数] 权限 ⽂件名
    • 常⽤选项:-R 递归修改⽬录⽂件的权限
    • 说明:只有⽂件的拥有者和root才可以改变⽂件的权限
    • 权限值格式:⽤户表⽰符+/-=权限字符
    • 实例:
      chmod u+w /home/abc.txt
      chmod 664 /home/abc.txt
  2. chown

    • 功能:修改⽂件的拥有者
    • 格式:chown [参数] ⽤⼾名 ⽂件名
    • 实例:
      chown user1 f1
      chown -R user1 filegroup1
  3. chgrp

    • 功能:修改⽂件或⽬录的所属组
    • 格式:chgrp [参数] ⽤⼾组名 ⽂件名
    • 常⽤选项:-R 递归修改⽂件或⽬录的所属组
    • 实例: chgrp users /abc/f2
  4. umask

    • 功能:查看或修改⽂件掩码
    • 说明 :
      新建⽂件夹默认权限=0666
      新建⽬录默认权限=0777
    • 实例:
      umask //查看文件掩码
      umask 0002 //修改文件掩码

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

  1. file
    • 功能:查看文件类型
    • 实例:file code.cc
    • 在这里插入图片描述

目录的权限(比较重要)

目录也是文件,也有对应的rwx权限,那么目录的rwx分别指的是什么呢?
直接输出结论:

  • 可执⾏权限: 如果⽬录没有可执⾏权限, 则⽆法cd(进入)到⽬录中.
  • 可读权限: 如果⽬录没有可读权限, 则⽆法⽤ls等命令查看⽬录中的⽂件内容.
  • 可写权限: 如果⽬录没有可写权限, 则⽆法在⽬录中创建⽂件, 也⽆法在⽬录中删除⽂件.
    如果想要验证以上三点,我们可以利用前面介绍的修改文件权限的指令对目录权限修改,然后尝试是否能进入,创建文件,查看。

粘滞位

Linux之所以要设置权限的概念,就是为了限制我们进行一些危险或者不合理的操作,比如说:张三想要查看李四的一个文件,但李四并未对other设置读权限,张三一气之下就把李四的文件删除了,这样的行为是不合理的,但只靠我们之前了解的文件权限管理无法有效限制这种行为,所以提出了粘滞位的概念!

格式:chmod +t /home/ # 加上粘滞位
当⼀个⽬录被设置为"粘滞位"(⽤chmod +t),则该⽬录下的⽂件只能由

  1. 超级管理员删除
  2. 该⽬录的所有者删除
  3. 该⽂件的所有者删除

对linux文件权限的解释就到这里了,如果有所帮助的话,点赞收藏吧!

版权声明:

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

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

热搜词