请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

尊敬的老师,使用chmod +rwx时,o里面w权限加不上,但是chmod a+rwx时,o里面w权限就能加上,+和a+有什么区别吗,还是有什么对o特殊的规定呢

正在回答

1回答

Oscar 2020-04-04 15:29:00

u 表示用户
g 表示用户组
o 表示其它
a 表示所有


https://img1.sycdn.imooc.com//szimg/5e883517091adbd923360404.jpg

上面画红线的那句意思是“如果你没有指定 ugoa”里的任何一个,那么就相当于使用了 a(也就是所有用户),但是在 umask 中设置的位不被影响“。

这个跟 umask 有关。umask 被称为“权限掩码”。umask 是和 chmod 配套的,总共为 4 位(gid/uid,属主,组权,其它用户的权限),不过通常用到的是后 3 个。

可以用 umask 命令来输出目前的 umask 的值。可以看到此时的 umask 的值是 0002。第一个 0 我们暂时不去管它,看后面 002 这三位。此时你建立的文件默认权限是 664(6 - 0,6 - 0,6 - 2),建立的目录的默认权限是 775 (7 - 0,7 - 0,7 - 2),可以用 ls -l 命令验证一下。umask 的用途是为了控制默认权限,不要使默认的文件和目录具有全权而设的。

因为我们的 umask 值为 0002,最后的那位 2 就表示 other 的 w(write) 权限。因此,你用 chmod +rwx file1 的时候,会发现 other 的 w 权限没有被添加,因为 umask 中设置的位不被影响,所以权限变为 775。而你用 chmod a+rwx file1 则不受 umask 的约束,权限变为 777。

https://img1.sycdn.imooc.com//szimg/5e88347409c7ac9d16681114.jpg

知道了 umask 的作用后,你也可以修改 umask 的值了,例如 umask 024,则以后建立的文件和目录的默认权限就为 642 和 753 了。

2 回复 有任何疑惑可以回复我~
  • 提问者 w慕莱坞 #1
    非常感谢!老师
    回复 有任何疑惑可以回复我~ 2020-04-04 18:56:07
  • 提问者 w慕莱坞 #2
    很详细,秒懂
    回复 有任何疑惑可以回复我~ 2020-04-04 18:56:48
问题已解决,确定采纳
还有疑问,暂不采纳
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号