linux中如何修改文件的权限和拥有者所属组

目录标题

  • chmod指令
  • 八进制形式权限修改
  • 文件拥有者所属组的修改
  • umask有关内容

chmod指令

chmod指令可以用来修改人员的权限其形式如下:
在这里插入图片描述
u代表的是拥有者,g代表的是所属组,o代表的是其他人,a表示所有人,如果你想增加权限的话就使用+,如果你想删除权限的话就使用-,对应的权限就是r w x,当然这里的权限可以是一个组合比如说rwx,rx,wx等等,最后再加上你想要修改的文件,那么这里的操作就如下:
在这里插入图片描述
一开始所有人对test1文件的权限都是没有的,我要是想让test1文件的拥有者有读权限就可以使用下面的指令:
在这里插入图片描述
如果我想让test1文件的所属组拥有读和执行的权限的话就可以使用下面的操作:
在这里插入图片描述
如果我想让test1文件的其他人拥有读写执行权限的话就可以使用下面的指令:
在这里插入图片描述
如果我想让test1文件的所有人都没有任何权限的话就可以使用下面的指令:
在这里插入图片描述
当然这里的修改还可以连续的将多人进行修改,比如说我想让拥有者的权限变为rx让其他人的权限都变成rwx的话就可以执行下面的操作:
在这里插入图片描述

八进制形式权限修改

文件的权限用rwx来表示,如果哪个权限没有的话对应位置上的内容就变成了-,那么这里我们就可以把 - 当成0,把r w x 都看成1比如说rwx就是1 1 1,r - x 就是101 ,r - -就是000,那么这里我们就可以根据这个逻辑列出一个表出来
在这里插入图片描述

一个人的权限可以由三个二进制数字来表示,而3个二进制数字可以合成一个8进制数字,一个文件有3类人,所以就有三个不同的权限来进行表示,所以一个文件就应该有三个八进制数字来表示权限,比如说一个文件的权限分别为:rwx rw- r-x那么这个文件的权限就可以用765来进行表示,如果一个文件的权限为 - - - -w- r-x的话,那么就可以使用数字025来表示文件的权限,既然一个文件的权限可以使用数字来表示的话,那么这里我们也可以用数字来修改一个文件的权限,那么修改的形式就是如下:
在这里插入图片描述
比如说一个文件的开始权限为000,我们要想将这个权限修改成rwx rwx rwx的话就可以这样进行修改:
在这里插入图片描述
如果我们想把这个文件的权限改成r-x rw- r- -的话就可以使用下面的指令:
在这里插入图片描述
那么这就是八进制权限修改法,希望大家能够理解。

文件拥有者所属组的修改

使用chown指令可以修改文件的拥有者,使用chgrp指令可以修改文件的所属组,这两个指令的用法如下:
在这里插入图片描述
这里我将用户改成了root,如果是普通用户要使用这个指令的话得用sudo进行提权,那么这里的操作如下:
在这里插入图片描述
如果是普通用户不用sudo提权的话,是无法修改这里的人的:
在这里插入图片描述
这里的chown可以连续修改拥有者和所属组,其用法如下:
在这里插入图片描述
那么这就是chown和chgrp的用法,希望大家可以理解。

umask有关内容

我们首先来看看下面的操作:
在这里插入图片描述
创建了一个文件夹和一个普通文件,我们通过ll可以看到这里文件的起始权限是rw- rw- r- -,而文件夹的起始权限为rwx rwx r-x那这是为什么呢?答案是跟umask的值有关,往命令行中输入umask就可以看到umask的值:
在这里插入图片描述
umask值为0002第一个0表示后面的三个数字都是八进制,我们将三个八进制数字展开成二进制就变成了这样:000 000 010,这里得将这些数字看成权限,所以这里umask的权限就变成了- - - - - - -w-,而umask的概念是权限掩码就是凡事在umask中出现的权限在文件或者目录中都得去掉,linux规定:目录的起始权限为777也就是rwx rwx rwx 普通文件的起始权限是666也就是rw- rw- rw-,而umask中的other有写权限,所以目录和文件在创建的时候就得将other中的写权限去掉,所以目录在创建的时候权限就变为了rwx rwx r-x,文件的权限就变成了rw- rw- r–,那这里我们可以验证一下上面讲的内容是否是对的:
在这里插入图片描述
我们讲umask的值进行修改,改成了777然后再创建文件或者目录的话就可以发现这里的起始权限都没有了:
在这里插入图片描述
我们还可以讲umask的值设置为444这样我们创建文件或者目录的话就都没有读权限:
在这里插入图片描述
这里大家注意的一就是umask不是单独的减法,而是通过下面的公式来算出的最终权限:
在这里插入图片描述
umask要去掉的权限位是1,要保留的权限位是0,使用~反转权限后就变成~umask要去掉的权限是0,要保留的权限是1,最后再使用&操作可以让起始权限中与~umask对应的位置为0的数字都变成0,就是~umask为0的位置起始权限也变成了0,最终达到权限删除的作用。

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

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

