我想在我的虚拟机上运行客户提供的一些应用程序,但我想限制他们的访问。
我想知道我是否为他们创建一个只能在其 $home 目录上读/写/执行文件的用户,然后使用此命令执行他们的应用程序sudo -H -u <client_user> bash -c "command to run their app"
将是安全的。
编辑:我的客户提供的应用程序将从虚拟机上的 NodeJs 服务器执行。因此,我不希望它们从同一 NodeJs 服务器启动的其他应用程序读取/写入/执行文件。
答案1
不允许相互干扰的应用程序永远不应该以root
用户身份运行,它们应该以不同的用户身份运行或在 chroot 监狱中运行。
使用不同的用户还需要具有数据的子树的适当文件权限。即主目录应该有700
权限。