news 2026/7/5 15:29:56

【Linux】四.权限的概念--详解

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【Linux】四.权限的概念--详解

一.Linux的两种用户

1.root:超级用户,在linux下有最高权限,可以做任何事情

2.普通用户(Ubuntu/CentOs):在linux做有限的事情,受管控

补充:在Windows下:管理员(admin)or 普通用户

身份的切换的命令

1.语法

su[用户名]

2.功能

切换用户(Ubuntu)

要从root 用户切换到普通用户 user,则使用 su user;

从普通用户 user 切换到 root用户则使用 sudo -i,此时系统会提示输入 root 用户的口令。


切换用户。(CentOs)

要从 root 用户切换到普通用户 user,则使用 su user;

要从普通用户 user 切换到 root 用户则使用 su root(root 可以省略),此时系统会提示输入 root 用户的口令。

3.举例

Ubuntu系列:

1.root切换成(临时用户,额外用户,自定义用户):su - 用户名

2.普通管理用户(Ubuntu)切换成超级用户:sudo -i

2.退回成上一级用户:ctrl+d/exit

4.【拓展一】

root具有最高权限,但是不想切换成root可以选用sudo+命令的方式暂时获得10~15min的权限提升。

语法.

sudo [命令]

【拓展二】

遇到下面这种情况就是重新切换成root用户,执行该指令,再切换回普通用户


二.Linux权限管理

权限本质:能或者不能做某事

权限出现的原因:控制用户行为,防止错误的发生

文件权限 = 角色+目标属性

  • 文件受的影响(人准确来说是一个角色)
  • 文件还受本身的影响(目标属性)
  • 三种人:拥有者,所属组,拥有者
  • 文件的权限:r(read读权限) w(write写权限) x(execute可执行权限)

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

  • ⽂件和⽂件⽬录的所有者:u---User(中国平⺠ 法律问题)
  • ⽂件和⽂件⽬录的所有者所在的组的⽤⼾:g---Group(不多说)
  • 其它⽤⼾:o---Others (外国⼈)

2.文件内类和访问权限(事物属性)

  • (1)文件类型
  • windows默认用后缀来判断文件的类型,但是linux区分文件一般通过属性列的第一字符

备注:d表示目录,-表示普通文件,而且有些软件也官心后缀,例如gcc

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

(2)文件的基本权限

属性列第一个字符后面有九个字符3个为一组,表示属性

  • 读(r/-):Read对⽂件⽽⾔,具有读取⽂件内容的权限;对⽬录来说,具有浏览该⽬录信息的权限
  • 写(w/-):Write对⽂件⽽⾔,具有修改⽂件内容的权限;对⽬录来说具有删除移动⽬录内⽂件的权限
  • 执⾏(x/-):execute对⽂件⽽⾔,具有执⾏⽂件的权限;对⽬录来说,具有进⼊⽬录的权
  • “—”表⽰不具有该项权限

Group的作用是啥?

保证项目安全的前提,同时也方便组内协同

公司里有一台服务器,有两个项目技术组,A 组和 B 组,老板让两个组同时开发一个项目,比一比谁做的更好。虽然都是公司的员工,但并不想另外一组看到我们的项目文件,该怎么办呢?

假如 A 组中的张三创建了该项目文件,张三是该项目的所属用户 Owner,可读可写;A 组的其它组员则是所属用户组 Group,设置成可读可写;B 组的人都是 Other,设置成不可读不可写,这样他们就什么都看不到;我们对这三类访问者进行了项目文件的访问权限控制。在保证项目安全的前提下,方便组内协同。

3.文件权限值的表示方法

也就是对文件,进行可读可写,是否可执行。这个就类似二进制中0/1,1表示可以,0表示不可以

  • 字符表⽰⽅法
  • 8进制数值表⽰⽅法


4.文件访问权限的相关设置方法

1.chmod

(1)功能:

设置⽂件的访问权限
(2)格式:
chmod [参数] [权限] [⽂件名]

(3)常⽤选项:

-R 递归修改⽬录⽂件的权限,说白了就是对文件夹中的所有内容有同样的规则
说明:只有⽂件的拥有者和root才可以改变⽂件的权限

(4)chmod命令权限值的格式:

⽤⼾表⽰符+/-=权限字符

+:向权限范围增加权限代号所表⽰的权限
-:向权限范围取消权限代号所表⽰的权限
=:向权限范围赋予权限代号所表⽰的权限
⽤⼾符号:
u:拥有者
g:拥有者同组⽤
o:其它⽤⼾
a:所有⽤⼾

(5)选项举例:

1.增加取消权限

备注:这里面使用CentOs内核系统,ubuntu同样也可以,操作方式一样,输入内容一样,当时我的ubnutu东西多,看起来不太方便吧,所以选用CentOs了。

