使用pscp并获得权限被拒绝

时间:2010-12-21 20:17:20

标签: ubuntu permissions sudo putty

我正在使用pscp使用以下命令将文件传输到虚拟ubuntu服务器:

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

我得到了错误权限被拒绝。如果我尝试转移到文件夹/ home / user /我没有问题。

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

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

3 个答案:

答案 0 :(得分:11)

如果您拥有服务器:

将自己添加到www-data组:

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

并设置正确的权限:

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

这应该可以解决问题。

答案 1 :(得分:8)

当你写

时要小心以下几点
sudo usermod -G www-data <username>

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

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

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

Ubuntu manpages - usermod

答案 2 :(得分:1)

我遇到了同样的错误“pscp:无法打开YourFilePath:权限被拒绝”,

检查您要覆盖的文件的所有权, 如果你不能覆盖它,你会得到这个错误,

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