文件权限-chmod命令 – 改变文件或目录权限

news2024/11/24 19:29:08

Linux chmod命令 – 改变文件或目录权限

在Linux系统中,每个文件和目录都有自己的权限属性,这些属性包括读、写、执行等权限。通常情况下,只有文件的所有者和管理员可以设置文件权限,而普通用户只能管理自己文件的权限。为了更好地控制文件的安全性,我们需要使用Linux系统中的chmod命令来修改文件或目录的权限属性。

语法格式

chmod命令的语法格式如下:

chmod [选项] 模式 文件名

其中,选项包括:

  • -R:递归操作,指定目录下的所有子文件/目录都进行权限设定
  • -v:查看执行过程详细信息
  • -c:改变文件权限成功后再输出成功信息
  • --help:显示帮助信息
  • --no-preserve-root:不特殊对待根目录,可以递归操作
  • --preserve-root:禁止对根目录进行递归操作
  • --reference:使用指定参考文件的权限
  • --version:显示版本信息

模式分为两种表达方式:

  1. 通过字母表达式表示权限:

    字符意义:

    • u:所有者(User)
    • g:所属组(Group)
    • o:其他人(Others)
    • a:所有人(All)

    操作符号:

    • +:添加权限
    • -:去除权限
    • =:赋予权限

    权限符号:

    • r:读权限
    • w:写权限
    • x:执行权限

    示例:

    $ chmod u+rwx,go-rwx test.txt # 给文件所有者添加读写执行权限,其他人全部去掉权限
    
  2. 通过数字表达式表示权限:

    数字表达式是将每个权限值分别转换成二进制数,然后将三个二进制数串成一串,再将这个二进制数转换成八进制数。其中第一个二进制数代表所有者的权限,第二个二进制数代表所属组的权限,第三个二进制数代表其他人的权限。

    权限符号与数字之间的对应关系:

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

    示例:

    $ chmod 777 test.txt # 给文件所有人添加读写执行权限
    

图解-总结

在这里插入图片描述

首先我们来看这段表达式有几位组成?

10位

在这里插入图片描述

文件类型用户用户组其他
-普通文件rwxrwxrwx
d目录
l链接文件

r 全称 read 读取

w全称 write 写入

x全称 execute 执行

- 表示用户没有当前位置的权限

权限数字表达式

在这里插入图片描述

数字表达式rwx 421的特点每次除以2

即:4除以2等于2,2除以2等于1

每个角色最多拥有3个权限也就是rwx

每个角色最少拥有0个权限也就是---

下面是数字表达式rwx 421及其对应数字的表格:

rwx表达式对应数字
— (无权限)0
–x (可执行)1
-w- (可写)2
-wx (可写、可执行)3
r-- (可读)4
r-x (可读、可执行)5
rw- (可读、可写)6
rwx (可读、可写、可执行)7
rwx表达式对应数字权限说明
r-- — ---400只读取
r-- — --x401读取和执行
r-- — -w-402读取和写入
r-- — -wx403读取、写入和执行
r-- — r–404只读取
r-- — r-x405读取和执行
r-- — rw-406读取、写入
r-- — rwx407读取、写入和执行
r-- -w- —440读取和写入
r-- -w- --x441读取、写入和执行
r-- -w- -wx443读取、写入和执行

实操演示

假设我们要给test.txt文件添加读取、写入和执行的权限,可以使用以下命令:

$ chmod u+rwx test.txt

我们还可以使用字母表达式来设置权限,比如将所有者和所属组的读取、写入和执行权限都去掉,其他人没有变化:

$ chmod ug-rwx test.txt

我们可以使用数字表达式来设置权限,比如将所有者、所属组和其他人的读取、写入和执行权限都添加上:

$ chmod 777 test.txt

chmod命令 – 改变文件或目录权限之间的区别

Linux系统中的chmod命令不仅可以修改文件的权限,也可以修改目录的权限。在对目录进行权限修改时,建议使用-R参数进行递归操作,以便将权限修改应用到目录本身以及目录下的所有子目录/文件。

此外,chmod命令还可以通过字母表达式和数字表达式两种方式来设置文件或目录的权限。字母表达式更直观易懂,适合初学者使用;而数字表达式更加灵活和精确,适合专业人士使用。

最后,在使用chmod命令修改文件或目录的权限时,需要注意权限的数字表示方式,以确保权限修改的正确性和稳定性。

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

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

相关文章

数据结构总结5:堆

后续会有补充 堆 堆是一种数据结构,总是一棵完全二叉树,是使用数组存储的,是非线性的;并且要求树中所有的父亲都小于等于孩子(小根堆)/树中所有的父亲都大于等于孩子(大根堆)不一定…

人工智能基础部分16-神经网络与GPU加速训练的原理与应用

大家好,我是微学AI,今天给大家介绍一下人工智能基础部分16-神经网络与GPU加速训练的原理与应用,在深度学习领域,神经网络已经成为了一种流行的、表现优秀的技术。然而,随着神经网络的规模越来越大,训练神经…

Linux下部署Samba服务(实现windows和linux共享)

关于Linux和Windows系统之间的文件传输,很多人选择使用FTP,相对较安全,但是有时还是会出现一些问题,比如上传文件时,文件名莫名出现乱码,文件大小改变等问题。相比较来说,使用Samba作为文件共享…

Midjourney会员充值教程

本教程收集于:AIGC从入门到精通教程 Midjourney会员充值教程 目录 一、 打开会员订阅页面 二、 选择您需要订阅的会员

8. 机器学习系统设计