取消test.c文件拥有者的可读(r)权限

取消文件所属组(g)可读(r)可执行(x)权限

取消其他用户(o)rwx可读,可写,可执行权限

对test.c文件给拥有着提供可读权限,给所属组提供可读可写权限,给其他人提供可读可写可执行权限

2.重新赋予权限

3.没有权限时,提升权限

使用sudo提升用户的权限到达root水平,因为权限永远约束普通用户,对root没有约束

4.基于三位八进制数来修改权限

7的二进制是111,表示 rwx,可读可写可执行,一次性设置三类用户的文件访问权限:

660->110 110 000表示只有可读写权限,对于拥有者和所属组


2.chown(change owner)

(1)功能:
修改⽂件的拥有者
(2)格式:
chown [参数] ⽤⼾名 ⽂件名(chown [参数] [用户] : [用户] [文件名])

":"用来分隔用户组和用户组

(3)举例:

把 test.c 文件的拥有者改为 root,提示说不允许操作。就相当于你把这个东西(test.c)给别人,肯定是需要征得别人同意的。

增加权限:

结果演示:


3.chgrp

(1)功能:
修改⽂件或⽬录的所属组
(2)格式:
chgrp [参数] ⽤⼾组名 ⽂件名
(3)常⽤选项:
-R递归修改⽂件或⽬录的所属组
(4)举例:

修改文件的所属组为 root,提示说不允许操作,就要使用chown

使用sudo暂时提升一下我们的权限,来修改文件的所属组

修改结果:

【拓展1.】

如何一次性把拥有者和所属者都进行修改

【拓展2】

Linux 中的默认权限由什么决定

  • 对于一般普通文件,新建文件的默认权限为666(rw- rw- rw-)

  • 对于一般目录文件,新建目录的默认权限为777(rwx rwx rwx)

实际上你所创建的文件和目录,看到的权限往往不是上面这个值。原因就是创建文件或目录的时候还要受到 umask 的影响。所以我们在 Linux 中看到的实际创建出来的文件权限是这样的:

最终权限 = 起始权限&(~usmak)

原因:权限掩码的出现

【权限掩码】

权限掩码是由 3 个八进制的数字所组成,将现有的存取权限减掉权限掩码后,即可产生建立文件时最终的权限。


4.umask
(1)功能:
查看或修改⽂件掩码
新建⽂件夹默认权限=0666
新建⽬录默认权限=0777
但实际上你所创建的⽂件和⽬录,看到的权限往往不是上⾯这个值。原因就是创建⽂件或⽬录的
时候还要受到umask的影响。假设默认权限是mask,则实际创建的出来的⽂件权限是: mask &
~umask
(2)格式:
umask 权限值
(3)说明:
将现有的存取权限减去权限掩码后,即可产⽣建⽴⽂件时最终权限。超级⽤⼾默认权限掩码值为 0022,普通⽤⼾默认为0002。

(1)使用指令 "umask" 查看当前权限掩码,我们只关注后3 个八进制数字

凡是希望在 umask 中出现的权限,都应该减掉,不应该在文件的最终权限中出现。


【最终权限计算方法一】

建立文件时最终权限 = 默认权限 & (~umask)

【最终权限计算方法二】

建立文件时最终的权限 = 默认权限 - 权限掩码

(2)我们通过指令 "umask" 可用来设置建立文件时预设的权限掩码


5.file 指令
(1)功能说明:

辨识⽂件类型

(2)语法:

file [选项] ⽂件或⽬录

(3)常⽤选项:
-c:详细显⽰指令执⾏过程,便于排错或分析程序执⾏的情形。
-z:尝试去解读压缩⽂件的内容

使⽤ sudo 分配权限

(1)修改 /etc/sudoers权限 :防止普通用户失误修改sudo配置文件,保证系统安全(默认就740)

接受权限的用户 登陆的主机 = (执行命令的用户) 命令

(2)使用 sudo 调用授权的命令

sudo –u [用户名] [命令]

作用:以指定的非root用户身份执行指令(实际上就是root的身份,因为临时加的权限)


五.目录的权限

可执⾏权限:(x)如果⽬录没有可执⾏权限, 则⽆法cd到⽬录中.
可读权限:(r)如果⽬录没有可读权限, 则⽆法⽤ls等命令查看⽬录中的⽂件内容.
可写权限:(w)如果⽬录没有可写权限, 则⽆法在⽬录中创建⽂件, 也⽆法在⽬录中删除⽂件.
思考:就是只要⽤⼾具有⽬录的写权限, ⽤⼾就可以删除⽬录中的⽂件, ⽽不论 这个⽤⼾是否有这个⽂件的写权限.就好比这好像不太科学啊, 我张三创建的⼀个⽂件, 凭什么被你李四可以删掉?
进行验证:
(1)有一个目录dir,经过sudo提高权限后拥有者和所属组都成为root

