终端命令(不是从 SU 调用)会限制进程写入除一个目录之外的所有目录?

终端命令(不是从 SU 调用)会限制进程写入除一个目录之外的所有目录?

我们有一个应用程序testApp。我们notRestricted在运行应用程序的目录中有一个名为的文件夹。我们希望限制应用程序对文件系统的访问,以便应用程序只能写入该文件夹(我们更愿意让它从应用程序通常可以读取的任何地方读取)。如何在 Unix 上做这样的事情?

答案1

创建一个专门运行该应用程序的用户。授予该用户对该notRestricted目录的写入权限,而不是其他地方的写入权限。由于您不介意应用程序是否可以从任何地方读取,因此您不需要任何更复杂的东西。

应用程序仍然能够写入公共可写目录:/tmp并且/var/tmp在大多数设置上。如果这是一个问题,请设置一个访问控制列表在这些目录上并拒绝对应用程序的写权限,例如在 Linux 上

setfacl -m user:testUser:0 /tmp /var/tmp

请确保用户所在的组不具有对您不希望应用程序写入的某些目录的写入权限。

答案2

这就是 Gentoo 的沙箱系统确实如此。它没有特别详细的记录,我不确定在非 Gentoo 系统上运行会有多困难,但它可能是可行的。

您可以获得当前的稳定版本这里,然后查看 etc/sandbox.conf 以了解如何配置它。

相关内容