当前位置: 首页 > news >正文

正点原子 文件权限

1 文件信息

ls -l 是 Linux 或类 Unix 系统里常用的命令,用来 以长格式(long format)列出目录内容。
在这里插入图片描述

列号示例含义
1-rw-r--r--文件类型和权限:第一个字符表示类型(- 文件,d 目录,l 软链接),后面 9 个字符每 3 个一组,分别表示属主、属组、其他用户的读写执行权限(r=读,w=写,x=执行,- 表示无权限)
21硬链接数:该文件或目录的硬链接数量
3user所有者:文件的拥有者(用户名)
4group所属组:文件所属的用户组
54096文件大小(字节)
6Jul 9 12:00最后修改时间:默认显示最近一次修改的日期和时间
7example.txt文件或目录名

2 -rw-r–r-- 的解释

2.1 第一个字符表示文件类型

字符含义
-普通文件(regular file)
d目录(directory)
l符号链接(symbolic link,软链接)
b块设备文件(block device,例如硬盘、U盘)
c字符设备文件(character device,例如串口、终端)
s套接字文件(socket,用于进程间通信)
p命名管道(FIFO,先入先出)

2.2 后面的字符

位置表示解释
2–4属主权限(owner)文件拥有者对该文件的权限
5–7属组权限(group)文件所属用户组内其他用户对该文件的权限
8–10其他用户权限(others)系统中除属主和属组外的所有其他用户对该文件的权限

r=读,w=写,x=执行,- 表示无权限

3 如何改用户权限

3.1 chmod — 改文件/目录的权限

全称: change mode
作用:修改文件或目录的读(r)、写(w)、执行(x)权限。

chmod [选项] 模式 文件

3.1.1 (1)符号法

用 u(属主)、g(属组)、o(其他)、a(所有),配合 +(增加)、-(移除)、=(设置)。

例子:

chmod u+x myscript.sh   # 给属主加执行权限
chmod go-w file.txt     # 去掉属组和其他用户的写权限
chmod a=r file.txt      # 所有人只读

3.1.1 (2)数字法

用 u(属主)、g(属组)、o(其他)、a(所有),配合 +(增加)、-(移除)、=(设置)。

例子:
用 3 个八进制数表示权限:

r = 4,w = 2,x = 1

三位分别表示:属主 | 属组 | 其他用户

chmod 755 myscript.sh

解释:

7 = 4+2+1 = rwx (属主)

5 = 4+0+1 = r-x (属组)

5 = 4+0+1 = r-x (其他)

3.2 chown — 改文件/目录的属主和属组

命令作用说明
chown改变文件或目录的所有者(属主)和所属组(属组)修改文件的拥有者和所属用户组,影响权限和访问控制

chown 常见用法对照表

命令示例含义备注
chown user filename修改属主为 user不改变属组
chown :group filename修改属组为 group不改变属主
chown user:group filename同时修改属主和属组同时改变
chown user: filename修改属主为 user,属组保持不变等同 chown user filename
chown : filename把属主改为空(无效,需指定)不常用
chown -R user:group dir递归修改目录及其所有内容的属主属组递归修改子目录和文件

4 链接权限

在 Linux/Unix 文件系统里,链接(link) 是一种让 同一个文件内容(数据块/inode)被多个名字(路径)引用 的机制。

在这里插入图片描述

简单说:

一个文件 = 数据块 + inode + 路径名(目录项)

链接就是给一个 inode 多起几个名字,或者指向它。
软链接: 单独文件,保存目标路径,是“路径指针”,像 Windows 的快捷方式。

4.1 分类:硬链接 & 符号链接

特点解释
指向同一个 inode硬链接就是多个文件名共享同一个 inode(数据块和元数据)
没有“原文件 vs 链接”之分所有硬链接都是平等的,删除其中任何一个不影响 inode 里的数据,只是减少链接数
不跨文件系统只能在同一个分区里
不对目录使用(除非特权场景)为了防止循环引用

