linux下 "chmod 777" 中777这个数字是怎么出来的
2021/11/8 7:11:37
本文主要是介绍linux下 "chmod 777" 中777这个数字是怎么出来的,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
引言
相信很多同学在Linux上执行命令或者写入文件甚至读取文件的时候都会遇到一个错误“Permission denied”,大家一般都会使用“chmod 777”这个命令来消除错误获取权限,那么大家思考过为什么是777这个数字吗,这个数字是如何得出的?看完这篇文章后相信大家就会对Linux下的权限相关有了非常详细的了解,也可以针对各种情况获取相对应的权限。
Linux下的用户与群组的概念
大家应该或少的都知道Linux是一个允许多用户的操作系统,那么大家有没有了解过Linux下的用户分为哪几种呢?说到这里,我们就要提一句话“在Linux中任何东西都是文件”,所以可以看出,Linux是以文件为核心的一个操作系统,那么回到用户类型的问题上来,答案就是Linux的用户分为三种,分别是owner、group、others,翻译成中文就是所有者、群组、其他。针对每个文件都有着owner、group、others的三个身份所对应的权限。
Linux下的文件权限类型以及如何查看文件的权限
相信大家都使用过ls命令吧,有时候大家在执行ls -al的时候有没有想过每个文件前面那一大段是什么意思呢?,现在我们就来解析一下。举个例子
这里大概的简要说明一下
第一栏表示文件的类型以及权限,第二栏表示有多少文件链接到这个节点,第三栏表示文件的所有者,第四栏表示文件的group,第五栏则是文件的大小,第六栏就文件的最后修改时间,接下来就是文件的名称
我们这篇文章的关注重点是第一栏,举个例子,拿main.go来说,第一栏文件类型和权限的表示是"-rw-r--r--",这是什么意思呢,我们将这一串字符拆解成第一个、第2-4个、第5-7个以及第8-10个字符,先说说第一个字符,表示的是文件的类型,"-"表示这个是一个文件,“d”表示这是一个目录,“l”则表示这是一个链接文件,当然还有其他的类型,这里我们暂且不关注。
接下来就是拆分的三个字符串,他们是什么意思呢?还记得我们上面讲过的owner、group、others吗,这三串字符就是分别表示的这个文件对应这三个身份的的权限。下面我们来讲解一下单个权限字符对应的意思
rwx是什么意思
上面我们看到,有的文件权限是rwx,有的却是rw-,有的是r--,这是什么意思呢?我们先来说一下rwx三个字符分别代表什么,“r”表示可读,即read。“w”表示可写,即“write”。“x”表示可执行。在Linux下一组完整的权限必须是三个字符同时出现的。并且他们的顺序是不会变的,这是什么意思呢,表示不管在任何时候,我们都应该三个三个的去看权限,如果没有某个权限则需要用“-”代替,现在我们知道了,第一栏的第一个字符表示的是文件的类型,接下来每三个字符表示对应身份的权限,拿main.go举例,他是一个文件,owner拥有读写权限没有执行权限,group有用可读的权限没有写以及执行权限,others也是拥有可读权限没有写及执行权限。
如何更改文件的权限
还记的我们上面的三种身份吗,那么对应的,更改一个文件的权限也有三种方式,分别是:
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。
转:https://segmentfault.com/a/1190000018634232
这篇关于linux下 "chmod 777" 中777这个数字是怎么出来的的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-12如何创建可引导的 ESXi USB 安装介质 (macOS, Linux, Windows)
- 2024-11-08linux的 vi编辑器中搜索关键字有哪些常用的命令和技巧?-icode9专业技术文章分享
- 2024-11-08在 Linux 的 vi 或 vim 编辑器中什么命令可以直接跳到文件的结尾?-icode9专业技术文章分享
- 2024-10-22原生鸿蒙操作系统HarmonyOS NEXT(HarmonyOS 5)正式发布
- 2024-10-18操作系统入门教程:新手必看的基本操作指南
- 2024-10-18初学者必看:操作系统入门全攻略
- 2024-10-17操作系统入门教程:轻松掌握操作系统基础知识
- 2024-09-11Linux部署Scrapy学习:入门级指南
- 2024-09-11Linux部署Scrapy:入门级指南
- 2024-08-21【Linux】分区向左扩容的方法