chmod 777 到底是啥 ???看完这个你就完全懂了!

您所在的位置:网站首页 照葫芦画瓢的下一句是什么 chmod 777 到底是啥 ???看完这个你就完全懂了!

chmod 777 到底是啥 ???看完这个你就完全懂了!

2024-06-06 08:42| 来源: 网络整理| 查看: 265

0X00 前言

可能对于Linux新手而言,很不解的一件事就是: 有时在访问文件xxx时,总是出现权限问题,但是上网一查,大佬们直接一句话: chmod 777 xxx 完事! 相信你当时的心情是这样的: 在这里插入图片描述 我勒个神奇 然后之后遇到权限就照葫芦画瓢的chmod 777,也算是美滋滋。 不过,作为一个打破砂锅的程序猿怎么能就知道chmod 777! 当然提到chmod,我们一定先说清楚Linux的用户管理

0X01 Linux用户与群组 1、用户

我们知道,Linux有一个超级用户——root,它就是整个Linux系统的完全掌控者啊,只要root想做就没有root不能做的。 因此为了安全性等种种考虑,Linux设计者设计了普通用户,比如刚安装Linux的时候会创建一个用户就是一个普通用户(假设叫 j ),当然你可以用adduser指令来增添一个新的用户(当然需要超级权限):

sudo adduser rjs

此时就Linux就有了root,j,rjz三个用户,其中root是超级用户,j和rjs都是普通用户

2、群组

既然有了许多的用户就有了群组的概念,因为你认知的人多了,也就自然而然的分组了,有的是家人,有的是朋友,有的是同学等等。家人,朋友,同学就是群组: 在这里插入图片描述 有了用户和群组的概念,接下来就能好好讲权限问题了

0X01 Linux文件权限 1、权限描述

既然有了用户之分,那么一个用户(比如: j)创建的文件一般来讲就不会给其它用户(比如:rjs)随便篡改,也就是不能给其他人写(w),当然看看(r)还是可以的,也不用那么小气对吧23333 所以Linux的对于同一个文件,不同的用户是有不同的权限的,权限分别有:读( r),写(w),运行(x) 在这里插入图片描述 我们可以采用 ls -l 命令来查看文件权限:

ls -l

会得到如下信息: 在这里插入图片描述 可以看到,本目录下有一个文件夹:Tencent Files 一个文档:wget-log 每一个文件(文件夹)前都有这样的描述: drwxr-xr-x -rwx------- 这就是文件的对于用户的权限! 那这是什么意思呢?且往下看

2、文件权限

上面的描述中一共有10位,其中第一位表示文件的属性: d:表示是一个文件夹 l:表示是一个链接 -:表示是一个普通的文件 注意:这是第一位和后面的不一样

后面的就是我们的今天的主角——权限描述了。 可以看到是一串的 读( r)、写(w)、运行(x) 组成了,那为什么一排有好多个重复出现的 r、w 和 x 呢? 那是因为访问权限是按照用户划分的: 在这里插入图片描述 也就是说,从第2位开始,每三位分别表示 文件所有者、群组用户、其他用户 的权限 比如: drwxr-xr-x 表示文件夹 Tencent Files 对于所有者 j 是 可读可写可执行的(rwx),而对于在同一个群组中的用户是 可读不可写可执行 的(r-x),对于其他用户也是 可读不可写可执行 的(r-x) 有了这个,我们的今天的主角——chmod 终于要登场了!

0X10 chmod 命令:修改文件的访问权限

chmod 就是用来修改文件权限访问权限的!没错就是上面所说的权限! 那 777 又是啥呢??? 您嘞别急,请往下看

1、用数字来分配权限:chmod 的绝对用法

事实上,Linux 系统为每种权限(r、w 和 x)分配了对应的数字:

权限数字r4w2x1

所以,如果我们要合并这些权限,就需要做简单的加法了:将对应的数字相加。

假如我们要分配读、写权限,那么我们就要用 4+2,就等于 6。数字 6 表示具有读和写权限。

以下是可能的组合形式:

权限数字计算—00 + 0 + 0r–44 + 0 + 0-w-20 + 2 + 0–x10 + 0 + 1rw-64 + 2 + 0-wx30 + 2 + 1r-x54 + 0 + 1rwx74 + 2 + 1

所以,对于访问权限的三组(所有者的权限、群组用户的权限、其他用户的权限),我们只要分别做加法就可以了,然后把三个和连起来。

例如,640 分别表示:

文件的所有者有读和写的权限;文件所在群组的其他用户具有读的权限;除此之外的其他用户没有任何权限。

因此,我们可以给的最宽泛的权限就是 777:所有者,群组用户,其他用户都有读、写和运行的权限。这样,所有人就都可以对此文件“为所欲为”了。

相反,如果权限是 000,那么没有人能对此文件做什么。当然,除了 root 之外,root 可以做任何事。 看到现在是不是有一种豁然开朗的感觉: 在这里插入图片描述 但是既然看到这里了,不如继续往下看

2、用字母来分配权限:chmod 的相对用法

我们还可以用字母来分配权限,原理相似,但是又是不必写出所有的三组权限都写出来。有时候比较灵活 我们先来看不同字母代表的含义:

u:user 的缩写,表示所有者;

g:group 的缩写,表示群组用户;

o:other 的缩写,表示其他用户;

a:all 的缩写,表示所有用户。

和这些字母配合的还有几个符号:

+:加号,表示添加权限;

-:减号,表示去除权限;

=:等号,表示分配权限。

举例

#文件 file.txt 的所有者增加读和运行的权限。 chmod u+rx file.txt #文件 file.txt 的群组其他用户增加读的权限。 chmod g+r file.txt #文件 file.txt 的其他用户移除读的权限。 chmod o-r file.txt #文件 file.txt 的群组其他用户增加读的权限,其他用户移除读的权限。 chmod g+r o-r file.txt #文件 file.txt 的群组其他用户和其他用户均移除读的权限。 chmod go-r file.txt #文件 file.txt 的所有用户增加运行的权限。 chmod +x file.txt #文件 file.txt 的所有者分配读,写和执行的权限; #群组其他用户分配读的权限,不能写或执行; #其他用户没有任何权限。 chmod u=rwx,g=r,o=- file.txt 后言

到这里,想必大家都完全明白 chmod 里面的含义了吧~希望大家看完有所收获 ps:今天我才知道原来上课讲过,羞耻啊!所以啊,同学们,好好听课!

———————————————————————————————————————————————— 参考:Linux命令行与Shell脚本编程大全/15 群组的管理和文件权限管理



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3