linux中如何修改文件的权限和拥有者所属组

目录标题

chmod指令

chmod指令可以用来修改人员的权限其形式如下:

u代表的是拥有者,g代表的是所属组,o代表的是其他人,a表示所有人,如果你想增加权限的话就使用+,如果你想删除权限的话就使用-,对应的权限就是r w x,当然这里的权限可以是一个组合比如说rwx,rx,wx等等,最后再加上你想要修改的文件,那么这里的操作就如下:

一开始所有人对test1文件的权限都是没有的,我要是想让test1文件的拥有者有读权限就可以使用下面的指令:

如果我想让test1文件的所属组拥有读和执行的权限的话就可以使用下面的操作:

如果我想让test1文件的其他人拥有读写执行权限的话就可以使用下面的指令:

如果我想让test1文件的所有人都没有任何权限的话就可以使用下面的指令:

当然这里的修改还可以连续的将多人进行修改,比如说我想让拥有者的权限变为rx让其他人的权限都变成rwx的话就可以执行下面的操作:

八进制形式权限修改

文件的权限用rwx来表示,如果哪个权限没有的话对应位置上的内容就变成了-,那么这里我们就可以把 - 当成0,把r w x 都看成1比如说rwx就是1 1 1,r - x 就是101 ,r - -就是000,那么这里我们就可以根据这个逻辑列出一个表出来

一个人的权限可以由三个二进制数字来表示,而3个二进制数字可以合成一个8进制数字,一个文件有3类人,所以就有三个不同的权限来进行表示,所以一个文件就应该有三个八进制数字来表示权限,比如说一个文件的权限分别为:rwx rw- r-x那么这个文件的权限就可以用765来进行表示,如果一个文件的权限为 - - - -w- r-x的话,那么就可以使用数字025来表示文件的权限,既然一个文件的权限可以使用数字来表示的话,那么这里我们也可以用数字来修改一个文件的权限,那么修改的形式就是如下:

比如说一个文件的开始权限为000,我们要想将这个权限修改成rwx rwx rwx的话就可以这样进行修改:

如果我们想把这个文件的权限改成r-x rw- r- -的话就可以使用下面的指令:

那么这就是八进制权限修改法,希望大家能够理解。

文件拥有者所属组的修改

使用chown指令可以修改文件的拥有者,使用chgrp指令可以修改文件的所属组,这两个指令的用法如下:

这里我将用户改成了root,如果是普通用户要使用这个指令的话得用sudo进行提权,那么这里的操作如下:

如果是普通用户不用sudo提权的话,是无法修改这里的人的:

这里的chown可以连续修改拥有者和所属组,其用法如下:

那么这就是chown和chgrp的用法,希望大家可以理解。

umask有关内容

我们首先来看看下面的操作:

创建了一个文件夹和一个普通文件,我们通过ll可以看到这里文件的起始权限是rw- rw- r- -,而文件夹的起始权限为rwx rwx r-x那这是为什么呢?答案是跟umask的值有关,往命令行中输入umask就可以看到umask的值:

umask值为0002第一个0表示后面的三个数字都是八进制,我们将三个八进制数字展开成二进制就变成了这样:000 000 010,这里得将这些数字看成权限,所以这里umask的权限就变成了- - - - - - -w-,而umask的概念是权限掩码就是凡事在umask中出现的权限在文件或者目录中都得去掉,linux规定:目录的起始权限为777也就是rwx rwx rwx 普通文件的起始权限是666也就是rw- rw- rw-,而umask中的other有写权限,所以目录和文件在创建的时候就得将other中的写权限去掉,所以目录在创建的时候权限就变为了rwx rwx r-x,文件的权限就变成了rw- rw- r--,那这里我们可以验证一下上面讲的内容是否是对的:

我们讲umask的值进行修改,改成了777然后再创建文件或者目录的话就可以发现这里的起始权限都没有了:

我们还可以讲umask的值设置为444这样我们创建文件或者目录的话就都没有读权限:

这里大家注意的一就是umask不是单独的减法,而是通过下面的公式来算出的最终权限:

umask要去掉的权限位是1,要保留的权限位是0,使用~反转权限后就变成~umask要去掉的权限是0,要保留的权限是1,最后再使用&操作可以让起始权限中与~umask对应的位置为0的数字都变成0,就是~umask为0的位置起始权限也变成了0,最终达到权限删除的作用。

相关推荐
矛取矛求13 分钟前
冯・诺依曼架构深度解析
linux
你觉得2051 小时前
DeepSeek自学手册:《从理论(模型训练)到实践(模型应用)》|73页|附PPT下载方法
大数据·运维·人工智能·机器学习·ai·自然语言处理·知识图谱
参.商.2 小时前
【RH124】 第五章 创建、查看文本文件
linux·运维
小镇敲码人2 小时前
PCRE2 站内搜索引擎项目
linux·网络·c++·搜索引擎
JxHillMan2 小时前
Ubuntu 上安装 Docker
linux·ubuntu·docker
网络安全-老纪2 小时前
网络安全工程师逆元计算 网络安全逆向
linux·服务器·web安全
心灵宝贝2 小时前
CentOS 7.2 (1511) 详解功能安装与使用指南(附安装包)
linux·运维·centos
IT 小旋风3 小时前
Linux centos 7 vsftp本地部署脚本
linux·运维·centos
Forevermoremo3 小时前
uniapp页面列表,详情返回不刷新,新增或编辑后返回刷新
java·服务器·uni-app
我也爱吃馄饨3 小时前
leetcode-回文类题-647-求字符串中 回文子串 的数目
java·linux·leetcode