首页 > 系统相关 >一文了解 Linux 系统的文件权限管理

一文了解 Linux 系统的文件权限管理

时间:2024-10-13 17:20:52浏览次数:9  
标签:文件 执行 一文 用户 Linux 权限 所有者 读取

文章目录

引入

在Linux操作系统中,我们想查看我们对文件拥有哪些权限时,可以在终端键入ls -lll命令,终端会输出当前路径下的文件信息,如文件名称、权限信息、文件所有者和所属组等信息。例如:

image-20241011213340644

图中类似 -rw-r--r-- 的字符串清晰地展示了对应文件的权限信息,包括用户、组和其他用户的读、写和执行权限。因此,理解这些权限的含义以及如何进行管理,我们就可以通过控制文件的访问权限来确保数据的安全性和完整性。

Linux文件权限模型

Linux系统中的文件权限主要分为三种:读取(Read)、写入(Write)、执行(Execute)。每个文件都有一个所有者,称为用户(User),用户对其文件拥有特定的权限,能够决定其他人(Others)可以访问或修改这些文件;用户也可以被组织成组,组内的成员可以共享特定的文件访问权限,每个用户可以属于一个或多个用户组(Group)

每种类型的用户都有读(r)、写(w)和执行(x)三种文件权限。文件所有者是创建文件或目录的用户,拥有完全的控制权;文件所属组是一组用户的集合,共享相同的权限;其他用户则是系统中除文件所有者和所属组之外的所有用户。

查看文件权限

我们可以使用ls -lll命令查看文件和目录的详细信息,包括文件权限:

  • 查看指定文件 file.txt 的详细信息:

    ls -l file.txt
    
  • 使用ls -l命令查看当前目录下所有文件的信息:

    ls -l
    
  • 使用ll命令查看当前目录下所有文件的信息:

    ll
    

权限信息解析

Linux系统文件的读取、写入、执行三种权限分别使用r,w,x表示:

权限类型符号表示描述
读取r允许用户查看文件内容或列出目录中的文件
写入w允许用户修改文件内容或在目录中添加、删除文件
执行x允许用户执行文件(如果是可执行程序)或访问目录

Linux 使用10位字符表示文件的权限信息:

5c59d370974eb107062370a4cda6fc95

第1位用于标识文件类型(如普通文件、目录);后9位表示文件权限,分为三组,每组三个字符,从左到右依次对应所有者、用户组及其他用户对文件所拥有的操作权限。详细解析对应如下表:

下标含义说明
1文件类型- | d | l文件类型(-:普通文件,d:目录,l:符号链接)
2所有者权限r | -r:所有者拥有读取权限;-:所有者无读取权限
3w | -w:所有者拥有写入权限;-:所有者无写入权限
4x | -x:所有者拥有执行权限;-:所有者无执行权限
5组用户权限r | -r:组用户拥有读取权限;-:组用户无读取权限
6w | -w:组用户拥有写入权限;-:组用户无写入权限
7x | -x:组用户拥有执行权限;-:组用户无执行权限
8其他用户权限r | -r:其他用户拥有读取权限;-:其他用户无读取权限
9w | -w:其他用户拥有写入权限;-:其他用户无写入权限
10x | -x:其他用户拥有执行权限;-:其他用户无执行权限

执行 ll 命令后,终端输出结果的格式通常如下:

image-20241013145609082

从左到右,这一行信息可以分解为以下几个部分:

属性说明
文件类型和权限-rw-rw-rw-表示这是一个普通文件,拥有读、写、执行权限
硬链接数1表示链接到该文件的硬链接数量为1
文件所有者root表示文件的创建者或所有者为 root 用户
文件所属组root表示与该文件关联的用户组为 root 组
文件大小664以字节为单位显示文件的大小
最后修改时间10月 8 14:06表示文件最后一次修改的日期和时间
文件名compara_card.sh表示该文件的名称为compara_card.sh

上述示例中的 -rw-rw-rw- 的含义如下:

  • 第一个字符-表示这是一个普通文件(如果是d则表示目录)。
  • 接下来的三个字符rw-表示文件所有者的权限:r表示可读,w表示可写,-表示没有执行权限。
  • 中间的三个字符rw-表示同组用户的权限,意义与所有者相同。
  • 最后三个字符rw-表示其他用户的权限,也同样表示可读和可写,但没有执行权限。

即该文件允许所有用户读取和写入,但不允许执行。

修改文件权限

Linux 修改文件和目录的权限需要使用 chmod 命令。而权限的设置有两种方式:符号模式八进制数字模式

符号模式

符号模式使用用户类型(u、g、o、a)和权限(r、w、x)来修改文件和目录的权限,格式为:

chmod [ugoa][+-=][rwx] file
  • [ugoa]:用户类别

    用户类型符号表示说明
    所有者u文件的创建者
    用户组g与文件所有者同组的用户
    其他用户o不属于文件所有者或同组用户的所有其他用户
    所有用户au, g, o 的组合,即系统中的所有用户
  • [±=]:操作符

    操作符描述
    +增加权限
    -删除权限
    =设置权限(仅指定的权限有效)
  • [rwx]:权限类型

    符号表示描述
    r读取权限
    w写入权限
    x执行权限

