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

文章目录

  • 一、命令介绍
  • 二、语法格式
  • 三、常用选项
  • 四、权限表达式
    • (一)采用权限字母和操作符表达式
    • (二)采用权限数字表达式
  • 五、参考示例
    • (一)为拥有者、所属群组以及其他人添加关于directory1的读、写和执行权限
    • (二)删除群组与其他人对 directory1 目录的读、写、执行权限
    • (三)为文件 f01 设置拥有者可以执行,所属群组可以写入的权限
    • (四)为文件 f01 设置拥有者可读可写可执行,所属群组可读可写,其它用户可读的权限
    • (五)对文件 f01 设置所有用户可执行属性
    • (六)将 /home/wwwroot/ 里的所有文件和文件夹设置为755权限
    • (七)将当前目录下的所有文件与子目录设为任何人可读取
  • 六、扩展知识

一、命令介绍

chmod 命令的英文原意是“change the permissions mode of a file”,我们简称为“change mode”,意为用来改变文件或目录权限的命令,但是只有文件的属主和超级用户 root 才能执行这个命令。

在 UNIX 系统家族里,文件或目录权限的控制分别以读取、写入、执行3种一般权限来区分,另有3种特殊权限可供运用。符号连接的权限无法变更,如果用户对符号连接修改权限,其改变会作用在被连接的原始文件。

二、语法格式

chmod <选项> <参数>

参数:

  1. 指定文件的权限模式;
  2. 要改变权限的文件。

三、常用选项

选项说明
u操作对象简称,用户user,文件或目录的所有者。
g操作对象简称,同组用户group,文件或目录所属群组
o操作对象简称,其它用户others
a操作对象简称,所有用户all,系统默认使用此项
+权限操作符,添加权限
-权限操作符,取消权限
=权限操作符,设置文件的权限为给定的权限
r权限设定(英文),表示可读权限,数字代号为“4”
w权限设定(英文),表示可写权限,数字代号为“2”
x权限设定(英文),表示可执行权限,数字代号为“1”
-权限设定(英文字符),表示没有权限,数字代号为“0”
X权限设定,如果目标文件是可执行文件或目录,可给其设置可执行权限
s权限设定,设置权限suid和sgid,使用权限组合“u+s”设定文件的所有者的ID位,“g+s”设置文件所属组的ID位
t权限设定,只有目录或文件的所有者才可以删除目录下的文件
-c 或 --changes效果类似“-v”参数,若该文件权限确实已经更改,才显示其更改动作
-f 或 --quiet 或 --silent操作过程中不显示任何错误信息
-R 或 --recursive递归处理,以递归的方式逐个变更,将指令目录下的所有文件及子目录一并处理(对目前目录下的所有文件与子目录进行相同的权限变更)
-v 或 --verbose显示命令运行时的详细执行过程
–reference=<参考文件或目录>把指定文件或目录的所属群组全部设成和参考文件或目录的所属群组相同
<权限范围>+<权限设置>开启权限范围的文件或目录的该选项权限设置
<权限范围>-<权限设置>关闭权限范围的文件或目录的该选项权限设置
<权限范围>=<权限设置>指定权限范围的文件或目录的该选项权限设置
–help显示帮助信息
–version显示版本信息

四、权限表达式

(一)采用权限字母和操作符表达式

授权对象:
⑴ 拥有者,代表字母 u ,user 的缩写
⑵ 所属群组,其实就是拥有者所在的群组,代表字母 g,group 的缩写
⑶ 其他人,代表字母 o,other 的缩写

权限字母符号:
⑴ 读,代表字母 r,read 的缩写
⑵ 写,代表字母 w,write 的缩写
⑶ 执行,代表字母 x,execute 的缩写

(二)采用权限数字表达式

权限数字:

⑴ 4=r,读取
⑵ 2=w,写入
⑶ 1=x,执行

权限组合:

⑴ 5=4+1=rx,表示可读可执行
⑵ 6=4+2=rw,表示可读可写
⑶ 7=4+2+1=rwx,表示可读可写可执行

命令 chmod 后面的数字表示不同用户或用户组的权限。一般是三个数字:

⑴ 第一个数字表示文件所有者的权限
⑵ 第二个数字表示文件所属用户组的权限(其实就是与文件所有者同属一个用户组的其他用户的权限)
⑶ 第三个数字表示其它用户组的权限(其实就是不在文件所有者所在的用户组的其他用户的权限)

举个例子:
执行命令 chmod 755,设置用户的权限为:

⑴ 设置文件所有者的权限为 7,就是“可读可写可执行”
⑵ 设置文件所属用户组的权限为 5,即设置与文件所有者同属一个用户组的其他用户的权限为 5,就是“可读可执行”
⑶ 设置其它用户组的权限为 5,也是“可读可执行”

特别例子:
chmod 4755chmod 755 的区别在于开头多了一位,这个 4 表示其他用户执行文件时,拥有与所有者相当的权限。

五、参考示例

