为什么umask 077不允许用户执行文件/目录?


10

我正在使用umask077。“其他”和“组”没有任何权限,但是用户无法执行文件/目录。为什么umask 077不允许所有者执行文件/目录?

Answers:


6

当您使用umask077时,该用户具有读取,写入和执行权限。用户肯定可以打开(“执行”)目录(在我的答案中,请参见有关为什么必须执行目录的更多信息)。但是,必须始终通过输入chmod u+x myfile; 使文件成为可执行文件。它们永远不会自动执行。umask此答案提供了一些更有用的信息:

您出现问题的可能性可能是您输入的值可能略有错误,导致使用了不同的umask,或者尚未永久设置该值。如果您输入umask 077终端,它将仅对终端的该会话有效。要使其永久为您的用户使用,只需将其添加umask 077到您的中~/.profile。为系统默认设置umask/etc/login.defs; 它曾经/etc/profile。另请参见的联机帮助页的手册页pam_umask,它是处理的分配的pam模块umask

以下示例来自成功设置的umask 077

1)对于文件夹创建mkdir doc选中时,stat doc提供了正确的权限以及一个“可执行”文件夹:

File: `doc'
  Size: 4096        Blocks: 8          IO Block: 4096   directory
Device: 801h/2049d  Inode: 6425268     Links: 2
Access: (0700/drwx------)  Uid: ( 1000/    mike)   Gid: ( 1000/    mike)
Access: 2012-09-12 11:33:01.236675420 +0100
Modify: 2012-09-12 11:33:01.236675420 +0100
Change: 2012-09-12 11:33:01.236675420 +0100
 Birth: -

2)用于文件创建touch new选中则stat new赋予正确的权限;该文件仅在您使用时才可执行chmod +x

File: `new'
  Size: 0           Blocks: 0          IO Block: 4096   regular empty file
Device: 801h/2049d  Inode: 6303902     Links: 1
Access: (0600/-rw-------)  Uid: ( 1000/    mike)   Gid: ( 1000/    mike)
Access: 2012-09-12 11:34:58.272676270 +0100
Modify: 2012-09-12 11:34:58.272676270 +0100
Change: 2012-09-12 11:34:58.272676270 +0100

umask077的A 将显示所示的权限,但是如果在umask 077正确设置后仍然有权限问题(如上所述),我们可以进一步进行研究。


5

所述的umask值将被用于适当地修改默认fmask文件权限(许可基地0666)和DMASK对于目录/文件夹的权限(许可基地0777)。

有效的fmaskdmask值将通过减去umask值来计算(八进制计算)。

因此,umask 0022将导致fmask获得值0644(即0666-0022),而dmask将为0755(即0777-0022)。

umask的 0077防止文件被不仅世界(由最终的八进制数字表示),而且您的任何访问创建组成员(由倒数第二个八进制数字表示)。

参考:


我读得越多,我就越不理解。对于只想做些小改动却又不了解的新手,有什么解释吗?
GusDeCooL,2016年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.