NodeJ是否需要公共文件权限才能访问文件?

时间:2019-06-18 08:18:40

标签: node.js file-permissions

我尝试使用FileZilla访问数据并另外下载。这工作了。但是,现在我尝试使用具有“ GET”的nodeJS与同一用户访问同一文件。在这里,我得到错误“访问被拒绝”。

我查看了权限,文件的所有者和组可以读取和写入文件,但没有公共权限。我的用户是“组”的一部分。但是,我现在想知道文件是否需要具有公共读写权限才能通过nodeJs访问文件?

快速信息:我通过SFTP使用FileZilla和NodeJS访问该文件。所有配置/用户等都相同。

代码:

let Client = require('ssh2-sftp-client');
let sftp = new Client();

sftp.connect({
    host: config.development.host,
    port: config.development.port,
    username: config.development.username,
    password: config.development.password
}).then(() => {
    return sftp.get(`${config.development.pathToFile}/${filename}`);
}).then(async (data) => {
    console.log('data', data);
    csv({
            noheader: true,
            output: "csv"
        })

谢谢!

1 个答案:

答案 0 :(得分:0)

  

NodeJ是否需要公共文件权限才能访问文件?

只要产生了Node.js进程的用户具有对特定文件的读取权限,您就不会遇到任何问题。


我建议学习多用户环境和权限管理的工作原理。

推荐阅读:

建议进一步阅读:

  

默认的Linux安全模型有些不灵活。给特别   访问(例如修改权限)一群人,您   必须让您的系统管理员与   里面的人。此外,如果您想给其他一套   对另一组人的访问特权(例如读访问),   您不能这样做,因为每个文件只能分配一个组所有者   或目录。要解决此问题,您可以使用ACL(访问控制   列表)。您可以通过以下链接了解有关它们的更多信息:ACLs

(Quote extracted from here)

毕竟,它会派上用场,并且不需要您花很多精力去理解。