systemd 中有许多可用于 Units(如服务)的选项。其中三个被称为ReadWriteDirectories
,ReadOnlyDirectories
和InaccessibleDirectories
。我在虚拟机上使用 Debian 8.5。在某些(较新?)版本的 systemd 中,它们被称为ReadWritePaths
,ReadOnlyPaths
和InaccessiblePaths
. 我可以使用此选项将应该可以访问的目录列入白名单吗?
我有一个已知只能访问某些目录的应用程序。我想限制对这个目录的访问。但是如果我ReadWritePaths
用来指定这个目录,它似乎没有任何影响。手册页说
ReadWriteDirectories= 中列出的目录可以从命名空间内访问,其访问权限与从外部相同。
但是此选项中未指定的目录似乎可以以相同的方式访问。如何拒绝访问所有未指定的内容?还是取决于我的系统它不起作用?有人可能会说,除了InaccessibleDirectories=/
较新版本的联机帮助页之外的所有内容都可以用于将其他所有内容列入黑名单,其中调用了该选项InaccessiblePaths
,说
InaccessiblePaths= 中列出的条目将无法被命名空间内的进程访问,并且可能不计入任何其他挂载点,包括由 ReadWritePaths= 或 ReadOnlyPaths= 指定的那些。
那么,是否有可能使用ReadWriteDirectories
和ReadOnlyDirectories
设置目录白名单?如果不可能,为什么ReadWriteDirectories
存在而它似乎什么都不做?