保存文档时 Sublime Text 3 身份验证问题

保存文档时 Sublime Text 3 身份验证问题

我正在使用 Sublime Text 进行 Web 开发。每次我尝试保存更改(Ctrl+S)时,都会弹出身份验证窗口:

需要身份验证才能以超级用户身份运行“/bin/cp”

显然,当我输入密码时,Sublime 会正确保存更改。但是当我按取消,另一个窗口弹出错误:

错误:administrator_copy_file(/tmp/.Some_File_Here,/var/www/Rest_Of_Path_Here)失败:授权失败

由于我对 Ubuntu 还不太熟悉,我不知道如何摆脱授权弹出窗口。我拥有所有权限/var/www文件夹。

答案1

您无权写入/var/www/Rest_Of_Path_Here。ST3 正在尝试提升其 UID 以作为正确用户写入(因此出现 sudo 提示)。我不知道它可以做到这一点,但我已经测试过了,它确实有效,所以就这样了。

有几种方法可以解决这个问题:

  1. 允许您的用户直接写入文件。这里有很多选择:

    • chown文件,因此您拥有它们。这可能会扰乱以其他用户身份运行的东西,这些用户可能也需要写入,例如以 www 用户身份运行的 Web 服务器。您可能也需要更改他们以何种身份运行。
    • 将您的用户添加到www-data组并更改文件掩码,774以便组成员可以写入/执行。
    • 更改文件掩码以便其他用户可以写入(例如 777)...但如果服务器上已经存在恶意软件,这将非常危险。
    • 使用ACL允许您的用户在不干扰标准权限框架的情况下进行写入。
  2. 将您的工作流程更改为以您的用户身份写入版本控制系统(例如 git),然后在其他用户签出时运行脚本。这还有其他好处。

  3. 以具有写入权限的用户身份运行 ST3:

    sudo -u www-data subl /var/www/Rest_Of_Path_Here
    

    这比仅仅修复文件要糟糕得多。

答案2

我遇到了同样的问题,并且能够通过向我必须在 Sublime text 3 中编辑的特定文件夹提供用户权限来解决该问题。我使用了以下命令:

sudo chmod 775 -R projectname/   
sudo chown username -R projectname/

我认为这将来可能会对其他人有帮助。

答案3

根据您使用的 Ubuntu 版本,通过以下方式之一将您的用户添加到管理员用户组。请尝试以下两种方式:

sudo usermod -a -G admin username

或者

sudo usermod -a -G sudo username

如果您已经在管理员组中,请尝试chown该文件夹。

答案4

在 Linux/Unix 终端中执行以下操作:

sudo chmod -R 777 project-name
sudo chown user-name project-name

尝试过-R 775,但没有用,所以-R 777这个技巧还是奏效了,尽管我已授予所有项目的写入权限

相关内容