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)
。