1️⃣ 相同 inode
多个具有相同 inode 的文件互为硬链接。创建硬链接就相当于给同一个文件实体增加了一个新的“入口”,它们共享同一份数据块和元数据。
2️⃣ 删除机制
对于硬链接文件,只有当源文件及其所有硬链接都被删除时,inode 才会被释放,文件内容才会真正从磁盘上消失。
3️⃣ 防止误删
基于硬链接的机制,我们可以通过为重要文件创建额外的硬链接来防止误删。即使误删了其中一个路径,只要还有其他硬链接存在,文件数据依然安全。
4️⃣ 内容一致性
无论修改哪个硬链接文件,实际操作的都是同一个 inode,因此修改会同步体现在所有硬链接上。
5️⃣ 文件系统限制
硬链接只能在同一个文件系统(分区)内创建,不能跨文件系统。
6️⃣ 对目录的限制
为了避免出现循环引用和文件系统混乱,普通用户无法对目录创建硬链接(只有特殊情况下如 . 和 … 是目录硬链接的例外)。
![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/41d86d934bd64558b3acee9f0701d842.png

4.2 分类:符号链接 (Symbolic Link / Soft Link)

特点解释
指向路径软链接是一个独立的文件,内容是指向目标文件路径的字符串
类似快捷方式删除原文件,符号链接就“悬挂”(Broken link)
可跨文件系统因为它只保存路径
可对目录使用常用于把某个目录软挂到别处

4.3 总结

比较项硬链接 (Hard Link)符号链接 (Symbolic Link / Soft Link)
是否有自己独立的 inode❌ 共享同一个 inode✅ 自己有单独 inode
是否跨文件系统❌ 只能在同一分区✅ 可以跨文件系统
是否可用于目录❌ 一般不允许(为了避免循环引用)✅ 可以对目录创建
删除源文件后数据依然存在(只要还有链接)链接失效(悬挂,Broken link)
关系所有硬链接平等,共享内容是路径指针,类似快捷方式
创建命令ln 源文件 新文件ln -s 源文件 新链接
ls -l 显示普通文件,权限标识不变l 开头,带 -> 指向目标
使用场景同一文件多路径访问(如备份、版本控制)快捷方式、路径重定向(如 /usr/bin/python -> /usr/bin/python3.11)
典型用途不常用于用户层,更多在底层/备份很常见,如配置链接、可执行文件多版本
http://www.xdnf.cn/news/1096507.html

相关文章:

  • 聊一聊跨浏览器测试验证点梳理
  • 搜索引擎vs向量数据库:LangChain混合检索架构实战解析
  • 数据提取之bs4(BeautifuSoup4)模块与Css选择器
  • 使用Word/Excel管理需求的10个痛点及解决方案Perforce ALM
  • CMD,PowerShell、Linux/MAC设置环境变量
  • 主从IO核心
  • Transformers 和 PyTorch 的区别与安装指南
  • Flowable23手动、接收任务----------持续更新中
  • 【计算机基础理论知识】C++篇(二)
  • codeforeces Round1032 - Round 1036
  • 学习笔记(32):matplotlib绘制简单图表-数据分布图
  • Linux Vim 编辑器详解:从入门到进阶(含图示+插件推荐)
  • Java从入门到精通!第三天(数组)
  • 【threejs】第一人称视角之八叉树碰撞检测
  • 论文笔记(LLM distillation):Distilling Step-by-Step!
  • MiniGPT4源码拆解——models
  • 原生微信小程序研发,如何对图片进行统一管理?
  • 微信小程序101~110
  • UnrealEngine5游戏引擎实践(C++)
  • Android Coil 3 data加载图的Bitmap或ByteArray数据类型,Kotlin
  • Android 如何阻止应用自升级
  • C语言 | 函数核心机制深度解构:从底层架构到工程化实践
  • Matplotlib 全面使用指南 -- 自动缩放坐标轴 Autoscaling Axis
  • 【Linux】Linux 操作系统 - 27 , 进程间通信(三) --System V 共享内存
  • 编写bat文件自动打开chrome浏览器,并通过selenium抓取浏览器操作chrome
  • 抽象类基础知识
  • 如何选择合适的ai降重工具?七个实用的ai查重网站
  • 【会员专享数据】2013-2024年我国省市县三级逐日SO₂数值数据(Shp/Excel格式)
  • 告别繁琐:API全生命周期管理的新范式——apiSQL
  • 调用京东API接口时,如果超过了调用频率限制,应该如何处理?【项目经验分享】