文件和目录的权限管理

news2024/11/25 23:23:15

定义:

        文件和目录的权限管理在操作系统中至关重要,特别是在多用户环境下,它决定了不同用户对文件和目录的访问和操作权限。


一、基本权限类型及表示方法

        在Linux系统中,文件和目录的权限分为三类:读取权限(read,r)、写入权限(write,w)和执行权限(execute,x)。这些权限适用于三种不同的用户类别:所有者(owner)、所属组(group)和其他用户(others)当然还包括一种:全部用户(all)。

权限的表示方法有两种:

  1. 符号表示法:使用r、w、x字符分别表示读取、写入和执行权限。例如,-rw-r--r--表示一个文件,其所有者有读取和写入权限,所属组和其他用户只有读取权限。
  2. 数字表示法:使用八进制数字来表示权限,其中读(r)=4,写(w)=2,执行(x)=1,没有权限(-)=0。例如,7表示rwx(4+2+1),5表示r-x(4+1)。

二、查看权限

        要查看文件或目录的权限,可以使用ls -l命令。该命令会显示文件或目录的详细权限信息,包括文件类型、权限、所有者、所属组、大小、最后修改时间和名称。

例如,执行ls -l命令后,可能会看到如下输出:

-rwxr-xr-- 1 user group 4096 Mar 10 10:00 file.txt

在这个例子中,-rwxr-xr-- 表示了 file.txt 文件的权限。这个字符串可以分为四部分:

  1. 第一个字符 - 表示这是一个文件(如果是 d,则表示目录 ,b:表示块设备如硬盘,c:表示字符设备文件如鼠标、键盘)。
  2. 接下来的三个字符 rwx 表示文件所有者的权限(读(read)、写(write)、执行(execute))。
  3. 中间的三个字符 r-x 表示文件所属组的权限(读、不可写、执行)。
  4. 最后三个字符 r-- 表示其他用户的权限(读、不可写、不可执行)。

权限的类型

  • 读权限(r): 允许读取文件内容或列出目录内容。
  • 写权限(w): 允许修改文件内容或修改目录(创建、删除文件)。
  • 执行权限(x): 对于文件,允许运行该文件;对于目录,允许进入目录。

注意事项:对文件的写操作是否可以删除文件要看其文件所在的目录是否可以有可写的操作,相当于理解为:文件写的操作对应的是内容,而目录写的操作对应的是文件


三、修改权限

使用 chmod 命令可以更改文件或目录的权限。chmod 有两种使用方式:符号模式和绝对模式。

符号模式

在符号模式下,使用以下符号来表示权限:

  • u: 所有者
  • g: 组
  • o: 其他用户
  • a: 所有用户(所有者、组和其他用户)

操作符可以是:

  • +: 添加权限
  • -: 移除权限
  • =: 设置确切的权限

例子:

  • chmod u+x file.txt:给文件所有者添加执行权限。
  • chmod g-w file.txt:从文件所属组移除写权限。
  • chmod o=r file.txt:设置其他用户的权限为只读。

绝对模式

        在绝对模式下,使用三位八进制数字来表示权限。每类用户(所有者、组、其他)都有一个数字,范围从0到7。

  • 0: 无权限
  • 1: 执行权限(x)
  • 2: 写权限(w)
  • 3: 写和执行权限(wx)
  • 4: 读权限(r)
  • 5: 读和执行权限(rx)
  • 6: 读和写权限(rw)
  • 7: 读、写和执行权限(rwx)

例子:

  • chmod 755 file.txt:设置所有者拥有读、写、执行权限,组和其他用户拥有读和执行权限。
  • chmod 644 file.txt:设置所有者拥有读、写权限,组和其他用户只有读权限。

目录权限的特殊性

目录的权限具有特殊性,因为它们控制的是对目录内容的访问,而不是目录本身。例如:

  • 如果一个用户对一个目录有执行权限,那么他可以进入该目录(cd 命令)。
  • 如果一个用户对一个目录有写权限,那么他可以在该目录中创建或删除文件,即使他没有对文件的写权限。

通过以上方式,管理员可以精确地控制用户和组对文件和目录的访问权限,确保系统的安全性和数据的完整性。


