Linux 文件权限详解与管理

文章目录

  • 前言
  • 一、文件权限概述
    • 1. 权限表示格式
    • 2. 权限组合值
  • 二、查看文件权限
  • 三、修改文件所有者与所属组
    • 1. 使用 chown 修改文件所有者
    • 2. 使用 chgrp 修改文件所属组
    • 3. 添加所有者
  • 四、修改文件权限
    • 1. 符号方式
    • 2. 八进制方式
    • 3. 实际修改
  • 总结


前言

在 Linux 系统中,文件权限控制是非常重要的。每个文件都有其所有者和所属组,并且拥有一套权限来控制谁能对文件进行读取、写入和执行等操作。本文将详细介绍文件权限的组合规则,如何使用常用命令 ls -l 查看文件权限,使用 chownchgrp 更改文件所有者和所属组,以及 chmod 命令来设置文件访问权限。
在这里插入图片描述


一、文件权限概述

Linux 系统中的每个文件都有三种权限设置,分别针对文件的 所有者(属主)、所属组(属组) 以及 其他用户。每种权限包括三种类型:

  • r (read):读取权限,允许读取文件内容。
  • w (write):写入权限,允许修改文件内容。
  • x (execute):执行权限,允许执行文件(如果文件是可执行文件)。

在这里插入图片描述

文件权限可以通过 ls -l 命令来查看。

1. 权限表示格式

使用 ls -l 命令可以列出文件的详细信息,包括文件类型和权限。例如:
在这里插入图片描述
权限的格式可以分为 10 位,其中:

  • 第一位表示文件类型:
    -:普通文件
    d:目录
    l:符号链接
    b:块设备
    c:字符设备
  • 接下来的 9 位表示文件权限,三位一组,分别表示所有者、所属组和其他用户的权限。每组三个字符依次表示 r、w、x 权限。例如,rwxr-xr-- 表示:
    所有者(前三位):具有读取、写入和执行权限(rwx)
    所属组(中间三位):具有读取和执行权限(r-x)
    其他用户(后三位):只有读取权限(r–)

在这里插入图片描述

2. 权限组合值

文件权限还可以用八进制数表示,其中:

  • r 对应的值是 4
  • w 对应的值是 2
  • x 对应的值是 1

例如:

  • rwx 权限对应的值是 4+2+1 = 7
  • rw- 权限对应的值是 4+2 = 6
  • r-x 权限对应的值是 4+1 = 5

因此,权限 rwxr-xr-- 可以用八进制表示为 0754

二、查看文件权限

