我的公司要求使用戴尔加密软件。
最近,存放在目录中的戴尔加密跟踪器文件的残留物导致了npm install
问题。
戴尔加密在跟踪每个加密文件状态的目录中创建了CredDB2.CEF
文件。当我安装时,我在创建/修改它的npm install request
的bin文件的依赖中得到错误:
npm ERR! path C:\project\node_modules\sshpk\bin\CredDB2.CEF
npm ERR! code ENOENT
npm ERR! errno -4058
npm ERR! syscall chmod
npm ERR! enoent ENOENT: no such file or directory, chmod 'C:\project\node_modules\sshpk\bin\CredDB2.CEF'npm ERR! enoent This is related to npm not being able to find a file.
npm ERR! enoent
相关的详细日志输出为:
1254 silly build sshpk@1.13.1
1255 info linkStuff sshpk@1.13.1
1256 silly linkStuff sshpk@1.13.1 has C:\project\node_modules as its parent node_modules
1257 verbose linkBins sshpk@1.13.1
1258 verbose linkBins [ { 'CredDB2.CEF': 'bin/CredDB2.CEF',
1258 verbose linkBins 'sshpk-conv': 'bin/sshpk-conv',
1258 verbose linkBins 'sshpk-sign': 'bin/sshpk-sign',
1258 verbose linkBins 'sshpk-verify': 'bin/sshpk-verify' },
1258 verbose linkBins 'C:\\project\\node_modules\\.bin',
1258 verbose linkBins false ]
戴尔加密会将CredDB2.CEF
文件创建为有关加密状态的元数据,但是,在这种情况下创建的文件在典型的文件资源管理器中是隐藏的(即使启用了显示隐藏文件),并且无法由使用文件完整路径的应用程序打开。
我怀疑它可能是以一种非隐藏的方式在一个节拍中创建的,然后实际上隐藏在另一个节拍中。同时,安装存储箱时必须对包含CredDB2.CEF
文件的存储箱目录执行chmod
操作,然后在戴尔加密隐藏该文件后执行glob操作,从而导致错误。
我不确定这是应该通过Dell、NPM还是导致错误的NPM软件包上报的错误。
我已经能够在两台计算机上重现这个错误,尽管不是始终如一。我怀疑不一致的复制是由于创建/隐藏CredDB.CEF
文件时的竞争条件造成的。
如果我将项目安装在由戴尔加密软件明确标记为不加密的目录中,则一切正常。然而,从安全的角度来看,这不是一个可接受的答案。
npm中是否有忽略CEF文件或忽略这些特定错误的选项?
有没有其他可以使用的变通方法?
发布于 2019-05-09 03:34:48
按照此support article中的建议,将戴尔加密升级到版本10.0.0.12、A31或更高版本。这将解决在使用节点和"npm install“时看到的CredDB.CEF文件错误消息。
可以在here上找到最新的戴尔加密驱动程序
发布于 2019-04-25 15:40:53
我也面临着同样的问题。戴尔加密工具预装在笔记本电脑中,在windows更新后,它开始运行不正常。在跟踪加密日志时,了解到屏蔽服务未在端点上正确启动:
[03.12.19 13:40:57:329 NTUtils.cpp: 1555 E] [SUPPORT] [E] The Shield service is not running! Attempting to restart. Current service state = 1
升级Dell Encryption解决了问题。
https://stackoverflow.com/questions/49947151
复制相似问题