(2)在 dir 目录中创建一些文件,并去掉其它用户的所有权限

(3)那当我作为其它用户,有 dir目录的写权限,来对目录里 root 的文件执行 rm 指令:

我发现我可以删除root的文件哈,但之前dir文件的写权限被删除了,为什么,我还可以删?

如何解决呢,就引入了粘滞位的概念


1.粘滞位:
同一个目录下,不同用户创建的文件,可能会被其它用户删掉,为了防止被删掉,给目录设置粘滞位。

再去删除目录中 root 的文件,提示无法删除,操作不被允许

总结:
当⼀个⽬录被设置为"粘滞位"(⽤chmod +t),则该⽬录下的⽂件只能由
1.超级管理员删除
2.该⽬录的所有者删除
3.该⽂件的所有者删除
  • 如果不为目录设置粘滞位,任何具有该目录写和执权限的用户都可以删除和移动其中的文件。

  • 实际应用中,粘滞位一般用于 /tmp 目录(该目录通常保存系统中各用户产生的临时文件),以防止普通用户删除或移动其他用户的文件。

-d 只显示目录本身的信息,不显示目录里面的文件

备注:ubuntu默认没有ll,需要手动配置,但是CentOs7/8 root, 普通用户默认自带,需要用alias进行别名它实际上就是ls -l.

三.权限总结

  • ⽬录的可执⾏权限是表⽰你可否在⽬录下执⾏命令。
  • 如果⽬录没有 -x 权限,则⽆法对⽬录执⾏任何命令,甚⾄⽆法 cd 进⼊⽬, 即使⽬录仍然有 -r 读 权限(这个地⽅很容易犯错,认为有读权限就可以进⼊⽬录读取⽬录下的⽂件)
  • ⽽如果⽬录具有 -x 权限,但没有 -r 权限,则⽤⼾可以执⾏命令,可以 cd 进⼊⽬录。
  • 但由于没有 ⽬录的读权限 所以在⽬录下,即使可以执⾏ ls 命令,但仍然没有权限读出⽬录下的⽂档。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/5 15:29:53

AI Agent 面试题 714:如何设计Agent的安全合规自动化检查流程?

🔥 AI Agent 面试题 714:如何设计Agent的安全合规自动化检查流程?摘要:本文深入解析了「如何设计Agent的安全合规自动化检查流程?」这一 AI Agent 领域的核心面试题。文章从 对齐技术 的基本概念出发,系统性…

作者头像 李华
网站建设 2026/7/5 15:29:32

AI Agent 面试题 729:Agent的输出安全过滤中的上下文感知机制

🔥 AI Agent 面试题 729:Agent的输出安全过滤中的上下文感知机制摘要:本文深入解析了「Agent的输出安全过滤中的上下文感知机制」这一 AI Agent 领域的核心面试题。文章从 输出安全过滤 的基本概念出发,系统性地剖析了 上下文感知…

作者头像 李华
网站建设 2026/7/5 15:28:41

灰度共生矩阵 (GLCM) 实战:Python 提取 14 种纹理特征与遥感图像分类

灰度共生矩阵(GLCM)实战:Python提取14种纹理特征与遥感图像分类遥感图像分类一直是计算机视觉领域的重要研究方向。纹理特征作为图像分析的关键指标之一,能够有效区分不同地物类型。在众多纹理分析方法中,灰度共生矩阵(GLCM)因其稳定性和有效…

作者头像 李华
网站建设 2026/7/5 15:24:54

手机命令行语音转文字Python程序,无限制免费版,普通人也能完成哦(更新了V2.0)

现在很多语音转文字工具不是收费,就是有次数或时间限制。使用起来总不尽兴。于是我和deepseek自己做了一个程序,我是项目经理,他是程序员,做了一个小巧的语音转文字程序。 一、缺点: 1、借助termux App(手机小型Linux模拟器)命令行执行,所以是命令行执行。 2、正因为…

作者头像 李华
网站建设 2026/7/5 15:24:16

告别网盘限速:9大平台直链下载助手的完全使用指南

告别网盘限速:9大平台直链下载助手的完全使用指南 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国移动云盘 / 天翼云盘…

作者头像 李华
网站建设 2026/7/5 15:23:35

GPT-5.5 Instant 技术解析:从模型升级到开发者实战指南

🚀 30款热门AI模型一站整合,DeepSeek/GLM/Qwen 随心用,限时 5 折。 👉 点击领海量免费额度 最近在技术社区和开发者群里,一个消息讨论度很高:OpenAI 宣布将 ChatGPT 的默认模型更新为 GPT-5.5 Instant&a…

作者头像 李华