我使用PSCP使用此命令将文件传输到虚拟Ubuntu服务器:

pscp test.php user@server:/var/www/test.php

我获得了错误权限。如果我尝试转移到文件夹/家庭/用户/我没有问题。

我想这与我正在使用的用户无权访问文件夹/var/www/有关。当我使用SSH时,我必须使用sudo来访问/var/www/path - 我做到了。

是否可以指定PSCP应该“ sudo”传输到服务器,以便我可以访问/var/www/path并实际上能够将文件传输到此文件夹?

有帮助吗?

解决方案

如果您拥有服务器:

将自己添加到www-data组中:

sudo usermod -a -G www-data <username>

并设置正确的权限:

sudo chown -R www-data:www-data /var/www/
sudo chmod -R 0775 /var/www/

这应该解决问题。

其他提示

当您写作时提防以下内容

sudo usermod -G www-data <username>

选项-G将使指定的用户()成为指定特定组的成员。因此,上述语句将使用户成为www-data组的一部分,但会将用户从用户属于的任何其他组中删除。为避免这种情况,您必须添加选项-A或指定您希望用户参与的所有当前组。我意外地将用户“管理员”从Sudo组中取出,因为我不知道这一点。因此,如果您希望指定的用户保持其当前组成员身份,请编写以下命令。

sudo usermod -G -a www-data <username>

有关USERMOD命令的更多信息,请访问:

Ubuntu manpages- USERMOD

我遇到了同样的错误“ PSCP:无法打开您的filepath:拒绝许可”,

检查您要覆盖的文件的所有权,如果您不能覆盖它,您将获得此错误,

如果您无法控制远程文件,只需尝试重命名要移动的文件即可。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top