相关文章

三主热备架构

1.要求 角色主机名软件IP地址用户client192.168.72.90keepalivedvip192.168.72.100masterserverAkeepalived, nginx192.168.72.30backupserverBkeepalived, nginx192.168.72.31backupserverCkeepalived, nginx192.168.72.32webtomcat1tomcat192.168.72.41webtomcat2tomcat192.1…

windows 10 系统配置Node

目录 什么是Node.js 什么是Npm Node.js环境搭建 下载 解压 配置环境变量 npm配置 如何运行下载的Node.js项目 什么是Node.js 在 Node.js 之前,JavaScript 只能运行在浏览器中,作为网页脚本使用,为网页添加一些特效,或者和…

Windows Server 2025 使用 IIS 搭建 ASP.NET 3.5 网站

开启远程桌面 参考文章Windows server开启远程桌面教程打开服务管理器。ECS 配置安全组,开启 3389Telnet 验证网络联通性 telnet x.x.x.x 338安装 Windows App,登录验证 安装 ASP.NET 3.5 1.参考文章Windows Server 2012安装 .NET Framework 3.5和 Wi…

开源模型应用落地-shieldgemma-2-4b-it模型小试-多模态内容安全检测(一)

一、前言 在人工智能迅速发展的过程中,内容安全成为AI应用中的一个重要挑战。谷歌团队于2025年3月推出了一款名为ShieldGemma-2-4B-IT的模型,它以创新的多模态安全检测能力,为行业树立了新的开源责任AI标准。 与早期的仅支持文本审核的版本相比,ShieldGemma-2-4B-IT在谷歌的…

【数据预测】基于遗传算法GA的LSTM光伏功率预测 GA-LSTM光伏功率预测【Matlab代码#91】

文章目录 【可更换其他算法,获取资源请见文章第6节:资源获取】1. 遗传算法GA2. 长短期记忆网络LSTM3. 基于GA-LSTM的光伏功率预测4. 部分代码展示5. 运行结果展示6. 资源获取 【可更换其他算法,获取资源请见文章第6节:资源获取】 …

openEuler24.03 LTS下安装Hadoop3完全分布式

目录 Linux准备 openEuler24.03 LTS简介 下载openEuler24.03 LTS 安装openEuler24.03 LTS Linux基本设置 关闭及禁用防火墙 修改主机名 静态ip 映射主机名 创建普通用户 目录准备 克隆主机 配置机器之间免密登录 编写分发脚本 安装Java 下载Java 解压 设置环…

【Linux之Shell脚本实战】Linux服务器输出美观漂亮的html巡检报告

【Linux之Shell脚本实战】Linux服务器输出美观漂亮的html巡检报告 一、Shell脚本介绍1.1 Shell脚本简介1.2 Shell脚本特点二、脚本要求三、检查本地环境3.1 本地环境规划3.2 检查本地系统3.3 检查系统内核版本四、编辑脚本五、执行及测试脚本5.1设置定时任务5.2 执行效果六、总…

坦克大战(c++)

今天我给大家分享一个c游戏。 废话不多说&#xff0c;作品展示&#xff1a; #include <stdio.h> #include <windows.h> #include <time.h> //里规格&#xff1a;长39*278 &#xff08;真坐标&#xff09;(假坐标宽为39) 高39 //外规格&#xff1a;长…

node-ddk, electron组件, 自定义本地文件协议,打开本地文件

node-ddk 文件协议 https://blog.csdn.net/eli960/article/details/146207062 也可以下载demo直接演示 http://linuxmail.cn/go#node-ddk 安全 考虑到安全, 本系统禁止使用 file:/// 在主窗口, 自定义文件协议,可以多个 import main, { NODEDDK } from "node-ddk/m…

论文阅读:2023 arxiv Provable Robust Watermarking for AI-Generated Text

