尝试在 Ubuntu 22.04 上启用 Tor 软件包存储库 - 添加 gpg 密钥时出现权限被拒绝错误

尝试在 Ubuntu 22.04 上启用 Tor 软件包存储库 - 添加 gpg 密钥时出现权限被拒绝错误

我正在尝试按照以下步骤在我的 Ubuntu 22.04 上启用 Tor 软件包存储库:https://support.torproject.org/apt/tor-deb-repo/

一切正常,直到第 3 步。当我运行

wget -qO- https://deb.torproject.org/torproject.org/A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89.asc | gpg --dearmor | tee /usr/share/keyrings/tor-archive-keyring.gpg >/dev/null

我收到权限被拒绝错误:

tee: /usr/share/keyrings/tor-archive-keyring.gpg: Permission denied

我的架构是 amd64,lsb_release -c给出Codename: jammy和。在步骤 2 中cat /etc/debian_versionbookworm/sid我尝试填写 和jammy,但在步骤 3 中bookworm/sid<DISTRIBUTION>我得到了相同的错误。我没有尝试任何实验性的软件包,也没有添加 focal 的行,因为我没有在 focal 上运行。

有人能帮我解决这个问题吗?

提前致谢!

答案1

您需要以 root 身份写入系统目录。因此,您需要在 tee 命令前面添加 sudo 或以 root 身份运行整个命令,例如:

wget -qO- https://deb.torproject.org/torproject.org/A3C4F0F979CAA22CDBA8F512EE8CBC9E886DDD89.asc | gpg --dearmor | sudo tee /usr/share/keyrings/tor-archive-keyring.gpg >/dev/null

答案2

您正在使用的教程假定您的用户具有 root 权限:

注意:符号 # 表示以 root 身份运行代码。这意味着您应该有权访问具有系统管理权限的用户帐户,例如,您的用户应该属于 sudo 组。

在 Ubuntu 上,您主要使用“普通”非特权帐户,并在sudo需要时获得额外权限。您需要额外权限才能执行的操作之一是在$HOME目录之外写入(例如,在目录之外/home/myusername/)。

这正是所讨论的管道的第三部分试图做的事情。tee尝试在中创建一个文件/usr/share/keyrings/,而您的“普通”用户帐户无权在其中闲逛;)因此,您需要通过在sudo管道的这一部分前面加上前缀来获得这部分的权限:

wget -qO- ... | gpg --dearmor | sudo tee ... >/dev/null

注意:为了更好地说明这个想法,上面的管道被缩短了。

管道的第一部分和第二部分wgetpgp无需额外权限即可工作,因此您不需要sudo那里。

相关内容