创建了m目录,属组是l ,然后属组l 的用户在该目录下创建的文件,权限是775,属组是l ,属组a的用户,在该目录下创建文件,权限是755,属组是a
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
在Linux系统中,目录或文件的权限和属组设置是由umask值、用户身份以及目录的默认权限掩码共同决定的。根据您的描述,我们来分析一下这个场景:
创建m目录时:
m
,且没有特别指定权限,默认情况下,目录的权限可能是775或755,具体取决于系统的umask值。但您没有提供创建目录时的具体权限,所以我们假设它对问题的影响不大,关键是后续在这个目录下创建文件的行为。属组l的用户在m目录下创建文件:
m
下创建文件,得到的文件权限是775,属组仍然是l。这意味着该用户的umask值允许了所有权限(777)减去文件实际权限(775)的结果为002,即umask可能是002。这使得文件具有读、写、执行权限,并且同组用户也有这些权限,只是其他用户没有写权限。属组a的用户在m目录下创建文件:
m
下创建文件,得到的文件权限是755,属组是a。这里,文件权限变为只读、执行权限对所有人开放,但只有创建者有写权限。这种情况表明,该用户的umask值可能为022,因为从最大权限777中减去022后得到755,确保了文件对属主有完全权限,而组用户和其他用户只能读取和执行。综上所述,不同用户在同一个目录下创建文件时,文件的权限会受到各自用户umask值的影响。umask是一个四位八进制数,用于确定新创建文件或目录的默认权限设置,通过从最大权限中减去umask值来决定最终权限。因此,在您的场景中,不同的umask值导致了不同属组用户创建文件时权限的不同。