ChatGPT解决这个技术问题 Extra ChatGPT

Amazon AWS Filezilla transfer permission denied

I have my instance of the Amazon AWS running, test page is up.

I am trying to SFTP the files to the server to display my website. I have Filezilla connected to the AWS server but when I try to move the files from my local machine to the /var/www/html directory, it says permission denied.

I just figured out I CAN move the files to the /home/ec2-user directory. So my files are on the server I guess. But when I try to move them from there to the /var/www/html directory, it still won't move them, permission denied.

I've been researching this for approximately 2 hours now but I haven't been able to locate the answer to this.

Any help is greatly appreciated, i'm so close! Haha

Thanks

UPDATE

https://i.stack.imgur.com/HZrV9.png

For anyone that doesn't see comments below, you've got to use sudo chmod & sudo chown .

B
Black Sheep

To allow user ec2-user (Amazon AWS) write access to the public web directory (/var/www/html),
enter this command via Putty or Terminal, as the root user sudo:

chown -R ec2-user /var/www/html

Make sure permissions on that entire folder were correct:

chmod -R 755 /var/www/html

Doc's:

Setting up amazon ec2-instances

Connect to Amazon EC2 file directory using Filezilla and SFTP (Video)

Understanding and Using File Permissions


Still no luck...I cd to that directory and typed that and it still says permission denied. I even tried moving it on the command line this time instead of in Filezilla
I just updated my original post with the result of those. It makes no sense, I can't see a reason why I shouldn't be able to just move the files over there.
Shoot, my fault, I forgot 'sudo' That did the trick! Thank you so very much!
That's precisely what I needed, @aldanux. Thank you SO MUCH.
I have been struggling with this for a while! Thanks.
A
Abhay Kochar

if you are using centOs then use

sudo chown -R centos:centos /var/www/html

sudo chmod -R 755 /var/www/html

For Ubuntu

sudo chown -R ubuntu:ubuntu /var/www/html

sudo chmod -R 755 /var/www/html

For Amazon ami

sudo chown -R ec2-user:ec2-user /var/www/html

sudo chmod -R 755 /var/www/html

This worked for me with AWS EC2 t2.micro 1+ for this. :-)
This is one of the best example and it works perfectly
works perfect. Before this command, files can be created via terminal with sudo. but mkdir failed. only after issuing this command, mkdir and transfer works
O
Oskar

In my case the /var/www/html in not a directory but a symbolic link to the /var/app/current, so you should change the real directoy ie /var/app/current:

sudo chown -R ec2-user /var/app/current
sudo chmod -R 755 /var/app/current

I hope this save some of your times :)


This also applies for Elastic Beanstalk Apps
Thanks, you saved my ass after 3 days of cursing at my computer! :D
R
Raymond Wachaga

If you're using Ubuntu then use the following:

sudo chown -R ubuntu /var/www/html

sudo chmod -R 755 /var/www/html

The first one seemed to work. Do I have to execute both? I'm using WordPress and after executing the first command a few permission's errors have come up with some plugins.
@Coderhi, I'd recommend executing both since the accepted answer also follows the same pattern. Regarding your WordPress plugins. You can attempt reinstalling them afresh to the same EC2 instance.
A
Adeleye Ayodeji

This work best everyone

chmod ugo+rwx your-folder

https://help.ubuntu.com/community/FilePermissions


i
ikleiman

In my case, after 30 minutes changing permissions, got into account that the XLSX file I was trying to transfer was still open in Excel.


R
Ravistm

for me below worked:

chown -R ftpusername /var/app/current