Linux中的Chmod命令用于更改或分配文件和目录的权限。在Linux/Unix系统中,文件和目录的可访问性是由文件所有权和权限决定的。在本教程中,我们将介绍chmod命令。
chmod命令(change mode的缩写)用于管理文件和目录权限,并确定谁可以访问它们。现在让我们深入了解文件和目录权限的本质,以及如何修改它们。
Linux权限
为了更好地理解chmod命令是如何工作的,我们该谨慎地研究Linux文件权限模型。 在Linux中,我们具有3种类型的文件权限:读(r),写(w)和执行(x)权限。这些权限确定哪些用户可以读取,写入或执行文件。您可以使用文本或八进制(数字)表示法来分配这些权限,我们将在本教程后面讨论。 文件和目录可以属于文件(u),组(g)或其他(o)的所有者
u - 所有人的权限
g - 所有组的权限
o- 其他人的权限
使用ls -l命令以长格式的形式查看当前目录下所有可见文件的详细属性。该-l标志列出文件的权限。权限分为三组:用户(user)组(group)和其他(others)。 为了更好地理解文件权限,我们将列出目录的内容,如下所示:
linuxmi@linuxmi:~/www.linuxmi.com$ ls -l
![](https://file.elecfans.com/web1/M00/CD/E2/o4YBAF-hHsmAT3YEAADFSI4c7VM002.png)
从最左端开始,第一个字符/符号表示文件类型。一个连字符( - ),表示该文件是一个普通文件。符号d表示它是目录。符号l表示它是符号链接。 其余的9个字符分成3个三元组,每个三元组带有三个符号r(read),w(write)和x(execute)。如前所述,第一部分指向所有者权限,第二部分指示组权限,最后一部分指定其他用户对该文件或目录具有的权限。 从输出中,我们可以看到我们有4个文件和2个目录。 让我们查看下第一个文件-rw-rw-r-- 1 linuxmi linuxmi 1087 10月 3 20:23 linuxmi.com.cpp 对于第一个文件,-rw-rw-r–权限表示该文件的所有者具有读取和写入权限,该组还具有读取和写入权限,而其他用户仅具有读取权限。 再看看目录的权限:drwxrwxr-x 3 linuxmi linuxmi 4096 10月 12 13:31 Linux迷 我们可以看到目录和组的所有者拥有所有权限(读取,写入和执行),而其他用户仅具有读取和执行权限。 在三重连字符符号-表示没有权限已被授予该文件,小组或其他用户的所有者。
使用chmod命令设置文件和目录权限
在查看了文件权限以及如何查看它们之后,我们不再关注如何修改这些权限。 Linux中的chmod命令用于使用文本(符号)或数字(八进制)表示法更改文件和目录权限。它采用以下语法:
$ chmod [选项]模式文件名
只有root用户或具有sudo特权的普通用户才能更改文件或目录权限。您可以在命令语法中传递多个文件或目录,并用空格分隔。 现在让我们深入研究并查看chmod命令的不同示例。
示例1)使用数字符号分配权限
使用数字样式/符号设置权限时,请使用以下语法:
$ sudo chmod [选项]数字值文件名 数值可以为3或4个数字。但是,在大多数情况下,使用3个数字。读取,写入和执行权限采用以下值:
读取权限=> 4
写权限=> 2
执行权限=> 1
权限值的总和,即在三个段中的每一个中的读取,写入和执行,都占给定文件或目录的完整权限。这是什么意思?假设所有者具有读取,写入和执行权限,该组具有读取和执行权限,而其他用户仅具有读取权限,可以将其细分如下:
u:rwx = 7 g:rx = 5 o:r– = 4 因此,我们得到的值为754,作为给定文件的文件权限的数值。 要将读取,写入和执行权限分配给所有者,而仅将读取权限分配给组和其他用户,请运行以下命令:$ chmod 744 www.linuxmi.com.txt 要将所有权限分配给文件的所有者,请对该组读取和执行权限,而对其他用户则完全没有权限,请执行:$ chmod 750 www.linuxmi.com.txt 要将所有权限分配给文件的所有者,请对该组具有读写权限,其他用户请运行以下命令:$ chmod 755 linuxmi.txt
示例2)递归分配目录权限
为目录分配权限时,请使用-R标志以递归方式为其目录和子文件夹分配权限。例如: $ chmod 755 -R 目录名
$ chmod 755 -R /home/linuxmi/linux
示例3)使用文本表示法指定权限
分配权限的另一种方法是使用文本表示法。在此方法中,chmod命令采用标志或符号,这些标志或符号代表语法中的所有者,组,其他或所有用户(u,g和o)。 该方法不像以前的方法那样简单明了,应注意避免分配错误的权限。 这是语法的样子
$ chmod [选项] [ugoa] [– + =] [r,w,x]文件 让我们分解一下。 第一组参数[ugoa]指定权限将更改的用户类别
u:用户
g:组
o:其他
a:全部(包括以上所有内容)
如果省略了这个集合,那么默认选项是a选项。 第二组选项–操作员选项[– + =]–确定是要添加权限还是要从用户类别中删除权限。选项删除
– :该标志从指定的用户中删除文件权限。
+ :将权限添加/添加到指定用户。
= :为指定的用户分配不同的权限,并删除该用户段的先前权限。
示例4)为文件分配读取权限
$ chmod o = r 文件名 上面的命令仅将用符号“ o”表示的其他用户分配给该文件的读取权限,并删除先前分配给' others '段的权限。取得具有以下权限的linuxmi.txt
linuxmi@linuxmi:~/www.linuxmi.com$ ls -l linuxmi.txt -rwxrwxr-x 1 linuxmi linuxmi 1087 10月 3 20:23 linuxmi.txt
![](https://file.elecfans.com/web1/M00/CD/E2/o4YBAF-hHsmARwQBAABY6hWf30Q905.png)
分配“others (o)”段的读权限,请仅运行linuxmi@linuxmi:~/www.linuxmi.com$ sudo chmod o=r linuxmi.txt [sudo] linuxmi 的密码: linuxmi@linuxmi:~/www.linuxmi.com$ ls -l linuxmi.txt -rwxrwxr-- 1 linuxmi linuxmi 1087 10月 3 20:23 linuxmi.txt
![](https://file.elecfans.com/web1/M00/CD/E2/o4YBAF-hHsmAa9ydAAClBfLqRr4765.png)
从输出中,我们可以看到已为“others”段分配了读取权限,而同时又失去了执行权限。这意味着=运算符将分配新的权限,而同时会删除以前的权限。
示例5)向文件和组所有者分配执行权限
linuxmi@linuxmi:~/www.linuxmi.com$ sudo chmod ug+x linuxmi.txt linuxmi@linuxmi:~/www.linuxmi.com$ ls -l linuxmi.txt -rwxrwxr-- 1 linuxmi linuxmi 1087 10月 3 20:23 linuxmi.txt 上面的命令将执行权限添加到文件的所有者和组。使用我们的文件,它将变成:
![](https://file.elecfans.com/web1/M00/CD/E2/o4YBAF-hHsmAD0IJAABvMkI3f14475.png)
示例6)为文件,组和其他分配不同的权限
sudo chmod u=rwx,g=rw,o=r filename 上面的命令将所有权限分配给文件的所有者,将读写权限分配给组,仅将读取权限授予其他用户。
![](https://file.elecfans.com/web1/M00/CD/E2/o4YBAF-hHsmAJ7-jAABxzLNDgtE111.png)
注意:如果在=运算符之后未指定任何权限,则将删除该用户段中的所有权限。
示例7)删除其他用户的所有权限
$ sudo chmod o= filename sudo chmod o= linuxmi.txt $ sudo chmod o-rwx linuxmi.txt 上面的命令从“其他”用户段中删除指定文件的所有权限。 该命令与以下命令具有相同的作用: $ sudo chmod o-rwx filename
linuxmi@linuxmi:~/www.linuxmi.com$ sudo chmod o= linuxmi.txt linuxmi@linuxmi:~/www.linuxmi.com$ ls -l linuxmi.txt -rwxrw---- 1 linuxmi linuxmi 1087 10月 3 20:23 linuxmi.txt linuxmi@linuxmi:~/www.linuxmi.com$ sudo chmod o-rwx linuxmi.txt linuxmi@linuxmi:~/www.linuxmi.com$ ls -l linuxmi.txt -rwxrw---- 1 linuxmi linuxmi 1087 10月 3 20:23 linuxmi.txt
![](https://file.elecfans.com/web1/M00/CD/E2/o4YBAF-hHsmAMjGEAACsv5wEMMI003.png)
示例8)使用模板文件分配权限
分配文件权限的另一种便捷方法是使用参考文件。在此方法中,您使用--reference= 选项将文件的权限设置为与另一个参考文件的权限相同。使用以下语法
$ sudo chmod –reference=ref_file filename 例如,要将linuxmi.txt的文件权限设置为与www.linuxmi.com.py的权限相同,请运行以下命令:$ sudo chmod --reference=www.linuxmi.com.py linuxmi.txt 模板文件是www.linuxmi.com.py,将linuxmi.txt更改为模板文件相同的权限。
![](https://file.elecfans.com/web1/M00/CD/E2/o4YBAF-hHsmAVzGxAADj0HNYfmw359.png)
示例9)仅将执行权限分配给目录
假设我们有一个包含文件和子目录的目录,并且我们希望仅对目录分配执行权限,而不接触文件。因此,这可以通过使用以下chmod命令来实现,
$ chmod a+X * 如果您已经注意到,我们已经使用大写的X作为执行权限,以上命令将在当前工作目录的所有目录上设置执行权限。总结这个话题暂时到此结束。我们查看了chmod命令,并了解了可以使用该命令更改文件权限的各种示例。
责任编辑:xj
原文标题:【Linux】修改权限命令chmod用法示例
文章出处:【微信公众号:深度学习自然语言处理】欢迎添加关注!文章转载请注明出处。
原文标题:【Linux】修改权限命令chmod用法示例
文章出处:【微信号:zenRRan,微信公众号:深度学习自然语言处理】欢迎添加关注!文章转载请注明出处。
收藏
人收藏
扫一扫,分享给好友
复制链接分享
评论
发布评论请先 登录
相关推荐
BPF系统调用与Tracing类型的BPF程序
既然是提供向内核注入代码的技术,那么安全问题肯定是重中之重。平时防范他人通过漏洞向内核中注入代码,这....
Linux阅码场 发表于 03-14 16:42 •
149次
阅读
盘点5款值得收藏的Linux开发板
最近股市又哀鸿遍野……于是,那句 “树莓派是最好的理财产品”又开始在我耳边萦绕。“缺芯”笼罩之下,开....
话说科技 发表于 03-14 15:12 •
134次
阅读
霍尼韦尔智能楼宇技术助力小镇建设_ADI为Linux发行版扩充1000多个器件驱动
2022年2月11日,中国北京——霍尼韦尔宣布与中建二局安装工程有限公司和北京市设备安装工程集团有....
电子魔法师 发表于 03-14 15:04 •
189次
阅读
i.MX6ULL嵌入式Linux开发5-根文件系统完善
上篇文章,使用BusyBox构建了基础的嵌入式Linux系统的根文件系统,基本的功能可以正常运行,但....
码农爱学习 发表于 03-14 08:44 •
97次
阅读
i.MX6ULL嵌入式Linux开发4-根文件系统构建
本篇使用BusyBox来构建根文件系统,并通过NFS网络调试的方式实现根文件系统挂载测试,实测时解决....
码农爱学习 发表于 03-14 08:41 •
103次
阅读
i.MX6ULL嵌入式Linux开发3-Kernel移植
本文进行Linux内核的移植。
码农爱学习 发表于 03-14 08:36 •
90次
阅读
有没有能用在51单片机平台上的语音芯片?
最近看了一下云知声的蜂鸟M系列的离线语音,但是研究了半天不知道能不能移植到51单片机的平台上(就是通过串口通讯),后来又看...
发表于 03-11 17:08 •
538次
阅读
Tina Linux 系统介绍
Tina Linux是全志科技基于Linux内核开发的针对智能硬件类产品的嵌入式软件系统。Tina Linux基于openwrt-14.07 版本的软件开...
发表于 03-11 15:05 •
1629次
阅读
提高Linux服务器性能的20个技巧
Linux功能丰富、强大、灵活,你可以用它完成各种任务,在这篇文章中,我们将讨论一些提高Linux....
Linux爱好者 发表于 03-11 10:14 •
112次
阅读
51点灯与Linux驱动点灯的区别
嵌入式初学者入门的第一个“项目”就是LED点灯,那么,本文带你看看51、STM32、Linux点灯有....
strongerHuang 发表于 03-10 17:37 •
1210次
阅读
为VisionFive星光板上创建Debian系统镜像
在RISC-V 星光板VisionFive上创建Debian/Linux系统
发表于 03-09 20:52 •
4次
阅读
Linux内核代码修改将为性能测试获8450%提升
Jason Donenfeld 是 WireGuard 的主要开发者,同时他也是 Linux 内核随....
马哥Linux运维 发表于 03-09 14:16 •
172次
阅读
怎样去搭建基于rk3288的android(和linux)平台软件运行环境呢
怎样去搭建基于rk3288的android(和linux)平台软件运行环境呢?有哪些搭建步骤呢?...
发表于 03-09 07:42 •
175次
阅读
怎样将linux debian串口波特率统一改到115200呢
如何对linux debian源码进行重新编译呢?
怎样将linux debian串口波特率统一改到115200呢?
...
发表于 03-09 07:31 •
215次
阅读
Arm linux 单板接入阿里云物联网实现
近年来物联网深入生活中的方方面面,万物互联。阿里云物联网平台是一个集成了设备管理、数据安全通信和消息订阅等能力的一体化平...
发表于 03-09 07:27 •
803次
阅读
YoC开发环境设置手册
一、前言
根据开发用户组的不同,YoC 支持在 Linux 命令行环境和 Windows CDK IDE 中进行开发。本节介绍如何在 W...
发表于 03-09 07:02 •
364次
阅读
使用串口命令调试的那些骚操作
用内置的串口命令调试
YoC支持很多的串口命令,我们可以通过串口命令进行很多的调试操作
help
> help
help &nbs...
发表于 03-09 06:57 •
411次
阅读
Linux驱动程序支持通过I2C和SPI总线进行通信吗
Linux驱动程序支持哪些设备呢?
Linux驱动程序支持通过I2C和SPI总线进行通信吗?
...
发表于 03-09 06:33 •
91次
阅读
YoC系统编译用户手册
作者:夏朗
一、前言
YoC系统在不同的开发环境下编译方式不同。通常,在 Windows 上使用 IDE 进行开发是简单明了的。...
发表于 03-09 06:26 •
271次
阅读
如何对RK3399 Android7.1进行编译呢
怎样去设置Linux编译环境呢?如何对RK3399 Android7.1进行编译呢?有哪些编译步骤?
...
发表于 03-09 06:14 •
116次
阅读
Linux私房菜基础篇-第三版
Linux私房菜基础篇-第三版免费下载。
发表于 03-07 16:46 •
29次
阅读
《Linux命令行大全》(英文版)
[美]William E. Shotts Jr. 著
发表于 03-07 16:29 •
16次
阅读
i.MX6ULL嵌入式Linux开发2-uboot移植实践
上篇文章,我们介绍了如何使用NXP原厂的uboot进行编译和烧写,将uboot运行在自己的开发板上。....
码农爱学习 发表于 03-07 09:00 •
1622次
阅读
i.MX6ULL嵌入式Linux开发1-uboot移植初探
本系列教程以i.MX6ULL处理器的ARM开发板为实验基础,学习记录嵌入式Linux开发的各种知识与....
码农爱学习 发表于 03-07 08:57 •
1137次
阅读
万象奥科RZ G2L核心板高低温测试
评估测试RZ/G2L核心板环境适应性,测试低温启动、高温工作、高低温循环状态下的工作情况。
武汉万象奥科 发表于 03-03 15:27 •
10次
阅读
RZ G2L核心板以太网接口性能测试
武汉万象奥科RZ/G2L核心板支持2路千兆以太网接口,评估测试RZ/G2L双网口实际传输速率。
武汉万象奥科 发表于 03-03 14:04 •
10次
阅读
RZ/G2L核心板功耗测试
测试RZ/G2L核心板静态功耗与CPU满负载时的负载功耗,辅助产品设计中的散热方案评估。
武汉万象奥科 发表于 03-03 11:35 •
9次
阅读
linux常用命令大全
linux常用命令大全,一些常用的命令都可以找到
发表于 03-03 09:20 •
40次
阅读
为什么要在汽车上使用SOA架构
整车E/E架构升级,硬件架构上从分布式ECU向域集中式,进一步向中央集中式+区域控制器升级;
发表于 03-02 09:15 •
54次
阅读
瑞萨电子推出64位RISC-V CPU内核RZ/Five通用MPU,开创RISC-V技术先河
瑞萨电子今日宣布,推出基于64位RISC-V CPU内核的RZ/Five通用微处理器(MPU)——R....
发表于 03-01 13:54 •
613次
阅读
keil5+STM32F103C8T6设计的智能插座+人体感应灯 支持跨平台编译运行
这是基于STM32设计的智能插座+人体感应灯。SRM32F103C8T6最小系统板、红外热释电人体感....
DS小龙哥-嵌入式技术 发表于 02-28 13:19 •
1424次
阅读
迅为iTOP-STM32MP157开发板
迅为ITOP-STM32MP157是基于ST的STM32MP157芯片开发的一款开发平台。在STM3....
发表于 02-23 14:43 •
18次
阅读
迅为STM32MP157开发板入门教程之外设功能验证
迅为STM32MP157开发板入门教程之外设功能验证
平常心0 发表于 02-23 14:16 •
27次
阅读
国产平台T3如何快速部署电力能源神器-Docker容器
前 言随着电网数据信息化的深入,电网的各种应用服务增长迅速,原有应用服务部署方式面临着资源利用率低、....
Tronlong创龙科技 发表于 02-17 13:56 •
24次
阅读
Petalinux2020.01 内核DMA驱动调试说明
Petalinux2020.01 内核DMA驱动调试过程分享
赛灵思 发表于 02-16 16:21 •
112次
阅读
为什么要用C语言实现面向对象
不知道有多少人去了解过语言的发展史,早期C语言的语法功能其实比较简单。随着应用需求和场景的变化,....
硬件攻城狮 发表于 02-16 16:19 •
381次
阅读
Linux编程入门
Linux编程入门
发表于 02-16 14:55 •
58次
阅读
如何配置和操作Linux驱动程序开发板
本文档概述了利用Linux开发板为 Linux 内核开发驱动程序的基础知识,并简单介绍了如何配置和操....
德州仪器 发表于 02-15 13:36 •
325次
阅读
选型必备!最新最全的工业核心板目录大全来了!!
随着嵌入式技术的发展,越来越多的处理器应运而生。除了国外的主流半导体厂家,国内的半导体厂家也异军突起....
Tronlong创龙科技 发表于 02-15 09:30 •
25次
阅读
一文详细了解五种IO模型
五种IO模型包括:阻塞IO、非阻塞IO、IO多路复用、信号驱动IO、异步IO。
硬件攻城狮 发表于 02-14 14:38 •
488次
阅读
Linux总线、设备、驱动模型的探究
Linux总线、设备、驱动模型的探究
发表于 02-14 12:01 •
52次
阅读
Cortex-M可以跑Linux操作系统吗?
ARM处理器的体系结构定义了指令集(ISA)和基于这一体系结构下处理器的模型。ARM的指令集从ARM....
发表于 02-08 15:55 •
35次
阅读
Wiley.Linux.Bible.2010.Edition电子教材分享
Wiley.Linux.Bible.2010.Edition电子教材分享
发表于 02-08 15:55 •
38次
阅读
51、STM32、Linux点灯有什么区别?
嵌入式初学者入门的第一个“项目”就是LED点灯,那么,本文带你看看51、STM32、Linux点灯有....
发表于 02-08 15:32 •
85次
阅读
U-Boot架构浅析
导读:嵌入式Linux系统搭建,bootloader是必不可少的一环,而U-Boot已成嵌入式Lin....
发表于 02-07 11:56 •
46次
阅读
深度解析U-Boot网络实现
对于U-Boot而言,并没有完整的实现上述模型,u-boot需要控制固件的尺寸,所以根据需要做了一些....
发表于 02-07 11:53 •
41次
阅读
阅读内核系列之内核调度器为何全局导出
[导读] Linux内核代码庞大,阅读内核书籍总觉得云山雾绕,纸上得来终觉浅,希望通过阅读代码撰写笔....
发表于 02-07 11:49 •
32次
阅读
关于MMU那些事儿
如果我们一直是单任务处理,则不会有任何问题,也或者应用程序所需的内存总是非常小,则这种架构是不会有任....
发表于 02-07 11:27 •
35次
阅读
如何使用v4l2 API读取摄像头
V4L2是Video For Linux的第二个版本,它是Linux的视频捕获的API。在这里,您可....
发表于 02-07 11:16 •
25次
阅读
上古神器vim系列之初探
[导读] 一直以来VIM也用一些,但是用的不熟,最近看了些文章,发现这个东西有必要发大力气系统的练习....
发表于 02-07 11:13 •
48次
阅读
openwifi的射频配置和数字中频设计
这里介绍openwifi项目([链接])的射频和数字中频设计的一些考虑。这些内容也都在openwif....
发表于 02-07 11:06 •
22次
阅读
没有键盘显示器,也能使用EAIDK-310?
近期有部分小伙伴表示,收到了购买的EAIDK-310开发套件。但是,自己只有一台笔记本电脑,如何才能....
发表于 02-07 11:06 •
16次
阅读
深入解析Linux下 Platform_device 及Platform_driver
[导读] 前文分析了Linux设备驱动的驱动模型,本文来聊聊Platform_driver/Plat....
发表于 02-07 10:10 •
65次
阅读
RT-Thread学习笔记分享
我是从2020年11月初开始学习RT-Thread实时操作系统的,在学习RT-Thread之前,我接....
RTThread物联网操作系统 发表于 01-27 18:52 •
645次
阅读
openwifi OFDM接收机信道估计优化
openwifi的接收机一直性能比较弱。具体表现就是如果测量吞吐,那么下行(流量方向是openwif....
发表于 01-26 18:06 •
41次
阅读
基于RK3399微服务器,移植gmrender-resurrect,实现QPlay
首先感谢网友的文章分享《云芯一号试用---更新固件方法+支持wifi》,之前板子无法连接WIFI,导....
发表于 01-26 17:42 •
47次
阅读
在云芯一号中安装Python3和HomeAssistant
第一步:安装Python3打开Linux系统命令行窗口,输入:sudo apt-get instal....
发表于 01-26 17:40 •
43次
阅读
云芯一号优缺点
微服务转型给我们带来了一系列的问题,严格的部署微服务集群需要的物理机成倍增加,云服务器厂商低价引诱上....
发表于 01-26 17:38 •
42次
阅读
彻底弄懂TCP协议:从三次握手说起
说到 TCP 协议,相信大家都比较熟悉了,对于 TCP 协议总能说个一二三来,但是 TCP 协议又是....
发表于 01-26 17:23 •
36次
阅读
Linux 内核架构分析
用户应用层: 特定Linux系统上使用的应用程序集会有所不同,具体取决于计算机系统的用途,但典型示例....
发表于 01-26 17:03 •
24次
阅读
AM4379 AM437x ARM Cortex-A9 微处理器 (MPU)
TI AM437x高性能处理器基于ARM Cortex-A9内核。
这些处理器通过3D图形加速得到增强,可实现丰富的图形用户界面,还配备了协处理器,用于进行确定性实时处理(包括EtherCAT,PROFIBUS,EnDat等工业通信协议)。该器件支持高级操作系统(HLOS)。基于Linux的® 可从TI免费获取。其它HLOS可从TI的设计网络和生态系统合作伙伴处获取。
这些器件支持对采用较低性能ARM内核的系统升级,并提供更新外设,包括QSPI-NOR和LPDDR2等存储器选项。
这些处理器包含功能方框图中显示的子系统,并且后跟相应的“说明”中添加了更多信息说明。
处理器子系统基于ARM Cortex-A9内核,PowerVR SGX™图形加速器子系统提供3D图形加速功能以支持显示和高级用户界面。
可编程实时单元子系统和工业通信子系统(PRU-ICSS与ARM内核分离,允许单独操作和计时,以实现更高的效率和灵活性.PRU-ICSS支持更多外设接口和EtherCAT,PROFINET,EtherNet /IP,PROFIBUS,以太网Powerlink,Sercos,EnDat等...
发表于 09-25 11:51 •
530次
阅读
|