使用chown命令修改所有者和所属组

    chown命令用于修改文件或目录的所有者或所属组。它可以单独修改所有者或所属组,也可以同时修改两者。

  • 用法:chown  用户名  文件名
  • 修改所有者:chown newuser file.txt将文件file.txt的所有者更改为newuser
  • 修改所属组:chown :newgroup file.txt将文件file.txt的所属组更改为newgroup
  • 同时修改所有者和所属组:chown newuser:newgroup file.txt将文件file.txt的所有者更改为newuser,所属组更改为newgroup
  • 修改目录的所有者:chown -R 用户名 目录名

使用chgrp命令修改所属组

    chgrp命令只用于更改文件或目录的所属组。

  • 用法:chgrp 组名 文件名
  • 例如:chgrp newgroup file.txt将文件file.txt的所属组更改为newgroup
  • 修改目录的组名:chgrp -R 组名 目录名

四、特殊权限

除了基本权限外,Linux还提供了三种特殊权限:SUID、SGID和sticky bit。

  1. SUID(Set User ID):文件以文件所有者的权限执行,而非执行者的权限。通常用于某些系统程序。例如,chmod u+s file.sh为脚本file.sh设置SUID权限。
  2. SGID(Set Group ID):目录内新建的文件继承该目录的组,而不是创建者的组。例如,chmod g+s mydir为目录mydir设置SGID权限。
  3. sticky bit:只允许文件所有者或root删除该目录下的文件。常用于/tmp目录。例如,chmod +t mydir为目录mydir设置sticky bit权限。

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

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

相关文章

谷歌-BERT-第一步:模型下载

1 需求 需求1:基于transformers库实现自动从Hugging Face下载模型 需求2:基于huggingface-hub库实现自动从Hugging Face下载模型 需求3:手动从Hugging Face下载模型 2 接口 3.1 需求1 示例一:下载到默认目录 from transform…

南邮-软件安全--第一次实验报告-非爆破计算校验值

软件安全第一次实验报告,切勿直接搬运(改改再交) 实验要求 1、逆向分析目标程序运行过程,找到程序的关键校验点; 2、以非爆破的方式正确计算crackme的校验值; 内容 使用x32dbg对文件进行分析 打开文件…

思迈特:在AI时代韧性增长的流量密码

作者 | 曾响铃 文 | 响铃说 “超级人工智能将在‘几千天内’降临。” 最近,OpenAI 公司 CEO 山姆奥特曼在社交媒体罕见发表长文,预言了这一点。之前,很多专家预测超级人工智能将在五年内到来,奥特曼的预期,可能让这…

构建可扩展的高校学科竞赛平台:SpringBoot案例分析

2相关技术 2.1 MYSQL数据库 MySQL是一个真正的多用户、多线程SQL数据库服务器。 是基于SQL的客户/服务器模式的关系数据库管理系统,它的有点有有功能强大、使用简单、管理方便、安全可靠性高、运行速度快、多线程、跨平台性、完全网络化、稳定性等,非常…

高效管理学科竞赛:SpringBoot平台的创新应用

1系统概述 1.1 研究背景 随着计算机技术的发展以及计算机网络的逐渐普及,互联网成为人们查找信息的重要场所,二十一世纪是信息的时代,所以信息的管理显得特别重要。因此,使用计算机来管理高校学科竞赛平台的相关信息成为必然。开发…

Zookeeper快速入门:部署服务、基本概念与操作

文章目录 一、部署服务1.下载与安装2.查看并修改配置文件3.启动 二、基本概念与操作1.节点类型特性总结使用场景示例查看节点查看节点数据 2.文件系统层次结构3.watcher 一、部署服务 1.下载与安装 下载: 一定要下载编译后的文件,后缀为bin.tar.gz w…

算法:525.连续数组

题目 链接:leetcode 思路分析(前缀和) 首先介绍一个小技巧 在处理二进制数组的时候,因为数组里面只有0和1,我们可以将所有的0变成-1 这个时候1和-1之间就可以产生很多抵消,有利于处理数组。 在该题中&am…

2.2.1 绘制Canvas路径 - 绘制线条

文章目录 1. 绘制线条2. 绘制具有不同结束线帽的线条3. 绘制向阳花图形 今天我们要一起探讨的是如何使用HTML5的Canvas元素来绘制各种图形。Canvas提供了一个强大的图形绘制API,使我们能够在网页上绘制出各种复杂的图形和动画。接下来,我将通过几个实战示…

从Naive RAG到Agentic RAG:基于Milvus构建Agentic RAG

