当前位置: 首页 > 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.dtcms.com/a/271868.html

相关文章:

  • Spring核心原理的快速入门:快速了解IoC与DI
  • RHCE考试 ——笔记
  • 【Linux手册】从接口到管理:Linux文件系统的核心操作指南
  • Redis数据安全性分析
  • PyTorch Tensor 操作入门:转换、运算、维度变换
  • 【NLP入门系列六】Word2Vec模型简介,与以《人民的名义》小说原文实践
  • IPv4和IPv6双栈配置
  • 【K8S】Kubernetes 使用 Ingress-Nginx 基于 Cookie 实现会话保持的负载均衡
  • HCIA第一次实验报告:静态路由综合实验
  • day11-微服务面试篇
  • C++11 std::is_sorted 和 std::is_sorted_until 原理解析
  • CentOs 7 MySql8.0.23之前的版本主从复制
  • 无缝矩阵与普通矩阵的对比分析
  • 中老年人的陪伴,猫咪与机器人玩具有什么区别?
  • Java 与 MySQL 性能优化:MySQL连接池参数优化与性能提升
  • MySQL(127)如何解决主从同步失败问题?
  • adb 简介与常用命令
  • 分布式ID 与自增区别
  • 虚拟储能与分布式光伏协同优化:新型电力系统的灵活性解决方案
  • 异步I/O库:libuv、libev、libevent与libeio
  • 从0到1:Python与DeepSeek的深度融合指南
  • jupyter 和 kernel 之间的关系
  • .net服务器Kestrel 与反向代理
  • 【TCP/IP】11. IP 组播
  • 【C语言】学习过程教训与经验杂谈:思想准备、知识回顾(六)
  • 【博主亲测可用】PS2025最新版:Adobe Photoshop 2025 v26.8.1 激活版(附安装教程)
  • Apache Dubbo实战:JavaSDK使用
  • 前端面试十一之TS
  • 服务器重装后如何“复活”旧硬盘上的 Anaconda 环境?—— 一次完整的排错与恢复记录
  • 计算机学科专业基础综合(408)四门核心课程的知识点总结