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

Linux的文件权限

相关概念

Linux 最优秀的地方之一就在于多人多任务环境。为了让各个使用者有较为保密的文件数据,文件的权限管理尤为重要。

在Linux系统中,每个文件和目录都有一组权限,用于控制谁可以对文件进行读、写、执行操作。权限分为三类用户:

  • 所有者(User):文件的拥有者。
  • 所属组(Group):文件所属的用户组。
  • 其他用户(Others):系統中的其他用户。

权限类型

  • 读(Read, r):可以查看文件内容或列出目录内容。
  • 写(Write, w):可以修改文件内容或在目录中添加、删除文件。
  • 执行(Execute, x):可以运行文件(脚本/程序)或进入目录。

对于写权限有些小问题

  • 文件:是否能编辑文件内容(是否包含删除文件的权限?是否能修改文件名?)
  • 文件夹:是否能在文件夹下创建、删除、复制、移动、重命名(能对当前文件夹重命名吗?)

  • 是否能删除文件:

    • 删除文件实际上是删除目录中的一条指向该文件的链接,而不是直接修改文件内容。
    • 权限要求:删除文件的权限取决于包含该文件的目录的写权限,而不是文件本身的写权限。
  • 是否能修改文件名:

    • 修改文件名(重命名)也是在目录中操作的,属于目录权限而非文件权限。
    • 权限要求:目录需要有写权限才能重命名(即在目录所在的父目录中有写权限)。
  • 是否能在文件夹下创建、删除、复制、移动、重命名:

    • 创建文件或子目录:需要目录的写权限
    • 删除文件或子目录:需要目录的写权限
    • 复制/移动文件:涉及修改目录内容,需目录的写权限(目标目录必须有写权限)。
  • 重命名:

    • 对当前目录下的文件/子目录重命名:需要对所在目录的写权限。
    • 对目录本身重命名:需父目录的写权限。
权限文件内容编辑删除文件重命名文件在目录创建/删除/移动文件目录重命名备注
w (写)由目录权限决定由目录权限决定由父目录权限决定编辑文件内容只需文件的写权限,删除、重命名、创建、删除文件都要目录的写权限

身份介绍

  • owner(文件拥有者)
    文件拥有者可以实现每个用户的隐私权和喜好的工作环境。
    每个用户都可能有自己的私密文件,可以利用文件拥有者的身份设置权限使其他人无法查阅私密文件
  • group(文件所属用户组)
    用户组的最主要功能就是团队开发。
    例如,当多个团队在同一台主机上开发时,每个团队下的用户可以互相修改文件,但是不能修改不是一个团队下用户的文件。
  • others(其他人)
    不属于该文件的文件拥有者和文件所属用户组的用户
    在这里插入图片描述
    在这里插入图片描述

Linux权限介绍

文件权限分配信息如下:
在这里插入图片描述

第一位是文件类型,接下来的字符,三个为一组(读、写、执行)

  • rwx:权限分配中,rwx 是固定顺序不会改变,没有对应权限就要 - 代替
  • -:表示没有对应权限,例如:第三组中 w 权限位置为 - ,表示其他人没有写权限
  • 第一组:文件拥有者的权限
  • 第二组:在文件所属用户组的用户的权限
  • 第三组:非本人,且不在文件所属用户组的其他账号权限
    a.txt 权限说明?
  • 普通文件类型
  • 拥有者:可读写
  • 同组用户:可读写
  • 其他用户:只读
    在这里插入图片描述

权限设置

  • 用法:chmod 选项 权限 文件名

    常用选项:
    R:递归修改,连同目录下所有文件都变更

字母形式

在这里插入图片描述

  • 权限分配对象:
    • u:user,所有者身份 owner
    • g:group,所有者同组用户
    • o:others,其他用户
    • a:all,给所有用户设置权限,默认是所有用户
  • 权限分配方式:
    • +:新增权限
    • -:删除权限
    • =:设置权限

相同权限可以一起设置:sudo chmod u=rwx,go=rw a.txt
在这里插入图片描述

sudo chmod u-x,g-w,o-rw a.txt
在这里插入图片描述

默认给所有用户设置权限:sudo chmod +x a.txt
在这里插入图片描述

数字形式

Linux 文件的基本权限有九个(-rwxrwxrwx),九个权限是三个三个一组的。其中我们可以用数字表示各个权限,权限的分数如下:

  • r:4
  • w:2
  • x:1
  • -:0

每种身份(owner/group/others)的权限就是各自三个权限的分数之和。例如当某个权限为:[-rwxr-xr–] 每种身份的权限分数就是:

  • owner = rwx = 4 + 2 + 1 = 7
  • group = rwx = 4 + 0 + 1 = 5
  • others = rwx = 4 + 0 + 0 = 4
    在这里插入图片描述

在这里插入图片描述
如果一个权限数字中出现2与3的数字,则该权限有不合理的情况。

sudo

sudo可以让管理员(root)事先定义某些特殊命令谁可以执行。
默认只有 root 可以执行 sudo,其他用户可以通过配置文件 /etc/sudoers 进行配置
查看 sudo 配置文件:sudo vim /etc/sudoers 或 visudo

在这里插入图片描述

  • purr ALL=(ALL:ALL) ALL
  • purr:表示用户名,如果是用户组,则可以写成“%组名”
  • ALL:表示允许登录的主机(地址白名单
  • (ALL:ALL):表示以谁的身份执行,ALL表示 root 身份
  • ALL:表示当前用户可以执行的命令,多个命令可以使用 “,” 分割
http://www.lryc.cn/news/573560.html

相关文章:

  • 16_设备树中的remote-endpoint演示基于视频字符设备Linux内核模块
  • python源码:执行pdf合并/分页/图片管理功能
  • 计算机网络课程设计--基于TCP协议的文件传输系统
  • 案例练习二
  • rom定制系列------红米note11 5G版 MTK芯片强解bl锁修复bug 官方系统 面具root批量线刷版
  • 魂斗罗ost 游戏全合集8GB
  • 微服务网关/nacos/feign总结
  • Mybatis-Plus支持多种数据库
  • 使用模板创建uniapp提示未关联uniCloud问题
  • LeapMotion-PhysicalHandsManager 类详解
  • 【后端】负载均衡
  • 怎么让二级域名绑定到wordpesss指定的页面
  • Linux系统基本操作指令
  • C++指针(二)
  • 【算法】【优选算法】优先级队列
  • 跨个体预训练与轻量化Transformer在手势识别中的应用:Bioformer
  • 告别线程爆炸:我如何用 Spring WebFlux 构建一个端到端响应式应用
  • 编程基础:调用访问
  • CSP-S 模拟赛一总结(T1、T2)
  • Odoo 17 Many2one字段内联编辑完整实现方案
  • 2025最新Python 100个常用函数在线体验项目
  • 微处理器原理与应用篇---计算机系统的性能测试
  • python中学物理实验模拟:凸透镜成像和凹透镜成像
  • Spring-MyBatis基本操作
  • 软件工程期末试卷简答题版带答案(共21道)
  • Typora文档另存与图片迁移的一种思路
  • JAVA锁机制:对象锁与类锁
  • 【好用但慎用】Windows 系统中将所有 WSL 发行版从 C 盘迁移到 非系统 盘的完整笔记(附 异常处理)
  • 百度萝卜快跑携4颗禾赛激光雷达进军迪拜,千辆L4无人车开启全球化战略
  • IEC61850 通信协议测试验证方法详解