umask 为 0002,但新文件为 662,而不是 664

umask 为 0002,但新文件为 662,而不是 664

我正在备战 RHCSA。目前正在学习 UMASK。

问题是我的 umask 设置为 0002,而我以普通用户身份登录,而不是 root 用户。当我创建目录时,它是正确的,目录会获取775,但是当我在 /home/user 中创建文件时,它会获取662,而它应该获取664

[johnconner@linux-vm ~]$ umask
0002**
[johnconner@linux-vm ~]$ ll
drwxrwxr-x. 2 johnconner johnconner 19 May 20 23:23 dir
-rw-rw--w-. 1 johnconner johnconner  0 May 21 12:51 file1

我错过了什么?

编辑:我在 中创建了另一个测试文件/tmp,并且它有664。这告诉我/home/user目录不同。我似乎找不到命令来查看特定目录上设置的 umask。我猜这就是这里发生的事情。

答案1

好吧,导航到 /tmp 后,我返回到 /home/user 并删除了所有文件,然后使用 Touch 创建了一个新文件,它有 664 - 我很茫然,因为这正是我第一次所做的,但唉,它..正常工作。

答案2

约翰,我目前无法发表评论,而且这也不是答案。但是您是否意识到,如果文件不存在,touch 会创建一个新文件,如果文件存在,touch 会更改时间戳?可能是在您更改 umask 时文件确实存在,其权限与旧 umask 相对应。然后,touch 会保持权限不变。这可能是您所看到内容的解释。

相关内容