我在 Magento 中有一个电子商务网站。当我使用管理员上传文件时,文件夹将以 770 权限创建,实际文件也将以 770 权限创建。
因此,当 apache 尝试读取该文件时,它会显示禁止错误。
如何使文件默认以 644 权限创建,文件夹以 775 权限创建?
答案1
我不认为你可以默认为文件和目录设置不同的 umask这个答案在这里说。您只需在终端上输入 umask 即可检查当前的 umask。在大多数发行版中,它的默认值为 0022,这可能就是您想要的。当我有点偏执时,我喜欢使用 umask 0007 来稍微锁定它。
文件也以 7(执行)权限创建,这听起来很奇怪,因为这不是正常行为。通常,如果 umask 为 0022,则文件创建为 644,目录创建为 755。
我能想到的出现这种奇怪的 umask 的唯一原因是有人手动设置了它(例如在全局 bashrc 文件中)或在已挂载文件系统的 /etc/fstab 文件中设置了它。在 /etc/fstab 中,您可以分别对文件和目录使用 fmask 和 dmask。
如果您确实希望文件和目录使用不同的 umask,我会尝试类似上述建议的答案:在创建目录时使用默认 umask 0022,然后使用别名:
alias mkdir='umask 002; mkdir'