38. 【Linux教程】Linux 修改文件权限

前面小节介绍了用户权限相关的知识,从这一小节开始我们将要开始学习文件权限相关的知识,如何给文件修改权限,之前小节介绍过 ls 命令展示出来的一些文件相关的信息,这里面就有和文件权限相关的信息。

在 Linux 系统中,有时候某些文件内容不能修改,只能拥有只读权限,某些文件需要读写权限,即可以读,又可以写,某些文件需要可执行权限,这个时候若文件的相关权限不正确,就可能报错业务出错,因此需要对文件权限进行修改。

1. Linux 文件权限值

在上述权限中的文件读、写、执行权限信息中,对应着二进制数值,对应关系如下表:

权限展示值二进制值八进制值描述
---0000表示没有读、写、执行权限
--x0011表示有执行权限,没有读、写权限
-w-0102表示有写,没有读、执行权限
-wx0113表示有写、执行权限,没有读权限
r--1004表示有读权限,没有写、执行权限
r-x1015表示有读、执行权限,没有写权限
rw-1106表示有读、写权限,没有执行权限
rwx1117表示有读、写、执行权限

2. umask 命令

在 Linux 系统中创建一个新的文件或者目录的时候,它们都会有默认的访问权限,umask 命令则可以修改这些文件默认的访问权限。例如用户创建一个文件的默认访问权限为 rw-rw-rw-(八进制值666) ,创建目录的默认权限 rwxrwxrwx(八进制值777) ,而 umask 值则表明了需要从默认权限中去掉哪些权限来成为最终的默认权限值。

2.1 umask 命令查看默认权限去除值

使用 umask 命令可以查看一个默认的权限信息,命令如下:

umask

执行结果如下图:

如上图所示,当前文件或目录权限相关的是默认去除值是 0022,其中第一位 0 表示的是一项特殊安全权限,暂且不讨论。

后面三位 022 则和普通权限 rwx 有关,其中后三位中的第一位 0 表示创建者/所有者相关的权限,表示从用户权限去掉 0 对应的权限 ---(不变),后三位中的第二位 2 表示用户组相关的权限,表示从用户组权限去掉 2 对应的权限-w-(写权限),后三位中的第三位 2 表示和其他用户的权限有关,表示其他用户的权限去掉 2 对应的权限 -w-(写权限)

所以创建 文件 的默认八进制值 666(rw-rw-rw-) 去掉 022(----w--w-) 对应的相关权限之后为 644(rw-r--r--),创建 目录 的默认八进制值 777(rwxrwxrwx) 去掉 022(----w--w-) 对应的相关权限之后为 755(rwxr-xr-x),下面通过示例来验证一下:

umask

touch testfile

ls -l testfile

mkdir testdir

ls -l

执行结果如下图:

Tipsumask 命令展示出来表示从原来的默认值去除的权限值,新建文件默认的权限值是 666,新建目录的权限值是 777umask 命令展示的值是在这个基础之上去除的。

2.2 umask 命令修改默认去除权限

若想要新建的文件有指定的初始默认权限,可以使用 umask 命令,命令如下:

umask 226

umask

执行结果如下图:

新建文件默认的权限值是 666,新建目录的权限值是 777226 表示在这个基础上去除
-w--w-rw- 之后的权限。

3. chmod 命令

3.1 修改文件权限

新建一个文件 newfile,然后使用 chmod 命令修改文件权限,新建和修改文件权限命令如下:

touch newfile

ls -l newfile

chmod 777 newfile

ls -l newfile

执行结果如下图:

3.2 修改目录权限

使用 chmod 命令修改目录的权限,修改目录权限命令如下:

ls -l

chmod -R 755 study

ls -l

执行结果如下图:

3.3 chmod 命令限定权限

chmod 命令可以修改已经存在的文件或目录的权限,可以分别修改它们用户的权限、用户组的权限、其他用户的权限,也可以修改上述全部的权限,下图表示 chmod 权限相关的操作:

下面以新增文件其他用户写权限为例,命令如下:

ls -l testfile

chmod o+w testfile

ls -l testfile

执行结果如下图:

3.4 chmod 权限作用对象

  • u 表示用户;
  • g 表示用户组;
  • o 表示其他用户;
  • a 表示全部。