总目录 大模型安全相关研究:https://blog.csdn.net/WhiffeYF/article/details/142132328 Provable Robust Watermarking for AI-Generated Text https://arxiv.org/pdf/2306.17439 https://github.com/XuandongZhao/Unigram-Watermark https://www.doubao.com/chat/211092…

一条sql语句在mysql中的执行流程(Mysql基础架构)

mysql基础架构 MySQL 主要分为 Server 层和 存储引擎层&#xff1a; Server 层&#xff1a;主要包括 连接器、查询缓存、分析器、优化器、执行器等&#xff0c;所有跨存储引擎的功能都在这一层实现&#xff0c;比如存储过程、触发器、视图&#xff0c;函数等&#xff0c;还有一…

GitLens with `Commit Graph`

文章目录 GitLens with Commit Graph GitLens with Commit Graph 想要更直观地查看 Git 提交历史&#xff1f;我打包了一个支持 Commit Graph 的 GitLens 版本&#xff0c;让你轻松在 VSCode 中查看分支、合并、变更记录等内容&#xff0c;一目了然&#xff01; &#x1f4cc…

C#里使用libxl的数字格式

由于EXCEL里可以表示不同的数字格式, 比如表示货币数字时,与表示普通序号的数字就不一样。 还有科学计算表示的数字使用小数点位数与普通货币也不一样。 如下所示: 要使用这些格式, 下面创建一个例子来演示保存这些数字格式: private void button11_Click(object send…

CentOS 7扩容 /dev/shm

在 CentOS 7 中&#xff0c;/dev/shm 是基于内存的临时文件系统&#xff08;tmpfs&#xff09;&#xff0c;其大小通常为系统内存的一半。要扩容 /dev/shm&#xff0c;可以通过重新挂载 tmpfs 并指定新的大小来实现。 扩容步骤 查看当前 /dev/shm 的大小&#xff1a; df -h /d…

【一起学Rust | Tauri2.0框架】基于 Rust 与 Tauri 2.0 框架实现全局状态管理

前言 在现代应用程序开发中&#xff0c;状态管理是构建复杂且可维护应用的关键。随着应用程序规模的增长&#xff0c;组件之间共享和同步状态变得越来越具有挑战性。如果处理不当&#xff0c;状态管理可能会导致代码混乱、难以调试&#xff0c;并最终影响应用程序的性能和可扩…

百度SEO和必应SEO优化方法

如需SEO服务&#xff0c;可以搜索&#xff1a;深圳市信科网络科技有限公司。 一、搜索引擎生态格局&#xff1a;流量入口的重新洗牌 2025 年&#xff0c;中国 PC 端搜索引擎市场正经历戏剧性变革。StatCounter 数据显示&#xff0c;必应凭借 Edge 浏览器的预装优势与 ChatGPT …

Redis 事件机制详解

Redis 事件机制详解 Redis 的事件机制是其高性能和高并发能力的关键之一&#xff0c;它采用Reactor 模型&#xff0c;基于文件事件驱动机制实现高效的 I/O 处理。Redis 的事件机制主要分为以下几类&#xff1a; 文件事件&#xff08;File Event&#xff09; —— 处理网络 I/…

【LangChain入门 3 Prompts组件】聊天提示词模板 ChatPromptTemplate

文章目录 一、 聊天信息提示词模板1.1 使用关键字1.2 使用SystemMessage, HumanMessage, AIMessage来定义消息1.3 使用MessagesPlaceholder 在特定未知添加消息列表 二、关键类介绍2.1 ChatPromptTemplate 类2.1.1 from_messages()2.1.2 format_messages()2.1.3 format_prompt(…

Flutter TextFormField 完全手册与设计最佳实践

目录 1. 引言 2. TextFormField 的基本用法 3. 主要属性 4. 自定义 TextFormField 样式 4.1 设置边框样式 4.2 设置输入格式限制 4.3 多行输入 5. 结论 相关推荐 1. 引言 在 Flutter 中&#xff0c;TextFormField 是 TextField 的扩展版本&#xff0c;专为表单输入设计…

HC-05与HC-06蓝牙配对零基础教程 以及openmv识别及远程传输项目的概述

这个是上一年的项目&#xff0c;之前弄得不怎么完整&#xff0c;只有一个openmv的&#xff0c;所以openmv自己去我主页找&#xff0c;这篇主要讲蓝牙 这个是我在使用openmv连接单片机1然后单片机1与单片机2通过蓝牙进行通信 最终实现的效果是&#xff1a;openmv识别到图形和数…