如何永久更改umask模式?

我已经阅读了一些文章,比如这个老版本如何更改umask模式但仍然无法弄清楚100%我有Ubuntu 14.04运行与Xenial内核默认umask 0002我的目标是永久设置0027 umask模式整个系统。 我该如何实现? 最好的方法是什么?

一个简单的man -k umask应该让你读到man pam_umask ,呃说,部分:

 DESCRIPTION pam_umask is a PAM module to set the file mode creation mask of the current environment. The umask affects the default permissions assigned to newly created files. 

它还说,

 The PAM module tries to get the umask value from the following places in the following order: · umask= argument · umask= entry in the user's GECOS field · UMASK= entry from /etc/default/login · UMASK entry from /etc/login.defs (influenced by USERGROUPS_ENAB in /etc/login.defs) 

谢谢@waltinator指出我正确的方向。

从这里我想到了如何将umask模式设置为刚刚在终端中运行的0027

 sudo gedit /etc/login.defs 

nano你喜欢哪一个。

搜索线:

 Prefix these values with "0" to get octal, "0x" to get hexadecimal. ERASECHAR 0177 KILLCHAR 025 UMASK 027 

编辑引用UMASK的最后一行,这将umask设置为0007 ,只需注销并登录即可生效。

在上面的行上发出通知: 如果USERGROUPS_ENAB设置为“是”,那将修改此UMASK默认值…用作组权限,例如022将变为002

因此,为了使umask 0027生效滚动到该行:

 USERGROUPS_ENAB yes 

并将其更改为:

 USERGROUPS_ENAB no 

完成。 注销并在终端umask登录后运行,它将为您提供0027模式。

现在创建一个touch终端的新文件:

 touch testfile 

现在检查权限:

 stat -c %a ~/testfile 

它应该给你640