本帖最后由 上海倜然 于 2018-4-20 10:57 AM 编辑
VSFTP 530 Login incorrect And 500 OOPS: vsftpd: refusing to run with writable anonymous root 错误的解决方法 530 Login incorrect :
在文件中限制匿名用户,做如下设置:
- anonymous_enable=NO
- userlist_enable=YES
- userlist_deny=NO
- userlist_file=/etc/vsftpd.user_list
复制代码
这样只有在 user_list 里面的用户才可以访问 ftp。
但是在 service vsftpd restart 后,用 ftp localhost 测试,输入正确的用户名和密码之后,却一直显示:530 Login incorrect
Login Failed
后来发现在 etc下面有个 pam.d 文件夹,进去打开 vsftpd 这个文件,发现里面对之前的用户进行了限制,将里面对应的限制注 释掉:
- #auth required pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
复制代码
问题解决。
- 500 OOPS: vsftpd: refusing to run with writable anonymous root
复制代码
如果我们已经把 vsFTPd 服务器启动好了,但登录测试是会出现类似下面的提示:
- 500 OOPS: vsftpd: refusing to run with writable anonymous root
复制代码
这表示 ftp 用户的根目录的权限不对,应该改过才对;
- [root@localhost ~]# more /etc/passwd | grep ftp
- ftp:x:1000:1000:FTP User:/var/ftp:/sbin/nologin
复制代码
我们发现 ftp 用户的根目录在 /var/ftp,就是这个 /var/ftp 的权限不对所致,这个目录的权限是不能打开所有权限的;是您运行了 chmod 777 /var/ftp 所致;如果没有 ftp 用户这个根目录,当然您要自己建一个; 如下 FTP 用户的根目录是不能针对所有用户、用户组、其它用户组完全开放;
- [root@localhost ~]# ls -ld /var/ftp
- drwxrwxrwx 3 root root 4096 2005-03-23 /var/ftp
复制代码
修正这个错误,可以用下面的办法:
- [root@localhost ~]# chown root:root /var/ftp
- [root@localhost ~]# chmod 755 /var/ftp
复制代码
有的弟兄可能会说,那匿名用户的可读、可下载、可上传怎么办呢?这也简单,在 /var/ftp 下再建一个目录,权限是 777 的就行了,再改一改 vsftpd.conf 就 OK 了;没有什么难的;
vsFTPd 出于安全考虑,是不准让 ftp 用户的根目录的权限是完全没有限制的,您可以去读一下 vsFTPd 的文档就明白的了;否则也不能称为最安全的 FTP 服务器了,对不对?"
另附上 VSFTP 的配置文件:
|