(一)为拥有者、所属群组以及其他人添加关于directory1的读、写和执行权限

[root@linuxcool ~]# chmod ugo+rwx directory1 

或者

[root@linuxcool ~]# chmod 777 directory1 

第一个 7 表示所有者的权限是 rwx,第二个 7 表示所属组的权限也是 rwx,第三个 7 表示其他用户的权限也是 rwx。

(二)删除群组与其他人对 directory1 目录的读、写、执行权限

[root@linuxcool ~]# chmod go-rwx directory1 

(三)为文件 f01 设置拥有者可以执行,所属群组可以写入的权限

[root@linuxcool ~]# chmod u+x,g+w f01

(四)为文件 f01 设置拥有者可读可写可执行,所属群组可读可写,其它用户可读的权限

[root@linuxcool ~]# chmod u=rwx,g=rw,o=r f01

上面的权限修改命令等同于下面的命令:

[root@linuxcool ~]# chmod 764 f01

(五)对文件 f01 设置所有用户可执行属性

[root@linuxcool ~]# chmod a+x f01

(六)将 /home/wwwroot/ 里的所有文件和文件夹设置为755权限

[root@linuxcool ~]# chmod -R  755 /home/wwwroot/* # -R 递归处理

(七)将当前目录下的所有文件与子目录设为任何人可读取

[root@linuxcool ~]# chmod -R a+r * 

六、扩展知识

Linux 系统中,预设的情況下,系统中所有用户的相关信息都是记录在 /etc/passwd 文件中。每个人的密码则是记录在 /etc/shadow 文件下。 所有的组群名称记录在 /etc/group 内。

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

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

相关文章

12章总结

一.集合类概述 java.util包中提供了一些集合类&#xff0c;这些集合类又被称为容器。 集合类与数组的不同之处&#xff1a; 数组的长度是固定的&#xff0c;集合的长度是可变的&#xff1a;数组用来存放基本类型的数据&#xff0c;集合用来存放对象的引用。 常…

java亮剑_黄金矿工3-太空版

快速搜索机型:诺基亚 N70系列(176208)7610 3230 6600 6260 6620 6630 6670 6680 6681 6682 N70 N72 ;松下: X700 X800 ;联想: P930诺基亚 N73系列(240320)N73 5320 5320XM 5320di_XM 5630XM 5700 5700XM 5710XM 5730XM 6110 6110N 6120 6120C 6120ci 6121 6122C 6124C 6210S 62…

怎么知道跟交换机互联的交换机_怎么选择POE交换机

工作的呢&#xff1f;48V供电的就是标准PoE吗&#xff1f;下面我们简单讲解一下标准PoE和MCU PoE交换机&#xff08;单片机&#xff09;及非标PoE设备是怎么工作的。标准PoE和MCU PoE交换机&#xff08;单片机&#xff09;以及非标准PoE产品定义首先我们来看一下什么是标准PoE、…

并发查询parallel_惯用并发:flatMap()与parallel()– RxJava常见问题解答

并发查询parallel简单&#xff0c;有效和安全的并发是RxJava的设计原则之一。 然而&#xff0c;具有讽刺意味的是&#xff0c;它可能是该库中最容易被误解的方面之一。 让我们举一个简单的例子&#xff1a;假设我们有一堆UUID并且对于每个UUID &#xff0c;我们必须执行一组任务…

java正则表达式 匹配()_学习Java正则表达式(匹配、替换、查找)

