标签: umask

使组可以访问目录中的所有新文件

假设我有两个用户 Alice 和 Bob 以及一个组 GROUPNAME 和一个文件夹foo,两个用户都是 GROUPNAME 的成员(使用 Linux 和 ext3)。

如果我将用户 Alice 下的文件保存为foo,则权限为:-rw-r--r-- Alice Alice。但是,是否可以实现保存在某个子目录下的每个文件都foo具有权限-rwxrwx--- Alice GROUPNAME(即所有者 Alice,组 GROUPNAME)?

acl permissions umask group

152
推荐指数
3
解决办法
24万
查看次数

为什么 umask 不更改文件的执行权限?

如果我将 更改umask0000,我希望创建一个具有rwxrwxrwx权限的文本文件(根据我对 umask 的理解,如“可能的重复”问题中所述)但是,当我尝试此操作时,我得到以下信息

$ umask 0000
$ touch /tmp/new.txt
$ ls -ld /tmp/new.txt 
-rw-rw-rw-  1 alanstorm  wheel  0 Jun  2 10:52 /tmp/new.txt
Run Code Online (Sandbox Code Playgroud)

也就是说,省略了执行权限,我最终得到rw-rw-rw-了文件(目录是rwxrwxrwx)。我在本地 OS X 机器、共享主机上的旧 BSD 机器和在 linode 上运行的 linux 服务器上尝试了这个。

为什么是这样?我的理解是 umask 是权限的最终仲裁者——我对此的理解不正确吗?如果是这样,还有什么会影响 unix 系统上文件的默认权限?

permissions umask

24
推荐指数
2
解决办法
2万
查看次数

如何仅更改一个命令的 umask?

如何使用与默认值不同的 umask 在 Linux(zsh,如果重要)中交互式执行命令,仅用于一个命令?也许将命令组合在一行中?新的 umask 应仅应用于该命令,并为输入的下一个命令返回其默认值。

理想情况下,该命令在输入之前与有效的默认 umask 无关(换句话说,不必指定默认 umask)。

zsh umask

19
推荐指数
1
解决办法
8957
查看次数

Linux下如何查看所有用户的umask?

在 AIX 下,我可以使用以下命令检查umask所有用户:

cut -d : -f 1 /etc/passwd | while read ONELINE; do lsuser -a umask "$ONELINE"; done
Run Code Online (Sandbox Code Playgroud)

但是如何umask在 Linux 下检查所有用户的设置?(su对每个用户然后umask命令?有没有更好的方法?)

更新1:

su对所有用户来说并不是最好的,因为在一些 RHEL 服务器上,一些用户的默认 shell 是暂停/关闭..:

shutdown:x:6:0:shutdown;asdf;asdf;F:/sbin:/sbin/shutdown
Run Code Online (Sandbox Code Playgroud)

所以如果我su对用户...然后服务器关闭?

UPDATE2:我为一个非 su 的答案创建了一个赏金。

umask

19
推荐指数
2
解决办法
11万
查看次数

umask 077 的缺点?

限制性 umask 为 077 有什么缺点?许多发行版(我相信所有发行版,除了 Red Hat?)的默认 umask 为 022,在 /etc/profile.conf 中配置。对于多个用户正在访问的非桌面系统来说,这似乎太不安全了,而且安全性令人担忧。

与此相关的是,在 Ubuntu 上,用户的主目录也使用 755 权限创建,安装程序声明这是为了让用户更容易共享文件。假设用户可以轻松地手动设置权限来共享文件,这不是问题。

还有什么其他缺点?

linux permissions umask

18
推荐指数
2
解决办法
2万
查看次数

umask 在 Linux 中是如何计算的?

所以我知道umask可以限制特权用户,使用这种格式umask ugo

我知道 read = 4, write = 2, and exec = 1. 但是,当我输入时umask,它返回 4 位数字,即0022or 0073。我现在不知道这是如何工作的,因为有一个额外的数字。那个额外的数字是什么0022意思?

umask

18
推荐指数
1
解决办法
3万
查看次数

如何为系统用户设置 umask?

是否可以umask为系统用户设置(使用useradd --system username)?

linux umask useradd

16
推荐指数
1
解决办法
4万
查看次数

umask 值的第一个数字是什么?

如果我理解正确,文件权限有一个关联的 3 位数字,用于指定读/写/执行权限。

umask 值是从默认值中减去的默认“掩码”。那么对于 0022 的 umask 值,777 的默认值将变为 755?

这是否正确,如果正确,umask 值中的第一个 0 是多少?

umask

14
推荐指数
1
解决办法
1万
查看次数

如何为整个 gnome 会话设置`umask`?

使用 Gnome 3.18。我在其他家庭成员之间共享文件,但我的发行版 (archlinux) 上的默认 umask 是0022. 所以创建的每个文件/目录对于我们的公共组都是不可写的。

我尝试插入umask 0002/etc/profile但 gnome 会话仍在使用0022. 不过,它适用于登录 bash shell。

我也尝试在/etc/pam.d/system-auth: 中添加这一行: session required pam_umask.so umask=0002 它与/etc/profile. 我试过

如果我在 gnome-terminal shell 中手动更改 umask,然后我从中启动一个应用程序,比如 gedit,然后它创建的文件具有所需的权限。如果我从 gnome 菜单启动 gedit,则不会。所以我的事情真的是为gnome会话设置umask,我找不到在哪里做。

编辑(回答吉尔斯的评论):我使用 gdm 3.18 作为 DM。我还尝试将 pam_umask 行添加到/etc/pam.d/gdm-launch-environment. 所有其他gdm-*文件都包含session来自文件的包含system-auth,因此它们不需要更多。它不会改变任何东西。

/etc/login.defs包含UMASK 077但也USERGROUPS_ENAB yes应该为主要组是用户名的用户设置umask00770007

包含022umask in的唯一文件/etc是 …

umask gnome3

12
推荐指数
2
解决办法
6612
查看次数

尽管有更严格的 umask,为什么我的主目录中的文件被创建为世界可写的?

我意识到新文件和目录的权限表现得有点奇怪。首先,umask 似乎返回了正确的答案:

$ umask
0002
Run Code Online (Sandbox Code Playgroud)

这意味着对我的用户和我的组具有完全访问权限,对世界其他地方没有写访问权限,没有 suid。但是如果我在 $HOME 中创建一个文件,它看起来是这样的:

$ ls -l testfile 
-rw-rw-rw- 1 robe robe 0 mar 16 12:58 testfile
Run Code Online (Sandbox Code Playgroud)

即,给每个人写访问权限。目录也会发生同样的情况:

$ ls -ld testdir
drwxrwxrwx 2 robe robe 6 mar 16 13:00 testdir
Run Code Online (Sandbox Code Playgroud)

我认为这与使用 umask 0000 而不是 0002 相同。我在所有 /etc 中搜索了一些更改默认 0002 或 0022 的 umask 实例,但没有找到。这是默认的 CentOS 5.5 安装。为什么会发生这种情况的任何提示?

umask centos

11
推荐指数
1
解决办法
1265
查看次数

标签 统计

umask ×10

permissions ×3

linux ×2

acl ×1

centos ×1

gnome3 ×1

group ×1

useradd ×1

zsh ×1