可以使用 ls -l 命令查看文件的详细权限信息。
在这里插入图片描述

  • 第一列表示文件的类型和权限(-rwxr-xr--
  • 第二列表示硬链接数
  • 第三列表示文件所有者(user
  • 第四列表示文件所属组(group
  • 第五列表示文件大小(1024 字节)
  • 第六列表示文件的最后修改时间(Sep 19 10:00
  • 第七列表示文件名(example.txt
    在这里插入图片描述

三、修改文件所有者与所属组

1. 使用 chown 修改文件所有者

chown 命令用于更改文件或目录的所有者,语法如下:

$ sudo chown 新所有者 文件名

例如,将 example.txt 的所有者更改为 user2

$ sudo chown user2 example.txt

2. 使用 chgrp 修改文件所属组

chgrp 命令用于更改文件的所属组,语法如下:

$ sudo chgrp 新组 文件名

例如,将 example.txt 的所属组更改为 group2

$ sudo chgrp group2 example.txt

3. 添加所有者

通过 sudo adduser 命令可以将添加用户:
在这里插入图片描述

四、修改文件权限

使用 chmod 命令可以修改文件或目录的权限,支持两种方式:符号方式和八进制方式。

1. 符号方式

符号方式中,权限由 u(所有者)、g(所属组)、o(其他用户)和 a(所有用户)进行指定,并通过 +-= 符号修改权限。

语法格式如下:

$ chmod [ugoa][+-=][rwx] 文件名

例如:

  • 给所有者添加执行权限:chmod u+x example.txt
  • 给所属组和其他用户删除写权限:chmod go-w example.txt
  • 设置文件权限为只读:chmod a=r example.txt

2. 八进制方式

八进制方式可以一次性为所有用户设置权限。例如:

$ chmod 754 example.txt

表示:

  • 所有者有读、写、执行权限(7)
  • 所属组有读和执行权限(5)
  • 其他用户只有读权限(4)

3. 实际修改

新创建的shell脚本文件通常是没有执行权限的,也就是.sh后缀的文件只具备读r写w的权限,使用./+脚本文件名即可执行

在这里插入图片描述
使用如下命令给所有者加上执行脚本的权限即可成功运行

chmod u+x demo.sh

在这里插入图片描述


总结

Linux 文件权限系统为文件提供了精细的访问控制机制。通过 ls -l 可以查看文件的权限和属性,chown 可以更改文件所有者,chgrp 可以更改文件所属组,chmod 则可以灵活地修改文件的访问权限。掌握这些基本命令,可以更好地管理 Linux 系统中的文件安全。

通过这篇文章的介绍,您应该对 Linux 文件权限有了更深入的了解,能够灵活运用各种权限管理命令。如果你有任何疑问或建议,欢迎在评论区留言讨论🌹

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/53585.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

VS Code调整字体大小

##在工程目录底下.vscode/settings.json添加设置参数 {"editor.fontSize": 15,"window.zoomLevel": 1.5 }

MySQL—存储过程详解

基本介绍 存储过程和函数是数据库中预先编译并存储的一组SQL语句集合。它们的主要目的是提高代码的复用性、减少数据传输、简化业务逻辑处理,并且一旦编译成功,可以永久有效。 存储过程和函数的好处 提高代码的复用性:存储过程和函数可以在…

Redis6.0.9配置redis集群

写在前面 最近在完成暑期大作业,期间要将项目部署在云服务器上,其中需要进行缓存的配置,决定使用Redis,为了使系统更加健壮,选择配置Redis-Cluster。由于服务器资源有限,在一台服务器上运行6个Redis Instan…

docker desktop windows stop

服务docker改为启动 cmd下查看docker版本 {"builder": {"gc": {"defaultKeepStorage": "20GB","enabled": true}},"experimental": false,"registry-mirrors": ["https://hub.atomgit.com/"]…

三目运算判断字母大小写-C语言

1.问题: 输入一个字符,判别它是否为大写字母,如果是,将它转换成小写,如果不是,不转换。然后输出最后得到的字符,要求使用三目运算符。 2.解答: 用条件表达式来处理,当字…

Go基础学习04-变量重声明;类型转换;类型断言;Unicode代码点;类型别名;潜在类型

目录 变量重声明 类型断言 类型转换 类型转换注意事项 Unicode代码点 类型别名、潜在类型 类型别名的意义 变量重声明 编写代码: package mainimport "fmt"var container []string{"Beijing", "Shanghai"}func main() {fmt.Pr…

快递物流短信API接口代码

官网:快递鸟 API参数 用户信息类 一.短信模版 1.接口说明 使用快递鸟短信功能时,预先设置好短信模板和对应的发送规则,快递鸟短信API将根据设置的好的模板和规则,进行短信的发送和反馈。 (1)仅支持Json格式。 (2)请求指令810…

数据结构-2.9.双链表

一.双链表与单链表的对比&#xff1a; 二.双链表的初始化(带头结点)&#xff1a; 1.图解&#xff1a; 2.代码演示&#xff1a; #include<stdio.h> #include<stdlib.h> ​ //定义双链表结构体 typedef struct DNode {int data;struct DNode *prior;//前驱指针即指…

软件测试基础面试题【最新-附带答案】

1、介绍一下你上一家公司的测试流程吧&#xff1f; 1、产品经理拿下项目 2、所有技术人员&#xff08;开发&#xff0c;测试&#xff0c;运维&#xff0c;UI&#xff09;召开需求分析会议 3、测试组内召开会议&#xff08;明确测试需求&#xff0c;分配人员任务&#xff09;…

Spring Boot 学习之路 -- Service 层

前言 最近因为业务需要&#xff0c;被拉去研究后端的项目&#xff0c;代码框架基于 Spring Boot&#xff0c;对我来说完全小白&#xff0c;需要重新学习研究…出于个人习惯&#xff0c;会以 Blog 文章的方式做一些记录&#xff0c;文章内容基本来源于「 Spring Boot 从入门到精…

(补充)3DMAX初级小白班第三课:创建物体+物体材质编辑

1.可以点这里来改变材质颜色&#xff08;但是通过材质编辑器给了材质以后就只能在这里改线框颜色&#xff09;。但一般就是用灰色材质和黑色线框 2.材质编辑器快捷键为m 右键可更改个数&#xff0c;最多24个 将材质指定选定对象 如何把材质编辑器面板改成旧版 按f10 改成扫描…

计算机毕设选题推荐-基于python的电子健康信息分析系统【源码+文档+调试】

精彩专栏推荐订阅&#xff1a;在下方主页&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; &#x1f496;&#x1f525;作者主页&#xff1a;计算机毕设木哥&#x1f525; &#x1f496; 文章目录 一、电子健康信息…

【Linux】解锁管道通信和共享内存通信,探索进程间通信的海洋

目录 引言&#xff1a; 1、进程间通信基础介绍 1.1为什么需要在进程之间通信&#xff1f; 1.2进程间通信是什么&#xff1f; 1.3我们具体如何进行进程间的通信呢&#xff1f; a.一般规律&#xff1a; b.具体做法 2.管道 2.1什么是管道 2.2匿名管道&#xff1a; 创建…

行业展望:线缆行业发展

线缆行业作为国民经济中最大的配套行业之一&#xff0c;在我国机械工业的细分行业中占据举足轻重的地位&#xff0c;仅次于汽车整车制造和零部件及配件制造业。作为电气化、信息化、智能化社会中重要的基础性配套产业&#xff0c;电线电缆被誉为国民经济的"血管"与&q…

用户态缓存:链式缓冲区(Chain Buffer)

目录 链式缓冲区&#xff08;Chain Buffer&#xff09;简介 为什么选择链式缓冲区&#xff1f; 代码解析 1. 头文件与类型定义 2. 结构体定义 3. 宏定义与常量 4. 环形缓冲区的基本操作 5. 其他辅助函数 6. 数据读写操作的详细实现 7. 总结 8. 结合之前的内容 9. 具…

鸿蒙OpenHarmony【小型系统基础内核(进程管理任务)】子系统开发

任务 基本概念 从系统的角度看&#xff0c;任务Task是竞争系统资源的最小运行单元。任务可以使用或等待CPU、使用内存空间等系统资源&#xff0c;并独立于其它任务运行。 OpenHarmony 内核中使用一个任务表示一个线程。 OpenHarmony 内核中同优先级进程内的任务统一调度、运…

STM32 map 文件浅析

目录 一、概述二、Section Cross References三、Removing Unused input sections from the image四、Memory Map of the image1、Local Symbols2、全局符号&#xff08;Global Symbols&#xff09; 五、Image Symbol Table六、Image component sizes 一、概述 .map 文件是编译…

【质优价廉】GAP9 AI算力处理器赋能智能可听耳机,超低功耗畅享未来音频体验!

当今世界&#xff0c;智能可听设备已经成为了流行趋势。随后耳机市场的不断成长起来&#xff0c;消费者又对AI-ANC&#xff0c;AI-ENC&#xff08;环境噪音消除&#xff09;降噪的需求逐年增加&#xff0c;但是&#xff0c;用户对于产品体验的需求也从简单的需求&#xff0c;升…

半导体器件制造5G智能工厂数字孪生物联平台,推进制造业数字化转型

半导体器件制造行业作为高科技领域的核心驱动力&#xff0c;正积极探索和实践以5G智能工厂数字孪生平台为核心的新型制造模式。这一创新不仅极大地提升了生产效率与质量&#xff0c;更为制造业的未来发展绘制了一幅智能化、网络化的宏伟蓝图。 在半导体器件制造5G智能工厂中&a…

Java笔试面试题AI答之设计模式(1)

文章目录 1. 简述什么是设计模式 &#xff1f;2. 叙述常见Java设计模式分类 &#xff1f;3. Java 设计模式的六大原则 &#xff1f;4. 简述对 MVC 的理解&#xff0c; MVC 有什么优缺点&#xff1f;MVC 的三个核心部分&#xff1a;MVC 的优点&#xff1a;MVC 的缺点&#xff1a…