VSFTPD, 553 无法创建文件。- 权限?

37 permissions amazon-ec2 vsftpd

我已经vsftpd使用 Amazon Linux AMI 在 Amazon EC2 上进行了设置。我创建了一个用户,现在可以通过 ftp 成功连接。但是,如果我尝试上传某些内容,则会收到错误消息

553 Could not create file.
Run Code Online (Sandbox Code Playgroud)

我认为这与权限有关,但我对它的了解还不够,无法修复它。所以基本上,我必须做什么才能上传文件?

小智 48

你能试试这个吗

chown -R ftpusername /var/www/html
Run Code Online (Sandbox Code Playgroud)

  • chmod 757 -R /var/www/html (7认同)
  • @HernánEche 谢谢你的提示,我已经找了几个小时了,这终于解决了我的问题。 (2认同)

Chr*_*own 22

发生这种情况的可能原因有两个——您对指向您尝试上传到的目录的目录没有写入和执行权限,或者vsftpd被配置为不允许您上传。

在前一种情况下,请根据需要使用chmodchown以确保您的用户对每个中间目录都具有这些权限。写入位允许受影响的用户创建、重命名或删除目录中的文件,以及修改目录的属性,而读取位允许受影响的用户列出目录中的文件。由于路径中的中间目录也会影响这一点,因此必须适当设置权限,直至您打算上传到的最终目的地。

在后一种情况下,请查看您的vsftpd.conf. write_enable必须为 true 才能允许写入(默认情况下为 false)。有关于这个配置文件的很好的文档man 5 vsftpd.conf

  • 这些似乎都不是问题。我尝试将所有内容更改为 777(不安全)并设置 write_enable=YES,但我仍然收到此无用的错误消息。 (13认同)

小智 13

该命令ftp put /path/to/local_file不适用于vsftpd. 请尝试以下操作:

ftp put /path/to/local_file remote_file_name 
Run Code Online (Sandbox Code Playgroud)

您可以为 选择任何名称remote_file_name,但必须指定一个名称。

  • 您可能需要考虑为您的答案添加更多细节(例如,一些支持您的解决方案有效性的文档)。 (2认同)