在以非root user1身份运行的NodeJS脚本中,如何检测指定的user2是否具有对磁盘上文件的读取访问权限?
请注意,此过程不可用,并且user2的登录凭据不可用,因此sudo -u user2 namei /path/to/file
之类的操作是不可行的。
答案 0 :(得分:0)
根据Node.js文档,fs.access()可用于确定访问权限:
// Check if the file is readable.
fs.access(file, fs.constants.R_OK, (err) => {
console.log(`${file} ${err ? 'is not readable' : 'is readable'}`);
});
err
的存在表明该文件不可读。
答案 1 :(得分:0)
这是我使用的解决方案(不是 NodeJS 特定的)来查找 user1 是否可以访问现有文件:
true
,否则转到2group
是否包含文件的组 ID?如果是,返回true
,否则转4false
user1
吗?如果是,返回true
,否则返回false
这会检查文件的所有常见访问和组限制。