修改用户权限示例如下:

  1. 给文件所有者增加执行权限:

    chmod u+x file
    
  2. 从同组用户中删除写权限:

    chmod g-w file
    
  3. 将其他用户的权限设置为只读:

    chmod o=r file
    

八进制数字模式

image-20241011210602511

八进制数字模式的权限数值由三位八进制数字组成,每位分别代表不同的用户类别。即:

  • 第一位:文件所有者的权限
  • 第二位:同组用户的权限
  • 第三位:其他用户的权限

每一位八进制数字又拆分为三个二进制数字表示对应的权限(r、w、x),三位二进制数字可以表示不同的权限组合:

权限组合二进制八进制权限描述
无权限0000不允许任何操作
只执行(x)0011仅允许执行
只写(w)0102仅允许修改
写+执行(wx)0113允许修改和执行
只读(r)1004仅允许读取
读+执行(rx)1015允许读取和执行
读+写(rw)1106允许读取和修改
读+写+执行(rwx)1117允许读取、修改和执行

例如,运行以下命令将权限设置为754

chmod 754 example.txt
  • 第一位7(二进制111):文件所有者具有读、写和执行权限。
  • 第二位5(二进制101):同组用户具有读和执行权限。
  • 第三位4(二进制100):其他用户具有读权限。

标签:文件,执行,一文,用户,Linux,权限,所有者,读取
From: https://blog.csdn.net/qq_20185737/article/details/142900851

相关文章

  • 如何在实体机安装并使用Archlinux
    最近家里电脑蓝屏死机导致数据丢失,反正已经没有风险了,就自己装了个Arch,顺便更新一篇博客在安装ArchLinux之前,请及时备份数据,以免数据丢失Part1刻录安装盘如果你在虚拟机安装,可以省略这一步从下载链接下载rufus从清华源下载archlinux打开软件,选项保持默认,设备选择你的U盘......
  • 【Ubuntu】“Linux版PhotoShop”绘图软件的安装和汉化
    【Ubuntu】“Linux版PhotoShop”绘图软件的安装和汉化零、前言最近换了Linux系统,但是写教程做PPT的时候还是得用到绘图软件,上网一查,总结对比之后发现Krita比较好用,故此讲解一下如何安装和汉化Krita。壹、安装安装很简单,按快捷键Ctrl+Alt+T,打开bash,输入如下命令(换国内镜像源会......
  • Linux系统:初识
     Linux系统中的小知识点        1.文件大小不等于文件内容大小         这一点在windows系统中也一样如图所示上面的大小仅仅表示该文档内容的大小而并非该为件的大小。文件还包括时间,位置,大小等的属性文件=文件内容+文件属性 ......
  • 部署Ollama(在LInux上进行部署)
    1.介绍Ollama:是一款旨在简化大型语言模型本地部署和运行过程的开源软件。网址:OllamaOllama提供了一个轻量级、易于扩展的框架,让开发者能够在本地机器上轻松构建和管理LLMs(大型语言模型)。通过Ollama,开发者可以访问和运行一系列预构建的模型,或者导入和定制自己的模型,无需关注......
  • linux练习题(二)
    习题练习前预备知识(如下图):##linux练习题(二)习题以及参考答案1、将/etc/passwd拷贝到/home下并更名为test。cp/etc/passwd/home/test2、在/tmp下建立test1到test9父子级目录,mkdir-p/tmp/test1/test2/test3/test4/test5/test6/test7/test8/test9如果说该条命令不符......
  • linux从入门到精通-第一章
    提示:本文下载安装应用默认连接都是windows操作系统。文章目录linux介绍一、操作系统的概述1.操作系统的作用2:常见的操作系统二、初识linux1.linux的诞生2:linux的内核三:虚拟机介绍与安装1:VMwareworkStation虚拟化软件2:VMware上安装linux四:远程连接linux1:图形化和......
  • 【大数据技术基础 | 实验二】Linux基础:常用基本命令和文件操作
    文章目录一、实验目的二、实验要求三、实验环境四、常用基本命令1、验证cd和pwd命令2、验证ls命令3、验证mkdir命令4、验证cp、mv和rm命令五、Linux文件操作1、验证touch命令2、验证cat命令3、验证more命令六、实验心得一、实验目的学会linux常用命令(cd,ls,pwd......
  • Linux 查看后台任务
    在Linux中,`jobs`和`bg`命令通常用于管理shell会话中的后台任务。下面是对这两个命令的详细解释: ###`jobs`命令 `jobs`命令用来列出当前终端会话中所有的作业(jobs)。这些作业包括前台运行的任务和后台运行的任务。当你在一个shell会话中执行一个命令,并且想让它......
  • Linux下C++程序瘦身
    目录一.前言二.如何瘦身三.如何读取调试信息文件四.其他一.前言我们知道,C++程序如果带着调试信息的话会比较大,所以一般发布版本都会去掉调试信息,但是我们又希望如果程序崩溃了可以使用core转储文件进行调试,如果不带调试信息就不能方便的进行调试,那要怎么办呢,这篇文章......
  • 25个Linux系统性能调优技巧
    大家好,我是V哥。Linux系统性能调优是一个多层次的过程,涉及内核参数调整、硬件配置优化、应用程序调整等多个方面。以下是25个详细的Linux系统性能调优技巧,帮助你提高系统的整体性能。1.调整swappiness参数技巧:减少系统对交换分区的依赖,提升内存使用效率。操作:将/proc/s......