我在 EC2 中打开了一个 Ubuntu 实例。我已经安装了 Lamp 环境并想对其进行测试。
我想使用 SFTP 来访问它。在我的安全组中,我已打开端口 22(SSH 0.0.0.0/0),是默认选项,我没有修改过。
尝试过这个:
当我进入 nautilus 时,我无法访问它。我尝试过:
sftp://ubuntu@myPublicIP
sftp://myPublicIP
sftp://myPublicIP/ubuntu
我不断得到:无权访问请求的位置。
也尝试过这个:
我也尝试使用打开文件夹来自终端的 nautilus。所以我安装了 nautilus ( sudo apt-get install nautilus
) 然后我尝试nautilus .
我得到的是:
(nautilus:16407): Gtk-警告**: 无法打开显示:
并尝试了这个:
所以,在那之后,我尝试过此解决方案:我已经使用本地环境中的控制台添加了公钥:
ssh-add /location_to_the_key_file/xxxxxx.pem
和我确实远程访问了文件夹使用sftp://ubuntu@myPublicIP
。
但是,由于权限问题,我无法上传任何内容,因为我似乎只有读取权限。我该如何改变这种情况?
我做错了什么?谢谢!
答案1
找到答案了,它是这里。
简而言之,您必须设置目录权限:
创建一个新的 www 组并将您的 ubuntu 用户分配给它:
sudo groupadd www
sudo usermod -a -G www ubuntu
更改组所有权和目录权限:
sudo chown -R root:www /var/www
sudo chmod 2775 /var/www
find /var/www -type d -exec sudo chmod 2775 {} \;
find /var/www -type f -exec sudo chmod 0664 {} \;
为了使其正常工作,您必须注销并再次登录。