chmod权限命令

1|0chmod权限命令

1|1一、chmod命令的语法

用于改变文件或目录权限

语法:chmod [对谁操作(ugoa)] [操作符 (+-=)] [赋予的权限(rwx)] 文件名1 文件名2...

chmod [-cfvR] [--help] [--version] mode file...

-c : 若该档案权限确实已经更改,才显示其更改动作
-f : 若该档案权限无法被更改也不要显示错误讯息
-v : 显示权限变更的详细资料
-R : 对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更)
--help : 显示辅助说明
--version : 显示版本

对谁操作:

u 用户user,表现文件或目录的所有者 g 用户组group,表现文件或目录所属的用户组 o 其他用户other a 所有用户all

操作符:

+ 添加权限 - 减少权限 =直接给定一个权限

权限:

r 读 w 写 x 执行

八进制数字表示权限

​ r w x
二进制代表100 010 001
十进制代表 4 2 1

范例:

chmod 755 1.txt
chmod 777 /etc/hurenxiang 将hurenxiang这个文件夹权限改为对所有用户可读,可写,可执行
chmod 775 /etc/caiyao 将caiyao这个文件夹权限改为其他用户不可读

rwx的值为4+2+1=7rw-的值为4+2=6r-x的值为4+1=5rwxr-xr-x的值为755 -rw------- (600) 只有属主有读写权限。 -rw-r--r-- (644) 只有属主有读写权限;而属组用户和其他用户只有读权限。 -rwx------ (700) 只有属主有读、写、执行权限。 -rwxr-xr-x (755) 属主有读、写、执行权限;而属组用户和其他用户只有读、执行权限。 -rwx--x--x (711) 属主有读、写、执行权限;而属组用户和其他用户只有执行权限。 -rw-rw-rw- (666) 所有用户都有文件读、写权限。这种做法不可取。 -rwxrwxrwx (777) 所有用户都有读、写、执行权限。更不可取的做法。

1|2二.chmod命令结构详解

在Linux中输入ll,会出现指定目录下文件/目录的详细信息,

img

详解下图:权限一共是10个字符,第1个字符分为1组,后面9个字符分为3组。

第1个字符有两种情况:如果是“d”则代表这是一个文件夹,如果是“—”代表这是一个文件;

第2、3、4个字符:表示文件拥有者的权限,可以用u来表示,拥有四个权限:r:读权限 , w:写权限,x:执行权限,—:无权限;

第5、6、7个字符:表示文件所属群组的权限,可以用g来表示,拥有四个权限:r:读权限 , w:写权限,x:执行权限,—:无权限;

第8、9、10个字符:表示的是除拥有者和所属群组之外的其他所有的用户,可以用o来表示,拥有四个权限:r:读权限 , w:写权限,x:执行权限,—:无权限。
img

1|3三.chmod命令的使用

-rw--wx--x //该文件的 拥有者有读取和写入的权限,但没有执行权限;
所在群组没有读取的权限,但有写入和执行的权限;
其他用户没有读取和写入的权限,但有执行的权限

d--xr-xrw- //该文件夹的 拥有者没有读取和写入的权限,但有执行的权限;
所在群组没有写入的权限,但有读取和执行的权限;
其他用户没有执行权限,但有读取和写入的权限

范例 :

第一种修改权限的方法

将档案 file1.txt 设为所有人皆可读取 :
chmod ugo+r file1.txt
将档案 file1.txt 设为所有人皆可读取 :
chmod a+r file1.txt
将档案 file1.txt 与 file2.txt 设为该档案拥有者,与其所属同一个群体者可写入,但其他以外的人则不可写入(逗号隔开) :
chmod ug+w,o-w file1.txt file2.txt
将 ex1.py 设定为只有该档案拥有者可以执行 :
chmod u+x ex1.py
将目前目录下的所有档案与子目录皆设为任何人可读取 :
chmod -R a+r *
(-R : 对目前目录下的所有档案与子目录进行相同的权限变更(即以递回的方式逐个变更) )

第二种:用数字赋权:
chmod a=rwx file 和 chmod 777 file 效果相同
chmod ug=rwx,o=x file 和 chmod 771 file 效果相同

第三种:修改目录下的所有文件 | 所有文件 | 所有文件夹和文件的权限

要修改某目录下所有的文件夹属性为可写可读可执行

chmod 777 * 把文件夹名称用*来代替就可以了

要修改某目录下所有的文件属性为可写可读可执行

chmod 777 *.* 把文件夹名称与后缀名用*来代替就可以了。 同理若是要修改所有htm文件的属性 chmod 777 *.htm

要修改/tmp/sco下所有的文件和文件夹及其子文件夹属性为可写可读可执行

chmod -R 777 /tmp/sco

1|4四.对可执行文件的赋权

用户创建的一个文件是没有任何权限的,再Linux的控制台可见文件无权限文件的字体是灰白色的,没权限那么此文件就只是文本文件,不可执行。

img

蓝色表示目录; 绿色表示可执行文件,可执行的程序; 红色表示压缩文件或包文件; 浅蓝色表示链接文件; 灰色表示其它文件;
  • 下面实践来看

首先上传了一个stop1.sh文件,是灰色,然后进行chmod +x给了权限。后来使用chmod -x 去除执行权限,可以明显看到效果

image-20200305184553462


__EOF__

本文作者komomon
本文链接https://www.cnblogs.com/forforever/p/12421896.html
关于博主:喜欢读书、旅行、爬山。评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   komomon  阅读(2112)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示