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

Linux文件权限管理:chmod修改权限 与 chown修改所有者

1、chmod 命令

chmod(Change Mode)用于修改文件或目录的权限,控制“谁能做什么”。

1.1、涉及的概念

3+1种用户角色

角色符号描述
所有者u文件的创建者或指定用户
所属组g文件关联的用户组
其他用户o系统中除所有者和所属组外的用户
所有用户a上述三者的合集(u+g+o

3种权限

权限符号对文件的作用对目录的作用
r查看文件内容列出目录下的文件和子目录
w修改文件内容创建、删除、重命名目录内的文件
执行x运行可执行文件进入目录(如 cd dir

1.2、基本语法

支持两种配置模式:符号模式(直观易读,灵活增减权限)和八进制模式(高效快捷,快速设置权限 )。

1.2.1、符号模式

chmod  [选项] 权限模式 文件名/目录名

选项:
-R 选项,递归修改目录下所有文件和子目录。

权限模式:

  • + 增加权限:如给所有者添加写权限 u+w
  • - 移除权限:如给其他用户移除执行权限 o-x
  • = 精确设置权限:如将所属组权限设为读+执行 g=rx

示例:

  • 给文件 data.txt 的所有者添加写权限: chmod u+w data.txt
  • 给目录 project 的所有用户添加执行权限:chmod a+x project
  • 将文件 script.sh 的所属组权限设为读+写,其他用户仅读:chmod g=rw,o=r script.sh

1.2.2、八进制模式

chmod [选项] 八进制权限 文件名/目录名

权限模式:
每个用户的权限组合可转换为三位八进制数。
r=4、写w=2、执行x=1,累加起来就是这个用户角色的权限。

  • 所有者权限:读+写+执行 = 4+2+1 → 7
  • 所属组权限:读+执行 = 4+1 → 5
  • 其他用户权限:读 = 4 → 4
  • 组合后的权限754(对应 u=rwx, g=rx, o=r)。

示例:

  • 设置目录 public 的权限为 755(所有者可读写执行,其他用户可读执行):chmod 755 public
  • 递归修改目录 app 及其所有子文件/目录的权限为 644(文件可读可写,目录可读):chmod -R 644 app

1.3、注意

  • 目录的执行权限:若目录无执行权限(x),用户无法进入目录(如 cd dir 会报错),但仍可通过绝对路径访问目录内的文件(需文件本身有读权限)。

  • 文件的执行权限:只有给文件添加 x 权限后,才能通过 ./file 运行脚本或二进制文件。

  • 文件权限建议
    普通文件建议设置为 644(所有者可读写,其他用户可读)
    可执行文件设置为 755

  • 目录权限建议
    公共目录建议设置为 755(所有者可读写执行,其他用户可读执行)
    私人目录设置为 700(仅所有者可操作)。

  • 避免使用 777
    该权限允许所有用户读写执行,存在极大安全风险,仅在临时测试时使用。


2、chown 命令

chown(Change Owner)用于更改文件或目录的所有者和所属组,控制“谁拥有文件”。

2.1、基本语法

chown [选项] 新所有者:新所属组 文件名/目录名

-R 选项,递归修改目录下所有文件和子目录

  • 仅修改所有者chown new_user file.txt
  • 同时修改所有者和所属组chown new_user:new_group dir/
  • 仅修改所属组chown :new_group file

3、查看当前所有者和权限

通过 ls -l 命令查看文件、目录的详细信息。

示例
查看code目录的详细信息。
在这里插入图片描述

  • drwxr-xr-x

    • d,代表这是个目录
    • rwx,所有者的权限是“读、写、执行”
    • r-x:所属组的权限是“读、执行”
    • r-x:其他用户的权限是“读、执行”
  • ly:ly

    • 冒号前ly:用户名
    • 冒号后ly:所属组

相关文章:

  • LeetCode 热题 100 48. 旋转图像
  • shell编程补充内容(Linux课程实验3)
  • 胶合目录解释
  • 如何提升个人情商?
  • TF-IDF算法详解
  • 【Godot】使用 Shader 实现可配置圆角效果
  • 缓存与数据库的高效读写流程解析
  • C++动态内存分配:从基础到最佳实践
  • 【数据结构】线性表--链表
  • 【Linux系统】互斥量mutex
  • Spring AI 实战:第八章、Spring AI Tool Calling之与时俱进
  • Android基于绑定的控件用法
  • SpringBoot的启动流程
  • NoSQL入门实战:MongoDB与Redis核心应用全解析
  • 从 Java 开发到 AI 工程师:全面学习指南
  • 【漫话机器学习系列】238.训练误差与测试误差(Training Error And Test Error)
  • Spring AI 实战:第十一章、Spring AI Agent之知行合一
  • 56认知干货:智能化产业
  • 《政治最后的日子》章节
  • 电动调节 V 型球阀:颗粒状含碱浆液介质的完美解决方案-耀圣
  • 香港金紫荆广场举行五四升旗礼
  • 中国驻美国使领馆提醒在美中国公民注意交通安全
  • 爱彼迎:一季度总收入约23亿美元,将拓展住宿以外的新领域
  • 高速变道致连环车祸,白车“骑”隔离栏压住另一车,交警回应
  • 燕子矶:物流网络中的闪亮节点|劳动者的书信②
  • 美国季度GDP时隔三年再现负增长,特朗普政府关税政策对美国经济负面影响或将持续