以 root 身份安装面向 Internet 的 snap 包,而不是以普通用户身份(具有 sudo 权限)

以 root 身份安装面向 Internet 的 snap 包,而不是以普通用户身份(具有 sudo 权限)

我计划举办一场微看实例内部LXD 容器在 vps 上可通过互联网访问

从安全角度来看,我是否这样做有什么区别吗?

  1. snap install wekan(作为 root) vs
  2. sudo snap install wekan(作为 sudo 组中的用户)

如有任何意见和解释,我们将不胜感激。

答案1

没有有效差异:最终结果(安装卡扣)将是相同的。

由于某些非常好的理由,在裸机上运行的 Ubuntu 系统已禁用 root 提示。

然而,非特权 LXD 容器有点不同:

  • 非特权 LXD 容器具有启用的根提示...但它不是主机根。
  • 由于已经有一个启用了 root 帐户,因此创建启用 sudo 的管理员帐户是可选的。
  • 您还可以从主机控制容器:lxc exec container-name -- snap install wekan。请注意,非特权容器缺少 sudo。

使用您更习惯的方法,并且符合您的组织政策。

评价:我自己的 LXC 容器没有人工管理员账户。我lxc exec最常使用这种方法。

答案2

snap install mypackage以 root 身份运行和运行之间没有什么区别sudo snap install mypackage

事实上,如果你以非 root 用户身份运行以下命令并登录 snap(创建账户:https://login.ubuntu.com/如果你还没有)

sudo snap login

然后你可以以非 root 用户身份运行以下命令(但已登录折断):

snap install mypackage

当你运行 snap 包时,你将在 Linux 运行时上运行该软件,该运行时对该应用程序不应访问的内容有几个内置限制。有点像防火墙。

当您运行 LXD 容器时,您将以类似于 Linux 发行版的方式运行整个 Linux 运行时,并具有将其与主机分开的几个内置限制。

在 LXD 容器内运行 snap 包会相互添加类似类型的限制。这看起来有点过分,但其实没问题。

相关内容