前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >为什么linux中权限r对应4、w对应2、x对应1

为什么linux中权限r对应4、w对应2、x对应1

作者头像
用户3258338
发布2021-01-18 14:41:26
2.3K0
发布2021-01-18 14:41:26
举报

温馨提醒:前两个解释类似,第三个解释可以重点看一下哦!

第一个解释

我们都知道,在linux中权限r对应的数字为4,w对应的数字为2,x对应的数字为1。

那,有没有人想过为什么4就代表r?2就代表w?难道是因为读起来朗朗上口???

实际上,rwx权限在操作系统中,如果有,则是二进制1表示,如果没有,则是二进制0来表示。那么,当文件同时拥有rwx权限时,在计算机中权限就被标识成了二进制111,转换为十进制就变成了4(二进制100,r权限)+2(二进制10,w权限)+1(二进制1,x权限)=7(111,rwx权限),于是乎我们常用的chmod命令后面接的数字是怎么来的就很清楚咯。

第二个解释:

chmod ABC file

其中A、B、C各为一个数字,分别表示User、Group、及Other的权限。

A、B、C这三个数字如果各自转换成由“0”、“1”组成的二进制数,则二进制数的每一位分别代表一个角色的读、写、运行的权限。比如User组的权限A:

如果可读、可写、可运行,就表示为二进制的111,转换成十进制就是7。

如果可读、可写、不可运行,就表示为二进制的110,转换成十进制就是6。

如果可读、不可写、可运行,就表示为二进制的101,转换成十进制就是5。

一些人说的“4=r,2=w,1=x”的意思是:

r 代表读,w 代表写,x 代表执行,

如果可读,权限是二进制的100,十进制是4;

如果可写,权限是二进制的010,十进制是2;

如果可运行,权限是二进制的001,十进制是1;

具备多个权限,就把相应的 4、2、1 相加就可以了:

若要 rwx 则 4+2+1=7

若要 rw- 则 4+2=6

若要 r-x 则 4+1=5

若要 r-- 则 =4

若要 -wx 则 2+1=3

若要 -w- 则 =2

若要 --x 则 =1

若要 --- 则 =0

为不同的角色分配不同的权限,放在一起,就出现 777、677这样的数字了。

第三个解释:

前提:3个二进位表示1个八进制数,000、001、010、011、100、101、110、111分别表示0、1、2、3、4、5、6、7。

rwx: 可读可写可执行表示的二进位是111,转成8进制数是1x2^2 +1x2^1+1x2^0 = 4+2+1;

前两个解释抄自:

https://www.ibadboy.net/archives/564.html

https://blog.csdn.net/u013063153/article/details/53113979


做正确的事比正确的做事重要!

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-01-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 女程序员的日常 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 第一个解释
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档