我在 Centos 7 上运行了 nodejs。令我困扰的是任何 Node 应用程序都可以遍历整个服务器,更改任何文件并编写新文件。如何阻止 Node 应用程序访问级别以上的文件夹?
最佳答案
这不是一个特定的 node.js 问题,而是一个关于如何保护服务器免受任何形式的潜在行为不端程序的问题。一个庞大的主题,已经写了整本书。
但要回答您的问题:任何软件,包括 node.js 程序,都在具有用户 (uid) 和组 (gid) 以及标准操作系统设施的进程上下文中运行:文件权限、访问控制列表 (ACL)等,确定具有特定uid和gid的进程可以访问什么。
如果您认为 node.js 程序可以访问整个服务器的文件系统,这表明该进程正在以 root 用户身份运行,或者至少具有 super 用户 (su) 权限;在几乎所有情况下,这都会被认为是不好的安全做法。
因此,以用户身份运行 node.js 程序,该用户在已明确授予其最小可能访问权限的文件系统区域之外没有访问权限。
如果您是该主题的新手,这份 CentOS 文档 (https://www.centos.org/docs/5/html/5.1/Deployment_Guide/sec-sel-context-checking-processanduser.html) 可能会有所帮助。
关于node.js - NodeJS访问上面的文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47219121/