import java.util.ArrayList;import java.util.regex.Matcher;import java.util.regex.Pattern;public class test {public static void main(String[] args) {getStrings(); //用正则表达式获取指定字符串内容中的指定内容System.out.println("********************"…

Linux 命令之 chown -- 用来变更文件或目录的拥有者或所属群组

命令介绍 Linux/Unix 属于多用户多任务操作系统&#xff0c;所有的文件皆有拥有者。利用 chown 命令可以将指定文件的拥有者改为指定的用户或组&#xff0c;用户可以是用户名或者用户ID&#xff0c;组可以是组名或者组ID&#xff0c;文件是以空格分开的要改变权限的文件列表&a…

在excel中如何筛选重复数据_Excel中12招筛选使用大全,小白也能秒变高手

【温馨提示】亲爱的朋友&#xff0c;阅读之前请您点击【关注】&#xff0c;您的支持将是我最大的动力&#xff01;在日常使用Excel处理数据时&#xff0c;相信小伙伴们对于筛选功能已经是不陌生了&#xff0c;Excel筛选功能可以快速有效的帮助我们处理大量的数据&#xff0c;将…

静态内部类实现mysql连接_Java - 静态内部类

Java语言允许在类中再定义类&#xff0c;这种在其它类内部定义的类就叫内部类。内部类又分为&#xff1a;常规内部类、局部内部类、匿名内部类和静态嵌套类四种。1、静态内部类定义静态内部类&#xff0c;定义在类中&#xff0c;任何方法外&#xff0c;用static定义&#xff1b…

Linux 命令之 ll -- 列出当前文件或目录的详细信息

文章目录命令介绍常用选项参考示例&#xff08;一&#xff09;查看当前目录下所有文件的详细信息&#xff0c;且按创建时间排序&#xff08;二&#xff09;按时间倒序&#xff0c;分页排列文件&#xff08;三&#xff09;查看某个目录的详细信息&#xff08;四&#xff09;查看…

cli命令行界面 demo_Java命令行界面(第24部分):MarkUtils-CLI

cli命令行界面 demo本系列的第一篇 有关使用Java解析命令行参数的文章介绍了Apache Commons CLI库。 这是本系列中介绍的基于Java的命令行解析库中最古老的&#xff0c;而且可能是最常用的之一。 Apache Commons CLI确实显示了它的时代&#xff0c;特别是与一些更现代的基于Jav…

python打包成exe_【Python基础】一篇文件教你py文件打包成exe

场景:如果要将我们编写好的代码给别人使用,如果要他们直接使用我们的代码,就需要安装各种编译软件以及第三方模块,还要对软件操作,编程有一定的了解,这对使用者的要求比较高,不是很方便,为了解决这一问题,我们可以选择将我们编写的代码,编译成一个可执行文件,这样,就可以实现跨…

mongodb启用身份验证_为您的Web应用程序启用两因素身份验证

mongodb启用身份验证支持两因素身份验证&#xff08;2FA&#xff09;几乎总是一个好主意&#xff0c;尤其是对于后台系统。 2FA有许多不同的形式&#xff0c;其中一些包括SMS&#xff0c;TOTP甚至是硬件令牌 。 启用它们需要类似的流程&#xff1a; 用户转到其个人资料页面&a…

MySQL 数据库命令之 mysqlshow -- 显示 MySQL 数据库相关信息

文章目录介绍语法格式常用选项参考示例&#xff08;一&#xff09;显示指定数据库中的所有表的记录数和列数&#xff08;二&#xff09;显示指定数据库中所有的数据表的额外信息&#xff08;三&#xff09;查看指定数据库中的所有数据表&#xff08;四&#xff09;显示所有的数…

java中的gui_java gui快速入门教程

JCheckBox和JRadioButton使用示例import java.awt.*;import javax.swing.*;class Hobby extends JPanel {JCheckBox c1 new JCheckBox("写作",false);JCheckBox c2 new JCheckBox("音乐",false);JCheckBox c3 new JCheckBox("跑步",false);JR…

cad图标注释大全_CAD源泉插件快捷键使用教程(全集)

点击直达全集教程地址​www.bilibili.com此插件和海龙工具箱功能相似&#xff01;不建议同时安装&#xff0c;快捷命令冲突。插件工具箱 图文介绍平面空间布置 jj这个命令把我们常规用到的家装空间都已经用上了&#xff0c;除了切换不同空间布置格局&#xff0c;而且图块的样式…

java登录界面命令_Java命令行界面(第30部分):观察

java登录界面命令这个有关Java命令行参数解析的系列文章由四个月来发表的29篇帖子组成&#xff0c;涵盖了28个不同的开放源代码库&#xff0c;可用于解析Java命令行参数。 这篇文章收集了可以从本系列的前29篇文章中得出的一些观点&#xff0c;并提供了选择28个库中的一个或决定…

MySQL 数据库命令之 mysqladmin -- MySQL 服务器管理客户端

文章目录一、介绍二、语法格式三、命令参数&#xff08;一&#xff09;参数默认值&#xff08;二&#xff09;默认参数四、支持的管理命令五、参考示例&#xff08;一&#xff09;每隔两秒查看一次服务器的状态&#xff0c;总共重复 5 次&#xff08;二&#xff09;修改 root 密…

分支限界法 tsp java_基于分支限界法的旅行商问题(TSP)一

//分支限界法#include#include#include#includeconst int INF 100000;const int MAX_N 22;using namespacestd;//n*n的一个矩阵intn;int cost[MAX_N][MAX_N];//最少3个点&#xff0c;最多MAX_N个点structNode{bool visited[MAX_N];//标记哪些点走了int s;//第一个点int s_p;/…

苹果录屏功能没有声音_其实苹果手机也有录屏功能!简单操作几步,就能轻松开启...

现在手机中的娱乐方式越来越多了&#xff0c;大家遇到有趣的事情就想分享给朋友&#xff0c;但是一些视频不能直接分享链接&#xff0c;还是挺麻烦的。不过我们可以通过录屏的方式来进行分享的&#xff0c;其实苹果手机就自带录屏工具&#xff0c;简单操作几步&#xff0c;就能…

Linux 启动/重启/停止 MySQL 数据库的命令

文章目录一、启动 MySQL 数据库的命令&#xff08;一&#xff09;使用命令 service 启动&#xff08;二&#xff09;使用命令 systemctl 启动二、停止 MySQL 数据库的命令&#xff08;一&#xff09;使用命令 service 停止&#xff08;二&#xff09;使用命令 systemctl 停止&a…