尽管我是所有者,FTP 权限仍被拒绝

尽管我是所有者,FTP 权限仍被拒绝

好的,我已经尽力通过搜索和查看可能的重复项来找到答案,但是如果它在某个地方,我还是无法原谅我。

我的问题如下。我已将 的所有者设置/var/wwwmyuser:www-data,并将文件夹及其所有内容(目前只是基本的 index.html)的权限设置为750,Apache 似乎按预期运行它,但当我以用户身份通过​​ FTP 进入服务器时,我无法访问它myuser。我的意思是,我可以访问它,但只要我尝试编辑、删除或添加某些内容,我就会得到500 Permission denied,如果我尝试编辑权限,我会得到500 Unknown SITE command

救命!我做错了什么?设置用户和组,然后设置上述权限的想法来自我的一位好朋友,他算是专家,但我问了这么多问题,感觉打扰到他了,所以如果你能再帮我一下,那就太好了!

我正在尝试将包含 4 个虚拟主机的备份放回 www 文件夹,但我放在那里的内容不应该引起任何问题,对吧?这只是稍后对虚拟主机的配置与此有关,对吧?

提前致谢!

补充信息:

我运行了这个: myuser@myserver:/$ groups myuser 得到了这个: myuser : myuser adm cdrom sudo dip plugdev lpadmin sambashare 然后我运行了这个: myuser@myserver:/$ groups www-data 得到了这个: www-data : www-data

然后是这个: myuser@myserver:/var/www$ ls -l 得到了这个: total 4 -rwxr-x--- 1 tjita1 www-data 177 Jan 25 17:45 index.html

关于 ftpserver,我没有做任何特别的事情,我只是安装了 vsftpd。哦,对了,我还添加了一行我认为/etc/vsftpd.conf或类似的东西,内容如下:chmod_enable=YES

另外,我无法使这 4 个空格缩进起作用,对此深感抱歉。

答案1

安装 ftp 服务器后,sudo apt-get install vsftpd您必须对其进行配置。要启用写入权限,您必须编辑该/etc/vsftpd.conf文件并取消注释

#write_enable=YES

行,因此应该读取

write_enable=YES

保存文件并vsftpd使用重新启动sudo service vsftpd restart

对于其他配置选项,请咨询本文档或者man vsftpd.conf

答案2

我发现使用 ftp 和 curl 命令的简单方法这里。如果你想用一个命令来使用 ftp,那么使用以下命令

sudo curl -T file_to_be_uploaded.txt ftp://mydomain.com/mydirectory/ --user username:password

如果运行后出现错误551: permission denied,则您正在上传的文件可能已存在于远程,而您无权覆盖它。因此,请使用其他文件名上传它或删除远程上的当前文件。

答案3

我遇到了同样的问题,关于 Write_enable 或文件夹权限的建议都不起作用。我将 FTP 客户端中的连接类型从 FTP 更改为 SSH/SFTP,一切正常。显然,VSFTPD 需要安全连接才能写入。

答案4

运行以下命令 - 您需要上传文件的文件夹

sudo chown -R <>:root <> 示例

sudo chown -R myloginid:root /home/myproject

相关内容