检索增强生成(Retrieval-Augmented Generation, RAG)作为应用大模型落地的方案之一,通过让 LLM 获取上下文最新数据来解决 LLM 的局限性。典型的应用案例是基于公司特定的文档和知识库开发的聊天机器人,为公司内部人员快速检索内部…

如何在数仓中处理缓慢变化维度(SCD)

在数据仓库中,处理缓慢变化维度(SCD,Slowly Changing Dimension)是一个非常常见且重要的问题。为了保证数据的完整性和准确性,我们通常会采取不同的策略来处理维度表中的数据变化。SCD的核心解决方案是通过不同类型的历…

Run the FPGA VI 选项的作用

Run the FPGA VI 选项的作用是决定当主机 VI 运行时,FPGA VI 是否会自动运行。 具体作用: 勾选 “Run the FPGA VI”: 当主机 VI 执行时,如果 FPGA VI 没有正在运行,系统将自动启动并运行该 FPGA VI。 这可以确保 FPG…

使用Hugging Face中的BERT进行标题分类

使用Hugging Face中的BERT进行标题分类 前言相关介绍出处基本原理优点缺点 前提条件实验环境BERT进行标题分类准备数据集读取数据集划分数据集设置相关参数创建自己DataSet对象计算准确率定义预训练模型定义优化器训练模型保存模型测试模型 参考文献 前言 由于本人水平有限&…

视频文案提取

视频文案提取 通义听悟 🏆优点 自动提取音视频关键词、总结、提炼视频大纲、中英双字幕可以识别不同声音进行文案区分,还支持直接AI改写提取的文案旁边还有AI助手帮助你回答问题和对知识举一反三相关视频介绍👉原地封神!录音、…

拆解学习【反激-PD-氮化镓】(一)

小米67W桌面快充插座: 反激基本拓扑: 商用场景下,这个拓扑进行了如下优化: 1.Q22换成了氮化镓开关管,当然需要适配的能驱动氮化镓的控制芯片 2.D21二极管换成了MOS管。 3.由于是AC220V输入,设计了整流桥…

在Centos中安装、配置与使用atop监控工具

目录 前言1. atop工具的安装1.1 atop简介1.2 atop的安装步骤 2. 安装并配置netatop模块2.1 安装内核开发包2.2 安装所需依赖2.3 下载netatop2.4 解压并安装netatop2.5 启动netatop 3. atop的配置与使用3.1 配置监控周期与日志保留时间3.2 设置定时任务生成日志3.3 启动与查看at…

鸿蒙开发之ArkUI 界面篇 三十四 容器组件Tabs 自定义TabBar

如果需要修改Tabs的图标和文字之间的距离我们该怎么办呢?好在tabBar是联合类型,提供了自定义tabBar,这里就可以显示特殊图标或者是文字图片,如下图: 这里定义了myBuilder的函数,用了 来修饰,没有…

联合查询(详细篇)

实际开发中往往数据来自不同的表 所以需要多表联合查询 多表查询是对多张表的数据取笛卡尔积 笛卡尔积 什么是笛卡尔积呢? 简单来说 笛卡尔积是两个表的乘积 结果集中的每一行都是第一个表的每一行与第二个表的每一行的组合 简单理解: 假设有两个表…

复位电路的亚稳态

复位导致亚稳态的概念: 同步电路中,输入数据需要与时钟满足setup time和hold time才能进行数据的正常传输(数据在这个时间段内必须保持不变:1不能变为0,0也不能变为1),防止亚稳态; …

FPGA实现PCIE采集电脑端视频缩放后转千兆UDP网络输出,基于XDMA+PHY芯片架构,提供3套工程源码和技术支持

目录 1、前言工程概述免责声明 2、相关方案推荐我已有的PCIE方案我这里已有的以太网方案本博已有的FPGA图像缩放方案 3、PCIE基础知识扫描4、工程详细设计方案工程设计原理框图电脑端视频PCIE视频采集QT上位机XDMA配置及使用XDMA中断模块FDMA图像缓存纯Verilog图像缩放模块详解…

前端接口报500如何解决 | 发生的原因以及处理步骤

接口500,通常指的是服务器内部错误(Internal Server Error),是HTTP协议中的一个标准状态码。当服务器遇到无法处理的错误时,会返回这个状态码。这种错误可能涉及到服务器配置、服务器上的应用程序、服务器资源、数据库…