fs.chmod()fs.chmodSync() 方法中使用的 mode 参数是使用以下常量的逻辑或运算创建的数字型位掩码:

    常量 八进制值 说明
    fs.constants.S_IRUSR 0o400 所有者可读
    fs.constants.S_IWUSR 0o200 所有者可写
    fs.constants.S_IXUSR 0o100 所有者可执行或搜索
    fs.constants.S_IRGRP 0o40 群组可读
    fs.constants.S_IWGRP 0o20 群组可写
    fs.constants.S_IXGRP 0o10 群组可执行或搜索
    fs.constants.S_IROTH 0o4 其他人可读
    fs.constants.S_IWOTH 0o2 其他人可写
    fs.constants.S_IXOTH 0o1 其他人可执行或搜索

    构造 mode 更简单的方法是使用三个八进制数字的序列( 例如 765)。 最左边的数字(示例中的 7)指定文件所有者的权限。 中间的数字(示例中的 6)指定群组的权限。 最右边的数字(示例中的 5)指定其他人的权限。

    数字 说明
    7 可读、可写、可执行
    6 可读、可写
    5 可读、可执行
    4 只读
    3 可写、可执行
    2 只写
    1 只可执行
    0 没有权限

    例如,八进制值 0o765 表示:

    • 所有者可以读取、写入和执行该文件。
    • 群组可以读和写入该文件。
    • 其他人可以读取和执行该文件。

    当使用期望的文件模式的原始数字时,任何大于 0o777 的值都可能导致不支持一致的特定于平台的行为。 因此,诸如 S_ISVTXS_ISGIDS_ISUID 之类的常量不会在 fs.constants 中公开。

    注意事项:在 Windows 上,只能更改写入权限,并且不会实现群组、所有者或其他人的权限之间的区别。