我正在使用 Sublime Text 进行 Web 开发。每次尝试保存更改(Ctrl+S)时,都会弹出身份验证窗口:
以超级用户身份运行“/bin/cp”需要身份验证
显然,当我输入密码时,Sublime 会正确保存更改。但是当我按下Cancel 时,另一个窗口会弹出一个错误:
错误:administrator_copy_file (/tmp/.Some_File_Here, /var/www/Rest_Of_Path_Here) 失败:授权失败
由于我对 Ubuntu 很陌生,我不知道如何摆脱该授权弹出窗口。我拥有/var/www文件夹的所有权限。
您无权写入/var/www/Rest_Of_Path_Here
. ST3 正在尝试提升其 UID 以写入正确的用户(因此出现 sudo 提示)。我不知道它可以做到这一点,但我已经对其进行了测试,它可以正常工作,所以你去吧。
有几种方法可以解决这个问题:
允许您的用户直接写入文件。这里有很多选择:
chown
文件,以便您拥有它们。这可能会扰乱以其他用户身份运行的东西,这些用户可能也需要编写,例如以 www-user 身份运行的网络服务器。您可能还需要更改它们的运行方式。www-data
组并将文件掩码更改为,774
以便组的成员可以写入/执行。更改您的工作流程以作为您的用户写入版本控制系统(例如 git),然后在其他用户检出时运行脚本。这带来了其他好处。
以可以写入的用户身份运行 ST3:
sudo -u www-data subl /var/www/Rest_Of_Path_Here
Run Code Online (Sandbox Code Playgroud)
这比仅仅修复文件要丑陋得多。
小智 5
我遇到了同样的问题,并且能够通过向我必须在 Sublime text 3 中编辑的特定文件夹提供用户权限来解决它。我使用了以下命令:
sudo chmod 775 -R projectname/
sudo chown username -R projectname/
Run Code Online (Sandbox Code Playgroud)
我认为这可能对将来对其他人有所帮助。