使用FTP-WinSCP获取在我的Amazon EC2 Ubuntu服务器上使用文件的权限

11

我在亚马逊上拥有一台Ubuntu服务器,我已经安装了所有必要的软件来进行工作(如php、mysql、phpmyadmin和apache等),但问题是我无法使用FTP浏览或编辑文件。

我收到以下错误信息:

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

来自我的WINSCP。

我唯一能够传输/编辑文件的方法是使用“putty”和sudo/nano命令。

我在谷歌上找到了很多相关信息,但没有找到最新的解决方案。Linux不是我的常规工作空间。

如何使WINSCP的权限起作用?

5个回答

18
很多答案建议更改 /var/www/ 目录的权限......但是 AWS 使用快捷方式跳过 WWW 文件夹,进入 /var/app/current/ 目录。如果其他方法都失败了,请尝试以下方法:
sudo chown -R -v ec2-user /var/app/current/

1
比大多数其他地方找到的答案更好 - Varun Rajan

2
在AWS上的Ubuntu镜像中,默认用户是ubuntu。与其使用类似/var/...这样的系统文件夹,最好使用/home/your_folder。然后使用{chown}命令更改所有权。例如:
"最初的回答"
$ sudo chown -R -v ubuntu /home/your_folder/

这将把“your_folder”及其内部内容的所有权从“root”用户更改为“ubuntu”。然后,Winscp应该能够使用SFTP/FTP等上传/删除/创建文件。翻译成中文就是:“这将会把'your_folder'文件夹及其内部的文件从'root'用户变更为'ubuntu'用户。这样Winscp就可以使用SFTP/FTP等协议上传/删除/创建文件。”

1

我遇到了同样的问题。解决方法是:您可以通过更改WordPress所有权类型来解决此问题:

sudo chown -R www-data:ubuntu /var/www/wordpress

然后,更改特定文件和目录的权限,输入命令

sudo find /var/www/wordpress/ -type d -exec chmod 755 {} \;
sudo find /var/www/wordpress/ -type f -exec chmod 644 {} \;

除此之外,将以下重要文件设置为chmod 600,以便只有所有者可以完全读取和写入这些文件:
sudo chmod 600 /var/www/wordpress/wp-config.php
sudo chmod 600 /var/www/wordpress/.htaccess

然后一切都会正常工作。您将能够访问您的WordPress文件。


1

对于使用云提供商的免费层级用户来说,您将无法获得root访问权限,若要解决此问题,您需要通过SSH更改文件夹权限或尝试以下解决方法:

操作系统:Windows 10 Pro

打开WinSCP而不是选择SFTP,您选择SCP,进入高级设置,点击SCP/Shell并将shell选项更改为sudo su -

现在您将能够获得权限。


-2

通过命令 chmod 777 /var/app/current/ 更改文件权限,并将文件传输到该目录中


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接