首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >新手也能懂的 Linux 权限指南

新手也能懂的 Linux 权限指南

作者头像
夜雨声烦1413
发布2026-01-12 16:04:15
发布2026-01-12 16:04:15
1010
举报

1:shell命令以及运行原理

Linux 严格意义上说的是一个操作系统,我们称之为 “ 核心( kernel ) “ ,但我们一般用户,不能直接使用 kernel.而是通过kernel 的 “ 外壳 ” 程序,也就是所谓的 shell ,来与 kernel 沟通。如何理解?为什么不能直接使用 kernel ?

从技术角度, Shell 的最简单定义:命令行解释器( command Interpreter )主要包含:

  • 将使用者的命令翻译给核心(kernel)处理.
  • 同时,将核心的处理结果翻译给使用者.

  • 对比windows GUI,我们操作windows 不是直接操作windows内核,而是通过图形接口,点击,从而完成我们的操作(比如进入D盘的操作,我们通常是双击D盘盘符.或者运行起来一个应用程序)
  • shell 对于Linux,有相同的作用,主要是对我们的指令进行解析,解析指令给Linux内核。反馈结果在通过内核运行出结果,通过shell解析给用户.

这里还有一个小故事可以帮助uu们理解

帮助理解:如果说你是一个闷骚且害羞的程序员,那shell就像媒婆,操作系统内核就是你们村头漂亮的且有让你心动的美女小花。你看上了小花,但是有不好意思直接表白,那就让你你家人找媒婆帮你提亲,所有的事情你都直接跟媒婆沟通,由媒婆转达你的意思给小花,而我们找到媒婆姓王,所以我们叫它王婆,它对应我们常使用的bash.

2:Linux权限的概念

2.1:权限的概念以及本质

Linux下有两种用户:超级用户(root)、普通用户

  • 超级用户:可以在Linux系统下做任何事情,不受限制
  • 普通用户:在Linux下做有限的事情.

每次切换用户时,首先进入的是用户的家目录.

  • 权限概念:通过一定的条件,拦住一部分人,给另一部分人权利,来访问某种资源
  • 权限本质:权限 = 用户角色(具体的人) + 文件权限属性

3:Linux权限管理

3.1:文件访问者的分类

  • 文件和文件目录的所有者即拥有者:u---User
  • 文件和文件目录的所有者所在的组的用户即所属组:g---Group
  • 其它用户:o---Others

Linux具有组的概念,主要是在多人协作的时候更好地进行权限管理.

3.2:文件类型与访问权限

文件的属性权限,一般就只三种

  1. r:读权限.
  2. w:写权限.
  3. x:可执行权限.

3.3:修改文件权限的做法

3.3.1:chmod

  • 功能:设置文件的访问权限.
  • 格式:chmod [参数] 权限 文件名

PS:只有文件的拥有者和root才能改变文件的权限.

  • +:给用户添加权限
  • -:给用户去除权限.
  • u:拥有者
  • g:所属组
  • o:其他用户
  • a:所有用户

对于普通用户,自身要受到权限的约束,即使这个文件是自己的.root用户是不受权限的控制的.

3.3.2:chown

  • 功能:修改文件的拥有者.
  • 格式:chown name filename.
3.3.3:chgrp

  • 功能:修改文件的所属组
  • 格式:chgrp name filename

3.4:文件权限制的表示方法

4:文件类型

字母

文件类型

d

目录文件

-

普通文件(文本文件,可执行程序,库等)

b

块设备文件(硬盘,光驱)

c

字符设备文件(显示器(往显示器上显示的都是字符)

p

管道文件

l

链接文件(Windows的快捷方式)

s

套接口文件

Linux中不通过后缀区分文件类型(不代表Linux不使用文件后缀).而是通过ls -l的第一个属性列来进行区分

5:目录文件

5.1:文件能够被执行的要素

  • 如何理解x.
  • 可执行权限 vs 可执行.
  • 能执行 = 具有可执行权限 + 此文件是一个可执行文件.

5.2:目录文件的权限

进入一个目录需要x权限.

目录的r权限:决定了用户是否能查看指定目录内的文件信息.

目录的w权限:决定了用户是否能在指定的目录内新建,修改,删除文件.

文件 = 内容 + 属性;对于目录文件 ,这里的内容指的是该目录里面的所有文件信息的详情

5.3:删除目录里的普通文件的条件

删除一个文件和目标文件有关系么??没关系,和用户所在目录有关系.

若想在Linux下,由多个用户建立一个共享文件,想被大家访问,那么这个文件首先不能在各自的家目录下建立(因为每个用户的家目录只给拥有者放开了权限),因此只能够在系统的非用户目录下建立

6:粘滞位

学习了目录文件的权限后,有的uu就会提出下面这个疑问: 只要 用户具有目录的写权限 , 用户就可以 删除目录中的文件 , 而 不论这个用户是否有这个文件的写权限 . 但是不太科学啊, 我张三创建的一个文件 , 凭什么被你李四可以删掉 ? 我们用下面的过程印证一下.

为了解决上述这个不科学的问题,Linux通过引入粘滞位的概念.

当一个目录被设置为"粘滞位"(用chmod +t),则该目录下的文件只能由

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

7:umask码

Linux中创建文件的时候,有默认的权限

  • 创建普通文件,起始权限是:0666(八进制),即去掉x权限.
  • 创建目录文件,起始权限是:0777(八进制),即去掉x权限

实际创建出来的文件,还要受到umask码(Linux中的默认权掩码)的影响即创建文件的时候,要从起始权限过滤掉(不是减去)在umask码中出现的权限.实际的权限 = 默认权限 & ~umask.

8:关于权限的总结

  1. 目录的可执行是表示你能否在目录下执行命令.
  2. 如果没有-x权限,则无法对目录执行任何命令,甚至无法cd进入目录,即使目录依旧有-r读权限
  3. 而如果目录具有-x权限,但没有-r权限,则用户可以执行命令,可以cd进入目录.但由于没有目录的读权限,因此在目录下,即使可以执行ls命令,但依旧没有读出目录下的文档.

好啦,家人们,关于Linux权限实现这块的相关细节知识,博主就讲到这里了,如果uu们觉得博主讲的不错的话,请动动你们滴滴的小手给博主点个赞,你们滴鼓励将成为博主源源不断滴动力.

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-11-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1:shell命令以及运行原理
  • 2:Linux权限的概念
    • 2.1:权限的概念以及本质
  • 3:Linux权限管理
    • 3.1:文件访问者的分类
    • 3.2:文件类型与访问权限
    • 3.3:修改文件权限的做法
      • 3.3.1:chmod
      • 3.3.2:chown
      • 3.3.3:chgrp
    • 3.4:文件权限制的表示方法
  • 4:文件类型
  • 5:目录文件
    • 5.1:文件能够被执行的要素
    • 5.2:目录文件的权限
    • 5.3:删除目录里的普通文件的条件
  • 6:粘滞位
  • 7:umask码
  • 8:关于权限的总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档