非常に限られた権限(limited_user
)を持つroot以外のユーザーとしてNode.jsプロセスを実行します。root以外のユーザーが特定の他のユーザーにprocess.setuidを許可する
しかし、このアプリケーションの中には、(他のセキュリティ上の予防措置のなかでも)私はそれほど特権のないユーザーとして実行したいと思われる潜在的な攻撃可能な部分があります。私はプログラムのこの部分を別のファイルに入れて実行したいと思います。childProc.execSync("node my_dangerous_subprocess.js");
このファイルの中には、process.setuid('very_limited_user');
を使用して別のユーザーに切り替えることができます。
root/sudoとしてメインプロセスを実行している限り、動作します。しかし、私はそれを望んでいません。可能であれば、sudo権限なしでプロセスをlimited_user
で実行する必要があります。
だから、Ubuntuの16.04 LS上で実行されている、私はprocess.setuid
を経由して、特定の他のユーザ(very_limited_user
)に切り替えるには、特定の非rootユーザー(limited_user
)を可能にするために何ができるのでしょうか?
Node.jsのバージョンは6.10.2です。