File Nodejs文件权限

File Nodejs文件权限,file,node.js,file-permissions,File,Node.js,File Permissions,在节点中,fs.stat方法返回一个fs.Stats对象权限,我可以通过fs.Stats.mode属性获得文件权限 以下是相同目录下节点和shell的实际输出: node shell 17407 d rwx rwx rwt 16877 d rwx r-x r-x 16749 d r-x r-x r-x 16832 d rwx --- --- 我需要知道如何解析fs.Stats.modenumber来获得权限 答复 数字采用八进制数字系统,转换为十进制后如下所示: 17407 41777 d

在节点中,
fs.stat
方法返回一个
fs.Stats
对象权限,我可以通过
fs.Stats.mode
属性获得文件权限

以下是相同目录下节点和shell的实际输出:

node  shell
17407 d rwx rwx rwt
16877 d rwx r-x r-x
16749 d r-x r-x r-x
16832 d rwx --- ---
我需要知道如何解析
fs.Stats.mode
number来获得权限

答复 数字采用八进制数字系统,转换为十进制后如下所示:

17407 41777 d rwx rwx rwt
16877 40755 d rwx r-x r-x
16749 40555 d r-x r-x r-x
16832 40777 d rwx --- ---
parseInt(stat.mode.toString(8), 10)
从八进制到十进制的转换是这样的:

17407 41777 d rwx rwx rwt
16877 40755 d rwx r-x r-x
16749 40555 d r-x r-x r-x
16832 40777 d rwx --- ---
parseInt(stat.mode.toString(8), 10)

关于linux中文件权限的优秀教程-

数字格式取决于平台,因此您无法可靠地使用它

当NodeJs开始公开底层的
S_ISDIR
函数和
S_IRUSR
以及类似的常量时,您可以

有关stat格式的一些信息:

canExecute()

checkPermission (<path>, 1, cb);
checkPermission (<path>, 4, cb);
checkPermission (<path>, 2, cb);
checkPermission(,1,cb);
canRead()

checkPermission (<path>, 1, cb);
checkPermission (<path>, 4, cb);
checkPermission (<path>, 2, cb);
checkPermission(,4,cb);
canWrite()

checkPermission (<path>, 1, cb);
checkPermission (<path>, 4, cb);
checkPermission (<path>, 2, cb);
checkPermission(,2,cb);

为什么节点文件utils不支持组和其他权限因为每个操作系统都以不同的方式管理权限,所以我更喜欢只支持用户权限。我知道,但现在我只想获得linux系统的权限。同样,不同样式的手册页-不幸的是tuxfiles.org现在似乎不见了,只是更新了链接。希望这会持续更长时间。对于
rwx
可以执行
stat.mode&0o777
。如果它是您想要的字符串,则执行
(stat.mode&0o777)。toString(8)