当前位置: 首页 > Linux

Linux下“chmod777”中777这个数字是怎么出来的

时间:2023-04-06 04:33:52 Linux

介绍相信很多同学在Linux上执行命令或者写文件甚至读文件的时候都会遇到“Permissiondenied”的错误。“chmod777”命令是用来排除错误获取权限的,那么大家有没有想过为什么777这个数字是这个数字,这个数字又是如何得来的呢?看完这篇文章,相信大家会对Linux下的权限有一个非常详细的了解,也可以针对各种情况获取相应的权限。Linux下用户和组的概念大家应该都知道,Linux是一个允许多用户的操作系统,那么大家有没有了解过Linux下的用户分为哪几类呢?说到这里就不得不提一句“Linux中的一切都是文件”,由此可见Linux是一个以文件为核心的操作系统,那么回到用户类型的问题上,答案是Linux。用户分为三种,分别是owner、group、others,翻译成中文为owner、group、others。对于每一个文件,都有所有者、组、其他三种身份对应的权限。Linux下文件权限的种类以及如何查看文件权限相信大家都用过ls命令。有时候执行ls-al的时候,有没有想过每个文件前面的大段是什么意思?,现在我们分析一下。比如这里简单说明一下,第一列表示文件的类型和权限,第二列表示有多少文件链接到这个节点,第三列表示文件的属主,第四列表示所属组文件的大小,第五列是文件的大小,第六列是文件的最后修改时间,接下来是文件名。本文的重点是第一栏。比如以main.go为例,文件第一列类型和权限的表示是“-rw-r--r--”,这是什么意思?我们将这串字符拆解成第1、2-4、5-7和1-8-10个字符,先说第一个字符,它表示文件的类型,“-”表示这是一个文件,“d”表示这是一个目录,“l”表示这是一个链接文件。当然,还有其他类型,这里不做重点介绍。接下来是三个拆分字符串,它们是什么意思?还记得我们上面提到的owner、group、others吗,这三串字符分别代表了这三个身份对应的文件的权限。接下来,我们来解释一下单个权限字符的含义。rwx是什么意思?正如我们在上面看到的,一些文件权限是rwx,一些是rw-,还有一些是r--。这是什么意思?先说说rwx这三个字符代表什么,“r”表示可读,即可读。“w”表示可写,即“写”。“x”表示可执行。在Linux下,一套完整的权限必须同时出现在三个字符中。他们的顺序不会改变。这是什么意思?意思是不管任何时候,我们都应该三观三看权限。如果没有一定的权限,我们需要用“-”代替。现在我们知道了,第一列的第一个字符表示文件的类型,接下来的三个字符表示对应身份的权限。以main.go为例。它是一个文件。所有者具有读写权限但没有执行权限。组Useful和可读权限没有写和执行权限,其他人也有读权限但没有写和执行权限。如何更改文件的权限你还记得上面的三个身份吗?相应的,改变一个文件的权限有3种方式,分别是:chgrp:改变文件所属的组chown:改变文件的属主chmod:改变文件这里我们只说chmod。回到文章标题,为什么会出现777这个数字?首先我们要知道每个权限对应的分数,r:4,w:2,x:1,权限就是对应分数的总和,比如rwx就是4+2+1=7,rw-就是4+2+0=6,现在大家明白777是什么意思了吧?就是给三个身份分别授予rwx权限,这样算出来的数字777。结束语相信通过本文,您会对Linux用户和权限有所了解。以后在工作学习中也可以根据自己的需要设置权限,而不是盲目使用777。