在Netbeans 8上被linux忽略的umask

时间:2016-02-11 10:49:58

标签: linux netbeans file-permissions

我的linux umask是002。

$ umask
0002

因此,新文件具有664权限。

$ touch new-file
$ ls -l
-rw-rw-r-- 1 david   www-data    0 feb 11 11:37 new-file

但是,如果我从netbeans创建一个新文件(右键单击/ New / Empty文件),它有644权限。

$ ls -l
-rw-r--r-- 1 david   www-data    0 feb 11 11:40 netbeans-file

我可以配置哪些权限包含从netbeans创建的新文件?

2 个答案:

答案 0 :(得分:1)

正如@tripleee所说,Netbeans不是设置umask的shell的孩子。

umask命令位于.bashrc,只有在打开shell窗口但不在会话登录时执行。

将umask命令移动到.profile之后,包括netbeans在内的所有GUI程序都会正确地使用umask。

答案 1 :(得分:0)

umask是一个掩码,在创建文件时,它的预期权限是混合的。这意味着如果Netbeans想要一个带rw-r的文件 - r--并且掩码是002(意味着你想删除为其他人写作),真正的保护将是rw-r-- R--。这背后的操作是:

real_rights = wanted_rights & ~umask

应用程序具有关于对其创建的文件的保护的偏好,并且用户具有他不想要的权限的偏好。