科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道关于Linux系统用户和所有权模型详解 (2)

关于Linux系统用户和所有权模型详解 (2)

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

直到现在为止,我们使用了叫做“符号”的模式来用 chmod 指定权限的改变。然而,指定权限还有一种普遍使用的方法 — 使用 4 位八进制数。使用叫做数字权限语法的语法,每一位代表一个权限三元组。

作者:chinaitlab 来源:chinaitlab 2007年10月15日

关键字: 模型 用户 操作系统 Linux

  • 评论
  • 分享微博
  • 分享邮件

数字模式

直到现在为止,我们使用了叫做“符号”的模式来用 chmod 指定权限的改变。然而,指定权限还有一种普遍使用的方法 — 使用 4 位八进制数。使用叫做数字权限语法的语法,每一位代表一个权限三元组。例如,在 1777 中,777 设置本章我们所讨论的“owner”、“group”和“other”标志。1 用来设置专门的权限位,我们将在本章的结束部分讲到。

这个图表说明了怎样解释第二到四位(777):

  rwx 7
  rw- 6
  r-x 5
  r-- 4
  -wx 3
  -w- 2
  --x 1
  --- 0
  

数字权限语法

当您需要给一个文件指定所有权限时,数字权限语法特别有用,比如在下面的示例中:

  
  $ chmod 0755 scriptfile.sh
  
  $ ls -l scriptfile.sh
  
  -rwxr-xr-x  1 drobbins drobbins    
    0 Jan 9 17:44 scriptfile.sh
  

在该示例中,我们使用了 0755 模式,它展开为一个完整的权限设置“-rwxr-xr-x”。

Umask

当进程创建了新文件时,它指定新文件应该具有的权限。通常,所请求的模式是 0666(每个人可读和可写),它比我们希望的具有更多的权限。幸运的是,不管什么时候创建了新文件,Linux 将参考叫做“umask”的东西。系统用 umask 值来将初始指定的权限降低为更合理、更安全的权限。您可以通过在命令行中输入 umask 来查看您当前的 umask 设置:

  
  $ umask
  
  0022
  

Linux 系统上,umask 的缺省值一般为 0022,它允许其他人读您的新文件(如果他们可以得到它们),但是不能进行修改。为了在缺省的情况下使新文件更安全,您可以改变 umask 设置: $ umask 0077umask 将确保组和其他用户对于新创建的文件绝对没有任何权限。那么,umask 怎样工作呢?与文件的“常规”权限不同,umask 指定应该关闭哪一个权限。我们来参阅一下我们的“模式到数字”映射表,从而使我们可以理解 0077 的 umask 的意思是什么: 模式 数字 rwx 7 rw- 6 r-x 5 r-- 4 -wx 3 -w- 2 --x 1 --- 0 使用该表,0077 的最后三位扩展为 ---rwxrwx。现在,请记住 umask 告诉系统禁用哪个权限。根据推断,我们可以看到将关闭所有“组”和“其他”权限,而“用户”权限将保留不动。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章