我计划举办一场微看实例内部LXD 容器在 vps 上可通过互联网访问。
从安全角度来看,我是否这样做有什么区别吗?
snap install wekan
(作为 root) vssudo 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 包会相互添加类似类型的限制。这看起来有点过分,但其实没问题。