无法在 VS Code 终端中运行 sudo

无法在 VS Code 终端中运行 sudo

尝试以 sudo 身份运行命令时出现错误

sudo: The "no new privileges" flag is set, which prevents sudo from running as root.
sudo: If sudo is running in a container, you may need to adjust the container configuration to disable the flag.

我没有运行任何容器,并且 sudo 在默认终端上运行良好。

我找到了此页面,但没有关于如何取消设置此标志的说明:https://manpages.ubuntu.com/manpages/jammy/en/man8/sudo.8.html

答案1

这里的问题是,VS Code 对自身进行了沙盒处理,以防止错误(或恶意扩展等)提升权限并可能损害您的系统。因此,它启动的任何进程(包括sudo在终端中)都无法以 PID 0 启动并成为 root。

您可以使用标志启动 vscode--no-sandbox以禁用此沙盒。这将允许由 vscode 启动的进程以 root 身份运行,并允许您sudo在 vscode 终端中使用。但是,这确实会使您的系统更容易受到攻击,因为无法以 root 身份运行进程是出于安全目的而做出的故意设计决定。

答案2

我只需要运行一个sudo chown ...命令,然后打开一个常规终端并运行它。我知道这不是好的答案,但如果你很着急,只想运行一个命令并继续使用 VSCode 终端,请考虑一下。

答案3

因此,您需要做几件事。首先,确保您的用户属于 docker 组。
其次,使用 找到您的 vscode 服务器的进程 ps aux | grep 'bin/code-server' | grep -v grep | awk '{print $2}
第三,使用 kill 终止该进程。
然后重新启动您的 vscode 会话,一切就绪!

相关内容