我已经读过几篇文章,比如这,旧的一篇,如何改变umask模式,但仍然无法确定100%,我有Ubuntu14.04运行在Xenial内核中,默认umask 0002,我的目标是在整个系统中永久地设置0027 umask模式。我该怎么做呢?这样做最好的方法是什么?
发布于 2016-08-02 00:15:35
谢谢你为我指明了正确的方向。
从这里开始,我认为简单的步骤是如何将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默认value...used修改为组权限,例如022将变为002。
因此,要使umask 0027生效,请滚到线上:
USERGROUPS_ENAB yes并将其改为:
USERGROUPS_ENAB no好了。在您注销并重新登录后,在终端umask中运行,它将给您提供0027模式。
现在在终端中使用touch创建一个新文件:
touch testfile现在检查权限:
stat -c %a ~/testfile它应该给你640
还有一个简单的方法:
nano ~/.bashrc添加
#Set umask mode
umask 0027关闭并保存,注销和登录。也应该为你工作。
发布于 2016-08-01 23:23:13
一个简单的man -k umask应该引导你阅读man pam_umask,whish说,部分原因是:
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)发布于 2018-11-29 17:44:17
我使用小丑上面的答案来实现027的系统范围,但是我意识到当我使用USERGROUPS_ENAB no时,它需要更多的组管理。所以我觉得我找到了一个最好的答案,基本上:
UMASK=027 /默认/登录(您可能需要创建该文件)中的表单行设置了一个软系统范围的默认设置。因此,现在我使用第一个选项(在/etc/pam.d/公共会话中设置了系统范围的默认设置),它运行得非常好。
祝你好运,朋友们:)
https://askubuntu.com/questions/805862
复制相似问题