vscode总是要求保存权限

时间:2018-06-23 18:58:02

标签: linux ubuntu visual-studio-code

我是Ubuntu的新手,这是我的问题:
VSCode一直在寻求权限以将任何编辑保存在任何文件上。

我只想编辑和保存,而不必每次都输入密码,所以在Ubuntu上可以吗?
我试图添加一个新用户,但我也看到了同样的问题。
我曾尝试以root身份运行VSCode,但是说以root身份运行它很危险。

使用VSCode保存文件时,如何避免此权限步骤?

11 个答案:

答案 0 :(得分:7)

确保您(作为Ubuntu用户帐户)是您在VSCode中编辑的文件夹和文件的所有者:

cd /path/to/my/files
chown -R $USER:$USER .

注意:如果您不是大客户,则可能必须在sudo之前加上

sudo chown -R $USER:$USER .

答案 1 :(得分:5)

这是一个常见问题。出于安全原因,您不想更改文件的owner:group,也不想以根用户身份运行VSCode。这是我的解决方案,并提供了一些背景信息。 在典型的Web服务器上,Web文件将是owner:group www-data:www-data(例如)-只有所有者(www-data)具有写许可权。 VSCode在$ USER帐户而不是www-data下运行,因此没有写权限。 您不能将VSCode更改为以www-data身份运行(不容易),因此,替代方法是将$ USER添加到www-data组,并为文件夹授予该组的写权限。这比仅具有读取权限的组的安全性稍差-在我看来,在开发计算机上是可以接受的。 将您自己添加到www-data组:

sudo usermod -aG www-data $USER

这不会立即生效,您需要自行解决然后退出并重新登录

su $USER

检查您是否在www-data组中

id

注销并再次登录。接下来,更改/ var / www / html的权限(或尝试写入的任何位置):

sudo chmod -R ug+rw /var/www/html
sudo chown -R www-data:www-data /var/www/html

重新启动VSCode,您的用户现在应该对该文件夹具有写权限。 如果出于任何原因您不小心更改了目录权限,可以使用以下命令还原它们:

sudo find /var/www/html -type d -execdir chmod 750 {} +

答案 2 :(得分:2)

当文件(您正在尝试使用vscode进行保存)位于PC上的此类位置(需要超级用户权限才能执行更改)时,通常会发生这种情况。要以root身份运行vscode,我们可以使用终端这样运行它:

sudo code --user-data-dir="~/.vscode-root

但是不建议以root用户身份运行vscode,因为sudo权限仅出于管理目的。更好的选择是将您的项目移动到不需要sudo权限的位置(例如桌面等)。

希望这会有所帮助。

答案 3 :(得分:1)

请使用以下链接在管理员模式下打开VS Code。

sudo代码--user-data-dir =“〜/ .vscode-root”

答案 4 :(得分:1)

据我所知,基本上有三种解决方案

  1. root特权(不推荐)运行VS代码

    sudo code --user-data-dir="~/.vscode-root"

如果从终端运行此命令,则VS Code将以root特权启动,但是以root特权运行用户级应用程序是潜在的危险,因为如果VS Code中发现某些漏洞,则可能会影响您的系统。 VS Code也会警告您。

img_warning

  1. 使用chmod -R 777命令(这取决于

sudo chmod -R 777 your_project_directory_location

示例

 sudo chmod -R 777 /var/opt

如果使用此命令,不仅您,而且计算机上的其他用户也可以查看,修改您的项目。因为chmod 777将文件的完全控制权授予了所有人。因此,仅在要与他人共享项目时才使用此命令。

  1. 使用chown命令(推荐

cd location

sudo chown your_username your_project_directory

示例

假设我在project1位置有一个名为/var/opt的目录,我的用户名是mir

cd /var/opt


sudo chown mir project1

但是,如果您在应用chown之前已经创建了一些文件,请不要忘记也更改其权限

sudo chown your_username your_project_directory/your_file_name

示例

sudo chown mir project1/file1.txt

建议使用它,因为它既不会造成任何安全问题,也不会给您的项目带来不必要的访问权限。它通过让您的项目由您自己来解决问题

答案 5 :(得分:0)

我也有同样的情况。我是通过Ubuntu商店安装的。但是,即使在商店内部,最新版本似乎仍在使用snap。我可能没有安装快照。我是通过ubuntu商店卸载的,然后通过终端安装了它。

sudo snap install --classic vscode

它删除了一些错误,但是我仍然遇到保存问题。但是,现在至少存在尝试写入的文件夹。 但是在检查文件后,我不是其中一些文件的所有者,因此您需要确保您是文件的所有者,并且问题应该消失了。请查看接受的答案,以确保文件的所有权。

现在,由于请求/snap/vscode/{version}文件夹的权限,该错误在vscode中引起误导,但是如果您要保存的文件具有所有者permssioner作为用户,则问题将消失。

答案 6 :(得分:0)

为此,您需要更改文件夹的权限 1)打开其父文件夹的终端并输入命令 “ sudo chmod -R 777文件名”。

链接以引用https://www.youtube.com/watch?v=MFQpdELKTLc

答案 7 :(得分:0)

“ sudo chmod -R 777文件名”适用于文件的父文件夹。

答案 8 :(得分:0)

使用以下命令以超级用户身份使用可视代码

  

sudo代码--user-data-dir =“〜/ .vscode-root

谢谢, 沙尼

答案 9 :(得分:0)

使用xampp做:

sudo chmod -R 777 /opt/lampp/htdocs

然后您就可以像人类一样用ctrl+s进行保存,而无需“重试为sudo”

在htdocs中保存php文件时,如何让网站自动刷新?

答案 10 :(得分:-1)

sudo chown -R nameofuser:groupofuser *

nameofuser和groupofuser可以通过ls -al命令找到 您必须在父文件夹中:)希望对您有所帮助