假设你想建立一个垃圾邮件分类器,通过监督学习来构造一个分类器来区分垃圾邮件和非垃圾邮件。为了应用监督学习,首先要想的就是:如何来表示邮件的特征向量x,通过特征向量x和分类标签y,我们就能训练一个分类器&#xff…

(十六)数据编辑——图形编辑②

数据编辑——图形编辑② 目录 数据编辑——图形编辑②1.5线要素的延长和裁剪1.5.1线要素延长1.5.2线要素裁剪 1.6要素的变形与缩放1.6.1要素变形操作1.6.2要素缩放操作 1.7要素结点的编辑1.7.1添加结点1.7.2删除结点1.7.3移动结点 1.5线要素的延长和裁剪 单击编辑器下拉菜单&a…

【Nvidia Jetson Xavier NX/AGX/NANO】上用docker跑pytorch等cv推理应用

Nvidia Jetson Xavier NX/AGX docker WHY镜像地址使用方法docker常用命令备忘jtop安装关于保存容器镜像关于使用dockerfile构建关于映射外部路径让容器访问外部文件关于性能 WHY 在jetson上使用docker跑opencv和pytorch其实主要是要找对镜像,docker官方的hub里并没…

linux0.12-9-5-ramdisk.c

1、 需要配合其他代码一起看,才能有深刻的理解。 [432页] 9-5 ramdisk.c程序 9-5-1 功能描述 本文件是内存虚拟盘(Ram Disk)驱动程序,由Theodore Ts’o编制。虚拟盘设备是一种利用物理内存来模拟实际磁盘存储数据的方式。其目的主要是为了提高对&quo…

Conda 安装Pytorch

1、conda 切换虚拟环境 activate 虚拟环境名称 C:\Windows\System32>activate python310 温馨提示:查询虚拟环境列表 conda env list C:\Windows\System32>conda env list # conda environments: # base D:\anaconda3 python310 …

15-01通信安全

网络设备安全——防火墙 状态检测 应用级代理 防火墙实战 默认禁止:Ingress和Egress高安全域优先:允许高安全域发起请求规则具体:源地址(标签)、源端口,目标地址(标签)、目标端口、…

CSAPP复习(1)

分析方法只讲了amuda定理 Hello的一生 hello的执行过程 了解hello的执行过程 和响应的汇编器生成的可执行文件是.out不是.exe gcc -E hello.c -o hello.i//预处理 cpp hello.c>hello.i gcc -S hello.i -o hello.s//编译 gcc -C hello.s -o hello.o//汇编 二进制文件看不到…

【PDF软件篇】PDF轻量化电子笔记编辑利刃-Xodo软件优化

【PDF软件篇】PDF轻量化电子笔记编辑利刃-Xodo软件优化 默认配置已经够强,但是我还是推荐自定义,适合自己的就是最好的—【蘇小沐】 文章目录 【PDF软件篇】PDF轻量化电子笔记编辑利刃-Xodo软件优化1.实验环境 (一)日常办公导出无…

Redis使用lua脚本实现库存扣减

为什么使用Lua脚本为什么能合并多个原子操作? 这里参考官方文档地址:Scripting with Lua | Redis Redis 保证Lua脚本的原子执行。在执行脚本时,所有服务器活动在其整个运行期间都被阻止。这些语义意味着脚本的所有效果要么尚未发生&#xff…

矢量图形设计工具Affinity Designer 2.04版本在win10系统上的下载与安装配置教程

目录 前言一、Affinity Designer安装二、使用配置总结 前言 Affinity Designer 是一款由 Serif 公司开发的矢量图形设计工具,可用于创建各种类型的设计项目,例如图标、UI 设计、品牌标识、插图和其他类型的矢量图形。 Affinity Designer 工具的详细介绍…

JS解密入门案例:python有道JS解密,做一个简单的翻译程序

前言 嗨喽~大家好呀,这里是魔王呐 ❤ ~! 目录标题 前言本次使用知识点:开发环境:模块使用:思路流程:代码展示尾语 💝 本次使用知识点: 系统分析网页结构 动态数据抓包演示 json数据解析 JS解密 开发环境: Python 3.8 Pycha…

Java形参实参的使用

Java形参实参的使用 形参实参的介绍简单例子稍复杂例子String类 compareTo方法 形参实参的介绍 在JAVA中,形参和实参是非常常见的概念。形参是指在方法定义时声明的参数,用于描述方法需要接收的输入数据类型和变量名;而实参是指在方法调用时…

如何安装EasyRecovery14中文版数据恢复软件

好消息!听说数据恢复软件EasyRecovery有了新版本,想必大家在听到这个消息的时候都非常激动,都想看看这个新版本的神秘面纱吧。别着急,下面小编就来教大家使用EasyRecovery14快速恢复数据。 首先我们需要在电脑上下载并安装Ontrac…

​数据库原理及应用上机(实验二 SQL数据定义功能实验)

✨作者:命运之光 ✨专栏:数据库原理及应用上机实验 目录 ✨一、实验目的和要求 ✨二、实验内容与步骤 ✨三、附加练习 ✨四、实验总结 🍓🍓前言: 数据库原理及应用上机实验报告的一个简单整理后期还会不断完善&am…

Docker创建Springboot项目镜像文件

Docker创建Springboot项目镜像文件 本文章展示的是以Windows10系统为例进行操作 一.首先在Windows系统安装WSL(Windows系统的Linux子系统) //该命令能够直接在Windows系统安装wsl wsl --install //如果已经安装则可以进行update wsl --update二.安装Docker Desktop在本机电…