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

linux013之文件和目录的权限管理

用户、组、文件目录的关系:

  简介:用户和组关联,组合文件目录关联,这样就实现了用户对文件的权限管理。首先来看一下,一个文件或目录的权限是怎么查看的,ls -l, 如下,这个信息怎么看呢?

    首先看第一部分,“dr-xr-xr-x.” 这个是权限说明, 这个字母各代表什么权限下面会说明。这个数字 5 和字母一样,也是权限说明,只不过一个是用字母表一个是用数字表示。

    第二部分:权限信息里有两个“root”,首先来看第一个 “root” ,这个代表的是文件的所有者,也就是这个文件的拥有者,这是一个用户。

    第三部分:再来看看第二个“root”,这个代表的是文件的所在组,这是一个组别,为什么组别和用户同名呢?因为创建用户时没有指定组,所以系统自动创建了一个组给用户

[root@localhost /]# ls -l
dr-xr-xr-x.   5 root root 4096 Jul 23  2021 boot

文件与组的关系:

  强调1:用户与组。每一个用户都至少属于一个组,用户不能与组存在,一个用户可以属于多个组,组概念相当于角色。

  强调2:文件与组。每一个文件或目录也必须属于一个组,而且也只能属于一个组。文件和目录能通过这个组来进行权限管理,当用户存在于这个组, 则用户就有这个文件或目录的权限

  在文件或者目录中来看, linux系统中所哟的用户分为三类:

    所有者:默认情况下,文件或目录的所有者属于创建者,可以修改

    同组用户:同一个权限组下的其它用户

    其它组用户:既不是文件所有者,也不是同组用户。

  ls -l :查看文件的所有者和所在组信息。如下所显示,“ dr-xr-xr-x. ”这个是权限说明,“ root ”这个表示文件所有者, 第二个“ root ”表示文件所在组

[root@localhost /]# ls -l
dr-xr-xr-x.   5 root root 4096 Jul 23  2021 boot

  chown 新所有者 文件名:修改文件或目录所有者。修改权限之前, 当前用户必须对文件有修改权限才行。

  chown 新所有者:新所在组 文件名: 同时修改文件或目录(所有者)和(所在组)。

    注意:修改目录所有者或所在组时, 目录底下的内容权限默认下是不会跟着改的。

  chown -R 新所有者:新所在组 文件名:   递归修改目录所有者和所在组。

  chgrp 新组名 文件名 :修改文件或目录所在组

文件和目录的三种权限:

  对于文件而言:

    读(Read):可以读取、查看文件内容,比如:cat、more、less、head、tail等

    写(Write):可以修改文件的内容,比如:vi和vim等

    执行(Execute):可以执行该文件,运行该文件,如:.sh文件,有执行权限才能去执行。

  对于目录而言:

    读:可以读取目录里面的文件,比如:ls

    写:可以修改目录中内容,比如:创建在目录下创建文件、删除文件、重命名等

    执行:可以进入该目录,比如:cd等。

文件和目录的权限控制:

  在linux中,文件权限管理分别使用r(读)、w(写)、x(执行)来对文件权限的表示

    rwx:表示对文件拥有读、写、执行权限

    r-x:表示对文件拥有读、执行权限。

    r--:表示对文件拥有读权限。

    ---:表示对文件没有权限。这里需要注意的是,如果没有某一个权限,则用-来表示。

  在linux中,任何一个文件和目录都有三种部分权限:

    第一部分:所有者权限。如下图,从2位到4位,就是“所有者”对该文件所对应的权限,读和写

    第二部分:同组用户权限。如下图,从5位到7位,就是“同组用户” 对该文件所对应的权限。

    第三部分:其它组用户权限。如下图,从8位到10位,就是 “其它组用户” 对该文件所对应的权限。

     补充:那第1位的 - 代表的什么?-代表的是文件,如果是 d 代表的是目录

修改文件或目录的权限:

  用+、-、=分别表示给指定用户组增加、减少、设置权限

  用r、w、x分表读、写、执行权限

  用u、g、o、a分别表示给所有者、同组用户、其它组用户、所有组用户修改权限。 

  举例示例:

    chmod g-w,o+w 文件名:表示给所有者增加写权限,给其它组用户减少写权限。

    chmod g=rwx 文件名:表示给所有者增加读、写、执行权限。

    chmod a-r 文件名:表示给所有组用户剔除读权限。

