首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >umask领先0

umask领先0
EN

Ask Ubuntu用户
提问于 2016-03-02 18:56:07
回答 1查看 487关注 0票数 1

我的umask当前(默认)设置为0002,如下所示。我理解从右到左的权限是,其他,用户,所有者。所以第一个0是做什么的?

代码语言:javascript
复制
$ umask
0002
EN

回答 1

Ask Ubuntu用户

发布于 2016-11-30 05:57:42

首先,数字是octal数。

让我举个例子来解释它们的含义。

请注意,setuid and setgid (setuid - set用户id和setgid - set组id)是使用数字4 and 2完成的,sudo chmod 4775将在完成sudo chmod setgid时进行change or set user id on the file or directory

对于由根和组www-data拥有的files,如果您确实在这里说sudo chmod 6711 file,就会发生以下几件事:

  1. 为所有者创建文件read/write/executable (7)
  2. 为组(1)制作文件executable
  3. 使文件‘可执行’为他人(1)
  4. 然后,当文件由owner以外的任何其他人执行时,无论是谁执行该文件,该文件都将以root:www-data的形式运行。

总之,如果您执行了sudo chmod 6711,而另一个用户运行了该文件,它将像您(所有者)执行该文件一样运行。

对于目录:

如果在文件夹上执行sudo chmod g+s,那么由此创建的所有文件都将继承original creatorgroup,而不是您刚刚创建的文件。注意:已经存在的任何文件都不会继承您需要手动完成的新组。

如果您执行sudo chmod u+s,也会发生同样的情况。

我们有sticky bit,它是这样做的:chmod 1000 directorychmod +t directory

当在目录上设置粘滞位时,该目录中的文件只能由根目录或目录所有者或文件所有者解除链接或重命名。

有关更多信息,请查看这里

票数 0
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/741321

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档