我最近安装了 VSFTPD 并使用以下命令添加了一个用户:
useradd -G ftpusers -d /var/www someuser
passwd someuser
我还添加了someuser
并user_list
确认它不存在于ftpusers
。当我尝试使用 FireFTP 登录时,出现 530 权限被拒绝错误。vsftpd.conf
已设置为,anonymous_enable=NO
但当将其设置为 时YES
,我能够成功匿名登录。
我遗漏了什么吗?我应该设置所有权/var/www
还是其他什么?
编辑:我尝试过退出root
,ftpusers
但即使尝试使用 登录,root
我也收到权限被拒绝的错误。这让我相信我的 vsftpd 或服务器配置有问题,而不是用户设置方式有问题。
答案1
我使用类似本指南的方法在 Ubuntu 中设置了一个 FTP 服务器,并且运行良好:
http://cviorel.easyblog.ro/2009/03/05/how-to-setup-vsftpd-ftp-on-ubuntu-linux
这里有什么帮助吗?
另外,您不应更改 /var/www 的所有者。只要您的组ftpusers
有权访问它并且 vsftpd 以该组成员用户的身份运行,您就没问题。
答案2
我遇到了同样的问题,我通过删除文件并在文件中添加相同的行来解决userlist_deny=NO
,user_list.conf
然后 vsftpd.conf
使用重新启动服务service vsftpd restart
。我安装了 centos 8
答案3
someuser
需要读取(可能还需要写入)权限/var/www
它目前拥有哪些权限?
要查看权限,请ls -l /var
在命令提示符下键入并查看文件列表的左侧列。这将为您提供文件权限以及拥有目录/文件的用户和组。
如果您不确定,请先阅读以下内容:了解 Linux 文件权限
答案4
我通过删除行来解决用户列表拒绝=否在 /etc/vsftpd.conf 文件中,然后重新启动服务sudo 服务 vsftpd 重新启动