通过数字来修改文件或目录的权限:

  每一个权限除了可以用r、w、x来表示,也可以用数字4、2、1来表示是,它们所对应的权限就是r、w、x。

  每一个组别的权限,也可以用数字之和来表示,怎么理解呢? 假如说所有组、同组用户、其他组用户的权限分别是rwx、r-x、---,可以看到它们的权限分别是读写执行、读和执行、无权限。这时候可以用数字之和来表示7、5、0。结合上面讲的数字权限,相信你已经看出规律了,那来看一下他们是怎么使用的。

  举例示例:

    chmod 777 文件名:表示给所有者、同组用户、其它组用户都增加读、写、执行权限

    chmod 753 文件名:表示给所有者、同组用户、其它组用户分别修改权限为读写执行、读执行、写执行权限。

    chmod 000 文件名:表示给所有用户组的权限都修改为无权限。

相关文章:

linux013之文件和目录的权限管理

用户、组、文件目录的关系: 简介:用户和组关联,组合文件目录关联,这样就实现了用户对文件的权限管理。首先来看一下,一个文件或目录的权限是怎么查看的,ls -l, 如下,这个信息怎么看呢…...

设计模式之状态模式

什么是状态模式 状态模式是指允许一个对象在其内部状态改变时改变他的行为,对象看起来似乎改变了整个类。     状态模式将一个对象在不同状态下的不同行为封装在一个个状态类中,通过设置不同的状态对象可以让环境对象拥有不同的行为,而状…...

XQuery 选择 和 过滤

XML实例文档 我们将在下面的例子中继续使用这个 "books.xml" 文档(和上面的章节所使用的 XML 文件相同)。 在您的浏览器中查看 "books.xml" 文件。 选择和过滤元素 正如在前面的章节所看到的,我们使用路径表达式或 FL…...

室友打了一把王者的时间,我理清楚了grep,find,管道|,xargs的区别与联系,用的时候不知道为什么要这样用

目录 问题引入 find和grep的基本区别 xargs命令 Linux命令的标准输入 vs 命令行参数 举例总结 问题引入 在自己做项目的过程中,想使用linux命令统计下一个目录下html文件的数量,在思考应该使用grep还是find去配合wc指令统计文件数量,后来…...

python 刷题时常见的函数

collections.OrderedDict 1. move_to_end() move_to_end() 函数可以将指定的键值对移动到最前面或者最后面,即最左边或最右边 。 2. popitem() popitem()可以完成元素的删除操作,有一个可选参数last(默认为True),…...

Python之列表推导式和列表排序

Python中的列表推导式,是小编比较喜欢的一种,他能大大减少你的代码量来得到你想要的结果,下面说说列表中常用的几种推导式 列表排序 Python开发中会经常用到排序操作,这里提供两种方式供大家参考,对象的sort()方法和…...

力扣(LeetCode)240. 搜索二维矩阵 II(C++)

题目描述 枚举 枚举整个矩阵&#xff0c;找到等于 target 的元素&#xff0c;则 return true &#xff0c;否则 return false。 class Solution { public:bool searchMatrix(vector<vector<int>>& matrix, int target) {int n matrix.size(), m matrix[0]…...

golang defer

文章目录延迟函数的参数在defer语句出现时就已经确定下来了延迟函数没有入参时&#xff0c;延迟函数体内的变量会受到影响延迟函数 *可以* 修改主函数的 *具名* 返回值延迟函数 *无法* 修改主函数的 *匿名* 返回值defer会把声明的 延迟函数以及 函数的入参放到栈上&#xff0c;…...

【Java】线程的死锁和释放锁

线程死锁是线程同步的时候可能出现的一种问题 文章目录1. 线程的死锁1.1 基本介绍1.2 应用案例2. 释放锁2.1 下面的操作会释放锁2.2 下面的操作不会释放锁1. 线程的死锁 1.1 基本介绍 多个线程都占用了对方的锁资源&#xff0c;但不肯相让&#xff0c;导致了死锁&#xff0c;…...

