https://nixos.org/manual/nix/stable/introduction.html说
多用户支持
Nix 具有多用户支持。这意味着非特权用户可以安全地安装软件。每个用户可以有一个不同的配置文件,即 Nix 存储中出现在用户路径中的一组包。如果用户安装了其他用户之前已经安装过的软件包,则不会再次构建或下载该软件包。同时,一个用户不可能将特洛伊木马注入到可能被另一用户使用的包中。
为什么一个用户不可能将特洛伊木马注入到可能被其他用户使用的包中?
前面的句子是说某个包可能是两个应用程序共享的依赖项吗?
答案1
这在中进行了解释多用户模式部分:
为了允许 Nix 存储在多个用户之间安全共享,重要的是用户不能运行以任意方式修改 Nix 存储或数据库的构建器,或者干扰其他用户启动的构建。如果他们可以这样做,他们就可以在某些软件包中安装特洛伊木马并危及其他用户的帐户。
[...] 当非特权用户运行 Nix 命令时,在 Nix 存储上操作的操作(例如构建)将转发到尼克斯守护进程在执行操作的 Nix 存储/数据库的所有者下运行。
在多用户模式下,可以共享包安装,但(不受信任的)用户无法修改共享包。
如果用户安装了其他用户之前已经安装过的软件包,则不会再次构建或下载该软件包。
不是指依赖关系;这意味着(在多用户模式下)包由所有用户共享。