Sublime SFTP + Rails + DigitalOcean -- 上传文件

Sublime SFTP + Rails + DigitalOcean -- Uploading Files

最近有幸在@DigitalOcean 上买到了 VPS。这是一个 Ubuntu 14.04 运行 Rails + Nginx & Unicorn。

我想像在本地一样使用 Sublime,所以我安装了商业 SFTP 插件。我能够成功地远程访问我的 VPS,我什至在本地下载了 rails 文件夹。不过现在困难重重,我需要一些帮助。

如何使本地文件夹和远程文件夹保持同步?

通过 Sublime 右键单击​​文件夹会提供一些选项,例如 sync Local -> Remote,这似乎是我想要的,除了每次上传都以 failure (Permission denied) 结尾。

我应该执行本地到远程同步吗?还是我在这里偏离基地?如果我在基地,为什么我的权限被拒绝?

您用于 SFTP 连接的用户可能对您正在处理的文件夹具有读取权限,但无权写入。 因此,您被允许下载您的远程文件夹,但不再允许在其中写入(上传)。

您可以通过 运行 ls -ld /path/to/rails/ 并阅读第一部分(例如,可能是 drwxr--r--)来检查这一点。如果需要,here you can learn more about file system permissions.

如果是权限问题,您可以通过不同的方式解决它,但您应该考虑每种解决方案如何影响应用程序的安全 and/or 功能:

  • 您可以更改 rails 目录的所有者以匹配 Sublime SFTP 用户(参见 man chown),并确保 rails 用户的所有者对其具有写入权限(sudo chmod o+w /path/to/rails)
  • 您可以使用不同的用户访问 Sublime SFTP(对 rails 文件夹具有写入权限的用户)
  • 您可以将 Sublime SFTP 用户添加到 rails 文件夹组 (useradd -G {group-name} username),然后授予文件夹组写入权限 (sudo chmod g+w /path/to/rails)