如何使用断点续传上传大文件

概念 大文件上传的需求介绍 不管怎样简单的需求&#xff0c;在量级达到一定层次时&#xff0c;都会变得异常复杂。 文件上传简单&#xff0c;文件变大就复杂 上传大文件时&#xff0c;以下几个变量会影响我们的用户体验 服务器处理数据的能力请求超时网络波动 上传时间会变长…...

【图神经网络】图拉普拉斯滤波器如何实现全通、低通、高通滤波

【图神经网络】图拉普拉斯滤波器如何实现全通、低通、高通滤波 文章目录【图神经网络】图拉普拉斯滤波器如何实现全通、低通、高通滤波1. 前言2. 符号说明3. 三种滤波3.1 全通滤波3.2 低通滤波3.2.1 平滑信号分析3.2.2 广义拉普拉斯平滑滤波器3.3 高通滤波4. 总结1. 前言 GCN&…...

python操作mysql数据库详解

使用Python操作MySQL数据库 MySQL是一种关系型数据库管理系统&#xff0c;它可以用来存储和管理大量的数据。之前介绍了大部分主流数据库&#xff0c;今天将介绍如何使用Python来操作MySQL数据库。 安装MySQL 首先&#xff0c;我们需要安装MySQL服务器&#xff0c;可以从MyS…...

netty群聊系统

1设计思路&#xff1a;启动一个服务端&#xff0c;多个客户端第一个客户端启动时&#xff0c;会告诉服务器上线了第二个客户端启动时&#xff0c;告诉服务器上线&#xff0c;并且通知第一个启动的客户端第三个客户端启动时&#xff0c;告诉服务器上线&#xff0c;并且通知第一个…...

Android 初代 K-V 存储框架 SharedPreferences,旧时代的余晖?

本文已收录到 AndroidFamily&#xff0c;技术和职场问题&#xff0c;请关注公众号 [彭旭锐] 提问。 前言 大家好&#xff0c;我是小彭。 SharedPreferences 是 Android 平台上轻量级的 K-V 存储框架&#xff0c;亦是初代 K-V 存储框架&#xff0c;至今被很多应用沿用。 有的…...

在windows中使用tomcat搭建Jenkins

1、 准备环境&#xff1a;JDK JDK官网下载&#xff1a;https://download.oracle.com/java/19/latest/jdk-19_windows-x64_bin.msi 2、 tomcat包 tocat官网下载&#xff1a;https://tomcat.apache.org/download-90.cgi 3、 Jenkins.war包 Jenkins官网下载&#xff1a;https://mi…...

Linux系统

linux系统 世界上最重要的服务器端操作系统。 创建新目录 mkdir app mkdir -m 目录权限 目录名 创建有权限的目录名。 创建一个空白文件 touch app.txt创建一个文件。 cat创建一个文件。 vi/vim创建一个文件。 nano创建一个文件。 truncate创建一个文件。 pwd查看当前目录。 rm…...

Mel Frequency Cepstral Coefficients (MFCCs)

wiki里说 在声音处理中&#xff0c;梅尔频率倒谱( MFC ) 是声音的短期功率谱的表示&#xff0c;基于非线性梅尔频率标度上的对数功率谱的线性余弦变换。 倒谱和MFC 之间的区别在于&#xff0c;在 MFC 中&#xff0c;频带在梅尔尺度上等距分布&#xff0c;这比正常频谱中使用的线…...

第七讲---贪心(上课)

1.股票买卖 一、贪心 考虑一种方案&#xff0c;在每次上升的前一天购入股票&#xff0c;并在上升后的当天卖出的方案 if (w[i] > w[i - 1])res w[i] - w[i - 1];接下来证明该贪心思路得出的方案即是最优解。 &#xff08;1&#xff09;证明贪心解 ≥ 最优解&#xff1a; …...

计算机如何思考与图灵完备

图灵完备是针对一套数据操作规则而言的概念,数据操作规则可以是一门编程语言,也可以是计算机实现里面的指令集,比如C/C++是图图灵完备的,通用CPU也是图灵完备的,但是GPU却不一定是图灵完备的。说白了图灵完备定义了一套规则,当这套规则可以实现图灵迹模型里的全部功能时,…...

