Rails mkdir 和权限运行不正常

Rails mkdir & permissions not working well

我有这段代码

folder = File.join(SOME_PATH, "some_sufolder")
Dir.mkdir(folder, 0770) unless File.exists?(folder)

我从用户 my_user 使用它在具有以下权限的文件夹中创建目录

drwxrwsr-x 19 my_user some_group

但是,新创建的目录是

 drwxr-s---

所以 Chmod 750 而不是 770 !!

这到底是怎么回事?

而且,我不明白为什么我需要输入 0770 而不仅仅是 770(否则会发生奇怪的事情),第一个数字在做什么?我在 Ruby 文档

中找不到任何相关参考

检查File::umask它可能设置为18(十进制或022八进制),它是从您在#mkdir

中设置的权限中减去的
(0770 & ~(022)).to_s(8) #=> 750