3.5 权限操作相关符号

  • + 表示在现有权限基础上增加权限;
  • - 表示在现有权限基础上移除权限;
  • = 表示在现有权限基础上设置成等号后的权限。

3.6 权限设置值

  • r 表示读权限;
  • w 表示写权限;
  • x 表示执行权限。

4. 小结

本小节介绍了文件或目录权限相关的命令,新建的文件权限默认是 rw-rw-rw-,新建目录权限默认是 rwxrwxrwx,使用 umask 命令可以对新建的文件或目录的权限去除某些特定的权限。还介绍了 chmod 命令直接配合八进制权限值修改文件或目录的权限,也可以使用限定符在原来权限基础上增加、移除、设定某些权限。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Vue3学习记录(三)--- 组合式API之生命周期和模板引用

一、生命周期 1、简介 ​ 生命周期,指的是一个 Vue 实例从创建到销毁的完整阶段,强调的是一个时间段。 ​ 生命周期钩子函数,指的是 Vue 实例提供的内置函数,函数的参数为一个回调函数。这些钩子函数会在实例生命周期的某些固定…

springboot心灵治愈交流平台源码和论文

本论文主要论述了如何使用JAVA语言开发一个心灵治愈交流平台 ,本系统将严格按照软件开发流程进行各个阶段的工作,采用B/S架构,面向对象编程思想进行项目开发。在引言中,作者将论述心灵治愈交流平台的当前背景以及系统开发的目的&a…

Unity UGUI之Slider基本了解

在Unity中,Slider(滑动条)是一种常用的用户界面控件之一,允许用户通过拖动滑块来选择一个数值。常常应用于调节数值(如调节音量、亮度、游戏难度等)、设置选项等。 以下是Slider的基本信息和用法: 1、创建…

深入 Starknet 去中心化世界,探秘实用开发利器

Starknet 近期开放空投,面向 130 万地址总量发放超 7 亿枚 Token,让 ECMP 早期贡献者、GitHub 开源开发者、Starknet 用户等各个层面的生态参与者都得以深度参与。 盛宴的背后,是 Starknet 正迎来发展的关键机遇。在今年以太坊坎昆升级的背景…

python最小公倍数 2023年9月青少年电子学会等级考试 中小学生python编程等级考试二级真题答案解析

目录 python最小公倍数 一、题目要求 1、编程实现 2、输入输出 二、算法分析 三、程序代码 四、程序说明 五、运行结果 六、考点分析 七、 推荐资料 1、蓝桥杯比赛 2、考级资料 3、其它资料 python最小公倍数 2023年9月 python编程等级考试级编程题 一、题目要求…

【Redis】深入理解 Redis 常用数据类型源码及底层实现(6.详解Set和ZSet数据结构)

本文是深入理解 Redis 常用数据类型源码及底层实现系列的第6篇~前5篇可移步( ̄∇ ̄)/ 【Redis】深入理解 Redis 常用数据类型源码及底层实现(1.结构与源码概述)-CSDN博客 【Redis】深入理解 Redis 常用数据类型源码及底…

XSS_lab(level1-level5)

level1 直接输入页面没有发现输入框&#xff0c;观察url发现有传参 尝试修改传参为&#xff1a;<script>alert(1)</script> 过啦&#xff01; level2 页面中有输入框&#xff0c;尝试构建语句&#xff1a;<script>alert(1)</script>,传输后查看源代…

SDRPI烧写教程

首先准备好需要烧写的文件&#xff0c;一共有两个 .BIN 和 .elf文件 这里提供测试文件链接&#xff1a;https://pan.baidu.com/s/1P2cjCqOCyJg7hRhbqWue9Q 提取码&#xff1a;49jp 把SDRPI设置为JTAG模式 插上电源和JTAG线&#xff0c;这块板子的电源和UART使用的是同一个接…

Linux编程3.1 进程-进程的概念

前情提及&#xff1a; 程序和进程内核中的进程结构C程序启动过程进程终止方式非局部跳转进程资源限制进程创建、执行和终止进程类型进程状态进程组 进程的概念 进程&#xff1a;程序运行&#xff0c;由操作系统内核对该程序进行资源的分配 &#xff0c; 进程中&#xff0c;再…

LL-34/DO-213AC/MiniMELF/NSMC/DO-213AB封装

