现在的位置: 首页 > 综合 > 正文

Linux默认预设权限属性umask(鸟哥的Linux私房菜基础学习篇第三版-第七章) | (待完善)

2017年12月03日 ⁄ 综合 ⁄ 共 1076字 ⁄ 字号 评论关闭
  • 系统默认预设权限属性的查询

    • 直接 umask ,可以得到如下内容(这个会和当前登录的用户的角色有关的):

      • 0022
      • 怎么是4组啊,不应该是3组吗?其实“与一般权限有关的是后面的3组,第一组是特殊权限用的,后面再补充”
    • 加上【-S】这个参数,可以得到以符号类型显示权限的信息了,如下:
      • u=rwx,g=rx,o=rx
  • 在默认权限的属性上,目录与文件是不一样的。我们知道 x 权限对于目录是非常重要的! 但是一般文件的建立则不应该有执行的权限,因为一般文件通常是用于数据的记录嘛!当然不需要执行的权限了。 因此,预设的情冴如下:
    • 若使用者建立为『文件』则预设『没有可执行( x )权限』,亦即只有 rw 这两个项目,也就是最大为 666 分,预设权限如下:

      • -rw-rw-rw-
    • 若用户建立为『目录』,则由于 x 与是否可以进入此目录有关,因此默认为所有权限均开放,亦即为 777 分,预设权限如下:
      • drwxrwxrwx
  • 要注意的是,umask 的分数指的是『上默认值值需要减掉的权限!』因为 r、w、x 分别是 4、2、1 分,所以啰!也就是说,当要拿掉能写的权限,就是输入 2 分,而如果要拿掉能读癿权限,也就是 4 分,那么要拿掉读与写的权限,也就是 6 分,而要拿掉执行与写入的权限,也就是 3 分,这样了解吗?那么5 分是什么?呵呵! 就是读与执行的权限啦!
    • 如果以上面的例子来说明的话,因为 umask 为 0022 ,所以 user 并没有被拿掉任何权限,不过 group与 others 的权限被拿掉了 2 (也就是 w 这个权限),那么当使用者:

      • 建立文件时:(-rw-rw-rw-) - (-----w--w-) ==> -rw-r--r--
      • 建立目录时:(drwxrwxrwx) - (d----w--w-) ==> drwxr-xr-x
  • 那么如何修改umask的值呢,很简单,直接在 umask 后面加上你要修改的值就可以啦,如:
    • umask 002
    • 这样再输入 umask 看到的是 0002 ,也就是umask后面跟的那个数值是可以不考虑第一组数字的呢,不过你考虑了也不会错啊,例如:直接 umask 0002 然后再umask 看到的还是 0002 呢,不会出错的呢,自己去试试吧
  • 在预设的情况中, root 的 umask 会拿掉比较多的属性,root 的 umask 默认是 0022 , 这是基于安全的考虑啦~至于一般身份使用者,通常他们的 umask 为 0002 ,亦即保留同群组的写入权力! 其实,关亍预设 umask 的设定可以参考 /etc/bashrc 这个文件的内容,不过,不建议修改该文件
  • 总之umask是个很重要的东东,一定要理解的呢;尤其是在你建立的目录或文件下会有team work时,一定要搞清楚权限啊

抱歉!评论已关闭.