如何使用 WinSCP 将文件复制到 `/var/www`?

如何使用 WinSCP 将文件复制到 `/var/www`?

当我尝试将我的 Web 文件放入/var/www我的 ec2 Ubuntu 实例上的 apache 中时,它给出了一个错误,指出我没有权限。

Permission denied.
Error code: 3
Error message from server: Permission denied
Request code: 3

我如何授予自己权限来执行此操作,或者/var/www使用 WinSCP 复制文件的最佳方法是什么?

答案1

我在 WinSCP 中遇到了同样的错误。一种解决方案是使用 更改“/www/”文件夹的所有权chown。这样,您可以让您登录的用户成为所有者,而不是“root”成为所有者。我使用的是 Amazon Linux 实例而不是 Ubuntu,但这个命令对我有用:

sudo chown -R -v ec2-user /var/www/

用户“ec2-user”是我登录的用户。

可能有用的链接

答案2

为通过 WinSCP 登录的用户启用写入权限。有两种方法可以做到这一点。

第一种方法是更改​​文件夹的权限,允许任何人写入。这不是最好的安全措施。

chmod 777 /var/www


第二种方法是将您的用户添加到拥有该目录的组,然后设置该组对该目录的写入权限。

找出目录的所有者:

ls -l /var | grep www

您会看到类似以下内容:drwxr-x--- 9 www-data www-data 4096 Jul 14 2009 www 需要注意的重要一点是 root 和 root 这两个名称。在本例中,目录的所有者是 www-data,目录的组是 www-data。因此,现在您将把用户添加到组 www-data。

usermod -G www-data user

现在只需向该组添加写权限。

chmod 770 /var/www

现在

ls -l /var | grep www

应返回:drwxrwx--- 9 www-data www-data 4096 Jul 14 2009 www

这样,您将能够写入目录,但不会向所有人开放写权限。

答案3

在 ec2 上这对我来说有效。使用用户“ec2-user”通过 putty 登录到 box 并使用命令:

sudo root
chmod 777 <NAME_OF_FOLDER>

注意:这授予所有用户写访问权限。

现在应该可以使用 WinScp 进行写入。

答案4

您需要授予用户写入权限,记住以前的使用权限stat /var/www

然后,您可以更改它们,sudo chmod 666 /var/www并在需要时将它们改回来。

请查阅man chmodman sudo参考互联网上的其他文件权限手册以获取更多信息...

相关内容