最近在找几个特殊的二极管封装&#xff0c;能查到资料太少了&#xff0c;如同大海捞针&#xff0c;好不容易找到了一些资料&#xff0c;把相关信息总结一下. 1、LL-34/DO-213AC/MiniMELF/SOD80这三个封装尺寸很接近 LL-34以c5345992为例 MiniMELF以c131658为例 2、NSMC这个封装…

复合数据类型(ch3)

将array依次执行以下操作 1.把列表中的元素升序排序。 2.删除列表中的最后一个元素。 3.把列表中第一个元素移动到列表尾部。 4.返回新列表。array [85,96,2,5,3,566,0,91,5234,5555,89,62,34] #*******请输入您的代码********# #***********begin************# def sort_and_…

python笔记_程序流程控制2

C&#xff0c;循环控制 1&#xff0c;for循环 功能&#xff1a;让代码循环运行 语法&#xff1a; for <变量> in <范围、序列>&#xff1a; <循环操作语句> 例 nums &#xff08;1,2,3,4&#xff09; <class list> for i in nums&#xff1a; print&…

express+mysql+vue,从零搭建一个商城管理系统9--添加商户

提示&#xff1a;学习express&#xff0c;搭建管理系统 文章目录 前言一、新建models/shop.js二、新建routes/shop.js三、修改routes下的index.js四、添加商户总结 前言 需求&#xff1a;主要学习express&#xff0c;所以先写service部分 一、新建models/shop.js models/shop.…

ApplicationContext容器

ApplicationContext容器 1.概述 ApplicationContext接口代表了一个Spring容器,它主要负责实例化、配置和组装bean。ApplicationContext接口间接继承了BeanFactory接口,相较于BeanFactory一些基本的容器功能,ApplicationContext接口是在BeanFactory接口基础上进行了扩展,增…

alfred自定义脚本执行报错,alfred task launch path not accessible问题解决

alfred自定义脚本执行报错,alfred task launch path not accessible 原因是mac升级后 /usr/lib/php 已经不存在了,可以改由zsh方式执行,如下图 右击打开目录 将执行脚本放入目录 code如下: <?phprequire ./Util.php; $qs $argv; $query $qs[1]; date_default_timezon…

CMDB对企业和IT管理员有什么用?

CMDB这个词在ITSM相关文档和IT管理领域经常遇到&#xff0c;但鲜有人能解释什么是CMDB&#xff0c;CMDB是怎么帮助到企业的&#xff1f;如果这些问题也困扰着您&#xff0c;那让我们来聊一聊CMDB&#xff0c;为什么需要CMDB&#xff0c;以及如何设置自己的CMDB。 1. 资源管理&a…

[ai笔记14] 周鸿祎的ai公开课笔记1

欢迎来到文思源想的ai空间&#xff0c;这是技术老兵重学ai以及成长思考的第14篇分享&#xff01; 本周二月的最后一周&#xff0c;并不是闲下来了&#xff0c;反而是开始进行一些更多的深入实践&#xff0c;关于gpt的主体架构、关于prompt&#xff0c;同时也看了不少书和直播&…

【Linux】基本指令(下)

&#x1f984;个人主页:修修修也 &#x1f38f;所属专栏:Linux ⚙️操作环境:Xshell (操作系统:CentOS 7.9 64位) 日志 日志的概念: 网络设备、系统及服务程序等&#xff0c;在运作时都会产生一个叫log的事件记录&#xff1b;每一行日志都记载着日期、时间、使用者及动作等相关…

【大厂AI课学习笔记NO.60】(13)模型泛化性的评价

我们学习了过拟合和欠拟合&#xff0c;具体见我的文章&#xff1a;https://giszz.blog.csdn.net/article/details/136440338 那么今天&#xff0c;我们来学习模型泛化性的评价。 泛化性的问题&#xff0c;我们也讨论过了&#xff0c;那么如何评价模型的泛化性呢&#xff1f; …

中科数安|防止电脑文件资料外泄

#防止电脑文件资料泄漏# 中科数安提供了一系列解决方案来防止电脑文件资料外泄。 www.weaem.com 这些解决方案包括以下几个方面&#xff1a; 访问控制&#xff1a;实施严格的文件访问控制&#xff0c;确保只有授权的人员能够访问和编辑核心文件。使用身份验证和权限管理系统&a…