【问题标题】:Atomically check owner, check mode and read file原子检查所有者、检查模式和读取文件
【发布时间】:2017-09-19 13:26:58
【问题描述】:

我有一个应用程序从文件中读取 IP 和端口,然后打开与读取地址的 HTTP 连接。为了更加确定我正在连接到我想要连接的服务器,我只想信任文件的内容,如果它由 root 拥有并且不能被其他任何人写入。

我可以使用 fs.stat 检查所有者和模式,然后读取文件内容,但这会引入竞争条件。

有没有办法自动检查所有者和模式并读取文件内容?

【问题讨论】:

    标签: node.js security


    【解决方案1】:

    我不认为fs.stat 是在引入竞争条件,因为您只是在阅读它而不是在上面写字,所以我认为您找到的解决方案是目前最好的解决方案。 您可以添加一个布尔变量来检查函数是否仍在“读取”文件(读取后应设置布尔值),以避免出现问题。

    【讨论】:

    • 感谢您的回答!我在想如果 1. 我的节点进程运行 fs.stat 2. 另一个进程运行 chmod 3. 我的节点进程读取文件内容,就会出现竞争条件
    • 你无法控制,如果问题是你程序中的一个函数,你可以像我之前说的那样解决它,在弄乱文件之前先检查一下,否则你无法处理那些东西,它是外部的你的代码
    猜你喜欢
    • 2013-09-16
    • 2011-12-16
    • 2014-12-03
    • 2016-08-09
    • 1970-01-01
    • 1970-01-01
    • 2013-03-21
    • 1970-01-01
    • 2018-09-01
    相关资源
    最近更新 更多