Использование pscp и разрешение на доступ запрещены
Я использую pscp для передачи файлов на виртуальный сервер ubuntu с помощью этой команды:
pscp test.php [email protected]:/var/www/test.php
и я получаю разрешение на отказ. Если я попытаюсь перейти в папку /home/user/, у меня проблем нет.
Я предполагаю, что это связано с тем, что пользователь, которого я использую, не имеет доступа к папке /var/www/. Когда я использую SSH, я должен использовать sudo для доступа к /var/www/path - и я это делаю.
Можно ли указать, что pscp должен "sudo" переносится на сервер, чтобы я мог получить доступ к пути/var/www/и действительно ли мог передавать файлы в эту папку?
Ответы
Ответ 1
Если у вас есть сервер:
Добавьте себя в группу www-data:
sudo usermod -a -G www-data <username>
И установите правильные разрешения:
sudo chown -R www-data:www-data /var/www/
sudo chmod -R 0775 /var/www/
Это должно сделать свое дело.
Ответ 2
Остерегайтесь следующего: когда вы пишете
sudo usermod -G www-data <username>
Опция -G сделает указанного пользователя() членом определенной группы (групп), которые указаны. Таким образом, приведенный выше оператор сделает пользователя частью группы www-data BUT, удалит пользователя из любой другой группы, к которой принадлежит пользователь. Чтобы этого избежать, вы должны либо добавить опцию -a, либо указать все текущие группы, в которые вы хотите, чтобы пользователь был частью. Я случайно взял пользователя "администратора" из группы sudo, потому что я этого не знал. Поэтому, если вы хотите, чтобы указанный пользователь сохранил текущее членство в группе, напишите следующую команду.
sudo usermod -G -a www-data <username>
Для получения дополнительной информации о команде usermod посетите страницу:
Ubuntu manpages - usermod
Ответ 3
У меня была та же ошибка "pscp: не удалось открыть YourFilePath: разрешение отклонено",
проверьте принадлежность файла, который вы пытаетесь перезаписать, вы получите эту ошибку, если не сможете перезаписать его,
Если у вас нет контроля над удаленным файлом, просто попробуйте переименовать файл, который вы пытаетесь переместить.