![为什么 Ubuntu 要求我们在 Ubuntu 网站上注册一个账户才能安装 Snap 包?](https://linux22.com/image/1136687/%E4%B8%BA%E4%BB%80%E4%B9%88%20Ubuntu%20%E8%A6%81%E6%B1%82%E6%88%91%E4%BB%AC%E5%9C%A8%20Ubuntu%20%E7%BD%91%E7%AB%99%E4%B8%8A%E6%B3%A8%E5%86%8C%E4%B8%80%E4%B8%AA%E8%B4%A6%E6%88%B7%E6%89%8D%E8%83%BD%E5%AE%89%E8%A3%85%20Snap%20%E5%8C%85%EF%BC%9F.png)
今天想在 Ubuntu Xenial 上安装一个 Snap 包,但是它提示我在 Ubuntu Single Sign-On 上注册一个账号。
为什么 Ubuntu 会要求我们做这样的事?
安装 Snap 包:
这是 Launchpad 上报告的错误,https://bugs.launchpad.net/ubuntu/+source/software-center/+bug/1581713
答案1
此行为与 Ubuntu 软件中心一致。Canonical 与第三方软件提供商合作,为合作伙伴存储库中的商业软件提供支付和托管服务。在 Ubuntu 16.04 LTS 中,此行为被 Ubuntu 应用商店取代,后者为 snap 存储库的后端提供支持。
虽然命令行工具可以毫无问题地访问免费的 snap,但是 Ubuntu 软件商店使用 Ubuntu One 来处理支付和订单历史记录(这样以前的购买可以在您拥有的任意数量的系统上下载和安装)。
所以这是一个与 Ubuntu 软件所替换的软件行为相匹配的实现细节。
答案2
当前的行为有技术原因和设计原因。
首先,snapd 需要一些因为它执行的是系统级操作,所以它是一种身份验证形式。在命令行上,你可以使用 sudo,就像你一样apt install
,所以不需要在线帐户。当使用软件时,唯一的身份验证形式现在Snap 商店可用。替代方案正在讨论中...
我尝试通过让 snapd 生成一个来解决这个问题马卡龙无需访问商店。但据我所知,购买 Macaroon 需要往返商店一次。
因此,我认为解决这个问题的方法是允许 snapd 生成本地 Macaroons 或使用其他类型的身份验证令牌进行本地访问。(评论 27)
其次,SSO 身份验证是主要的设计模式,因为 Snappy 的主要用例是管理多个 IoT 设备。对台式机/笔记本电脑用户的负面影响是意料之外的。
最终效果是这些设备的安全性大大提高……例如,看看现代 wifi 接入点。您通常会在云端获得一个管理帐户,并通过该帐户管理所有设备。(评论 25)
似乎有计划改变这种行为,这样台式机/笔记本电脑用户就无需使用在线帐户进行身份验证。您可以订阅错误以在发生更改时收到新闻。
向 root 提供提供操作系统授权的令牌类似于允许 root 本身在没有进一步存储信息的情况下进行删除,这是我们允许的...必要的基础设施已经到位,因为我们已经必须分别维护本地和远程 macaroon,并且远程 macaroon 丢失或不正确的情况已经得到处理。(评论 29)