惠普LaserJet M1005 MFP报错b2

故障现象: 惠普LaserJet M1005 MFP开机后直接报b2错误; 检测维修: 故障大意是:机器的硬件可能出现点突变,此问题建议联系当地维修中心进行处理。...

装饰模式(Decorator Pattern)重构java邮件发奖系统实战

前言 现在我们有个如下的需求&#xff0c;设计一个邮件发奖的小系统&#xff0c; 需求 1.数据验证 → 2. 敏感信息加密 → 3. 日志记录 → 4. 实际发送邮件 装饰器模式&#xff08;Decorator Pattern&#xff09;允许向一个现有的对象添加新的功能&#xff0c;同时又不改变其…...

Xshell远程连接Kali(默认 | 私钥)Note版

前言:xshell远程连接&#xff0c;私钥连接和常规默认连接 任务一 开启ssh服务 service ssh status //查看ssh服务状态 service ssh start //开启ssh服务 update-rc.d ssh enable //开启自启动ssh服务 任务二 修改配置文件 vi /etc/ssh/ssh_config //第一…...

django filter 统计数量 按属性去重

在Django中&#xff0c;如果你想要根据某个属性对查询集进行去重并统计数量&#xff0c;你可以使用values()方法配合annotate()方法来实现。这里有两种常见的方法来完成这个需求&#xff1a; 方法1&#xff1a;使用annotate()和Count 假设你有一个模型Item&#xff0c;并且你想…...

【C++】纯虚函数类外可以写实现吗?

1. 答案 先说答案&#xff0c;可以。 2.代码测试 .h头文件 #include <iostream> #include <string>// 抽象基类 class AbstractBase { public:AbstractBase() default;virtual ~AbstractBase() default; // 默认析构函数public:virtual int PureVirtualFunct…...

redis和redission的区别

Redis 和 Redisson 是两个密切相关但又本质不同的技术&#xff0c;它们扮演着完全不同的角色&#xff1a; Redis: 内存数据库/数据结构存储 本质&#xff1a; 它是一个开源的、高性能的、基于内存的 键值存储数据库。它也可以将数据持久化到磁盘。 核心功能&#xff1a; 提供丰…...

Unity中的transform.up

2025年6月8日&#xff0c;周日下午 在Unity中&#xff0c;transform.up是Transform组件的一个属性&#xff0c;表示游戏对象在世界空间中的“上”方向&#xff08;Y轴正方向&#xff09;&#xff0c;且会随对象旋转动态变化。以下是关键点解析&#xff1a; 基本定义 transfor…...

渗透实战PortSwigger靶场:lab13存储型DOM XSS详解

进来是需要留言的&#xff0c;先用做简单的 html 标签测试 发现面的</h1>不见了 数据包中找到了一个loadCommentsWithVulnerableEscapeHtml.js 他是把用户输入的<>进行 html 编码&#xff0c;输入的<>当成字符串处理回显到页面中&#xff0c;看来只是把用户输…...

【堆垛策略】设计方法

堆垛策略的设计是积木堆叠系统的核心&#xff0c;直接影响堆叠的稳定性、效率和容错能力。以下是分层次的堆垛策略设计方法&#xff0c;涵盖基础规则、优化算法和容错机制&#xff1a; 1. 基础堆垛规则 (1) 物理稳定性优先 重心原则&#xff1a; 大尺寸/重量积木在下&#xf…...

第八部分:阶段项目 6:构建 React 前端应用

现在&#xff0c;是时候将你学到的 React 基础知识付诸实践&#xff0c;构建一个简单的前端应用来模拟与后端 API 的交互了。在这个阶段&#xff0c;你可以先使用模拟数据&#xff0c;或者如果你的后端 API&#xff08;阶段项目 5&#xff09;已经搭建好&#xff0c;可以直接连…...

DAY 26 函数专题1

函数定义与参数知识点回顾&#xff1a;1. 函数的定义2. 变量作用域&#xff1a;局部变量和全局变量3. 函数的参数类型&#xff1a;位置参数、默认参数、不定参数4. 传递参数的手段&#xff1a;关键词参数5 题目1&#xff1a;计算圆的面积 任务&#xff1a; 编写一…...