Использование pscp и получение разрешения запрещено - PullRequest
16 голосов
/ 21 декабря 2010

Я использую 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 ]

12 голосов
/ 22 декабря 2010

Если у вас есть сервер:

Добавьте себя в группу www-data:

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

И установите правильные разрешения:

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

Это должносделать трюк.

8 голосов
/ 02 июня 2014

Остерегайтесь следующего: когда вы пишете

sudo usermod -G www-data <username>

Опция -G сделает указанного пользователя () членом определенной группы (групп), которые указаны.Таким образом, приведенное выше утверждение сделает пользователя частью группы www-data, НО удалит пользователя из любой другой группы, к которой он принадлежит.Чтобы избежать этого, вы должны либо добавить опцию -a, либо указать все текущие группы, в которые вы хотите включить пользователя.Я случайно выбрал пользователя «Администратор» из группы sudo, потому что я этого не знал.Поэтому, если вы хотите, чтобы указанный пользователь сохранил свое текущее членство в группе, напишите следующую команду.

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

Для получения дополнительной информации о команде usermod посетите:

Ubuntu manpages -usermod

1 голос
/ 21 марта 2018

У меня была та же ошибка "pscp: невозможно открыть YourFilePath: разрешение отклонено",

проверьте владение файлом, который вы пытаетесь перезаписать, вы получите эту ошибку, если не сможете перезаписать,

Если у вас нет контроля над удаленным файлом, просто попробуйте переименовать файл, который вы пытаетесь переместить.

...