VSFTP 服务器搭建问题

12/15/2016 | | Post a Comment

vsftp 服务器搭建问题

其实简单的搭建一个FTP服务器很简单,一分钟就能搞定,但是如果要自定义一些功能就容易出现一些莫名其妙的错误。
相关软件版本:
OS:2.6.32-431.el6.x86_64
vsftpd:2.2.2-21.el6.x86_64
安装方法:直接利用yum源安装我主要是想测试下利用匿名用户(anonymous)在没有密码的情况下登录vsftpd服务器,没想到就碰见的下面两个错误:
错误1:500 OOPS: cannot change directory:/home/ftp
问题原因:我的问题原因比较多,一开始首先忘记创建FTP用户,但是/home下根本就没有ftp的家目录。通过创建frp用户把ftp家目录弄出来之后,发现还是报错,然后就执行了以下命令:
[root@localhost ~]# getsebool -a | grep ftp
allow_ftpd_anon_write –> off
allow_ftpd_full_access –> off
allow_ftpd_use_cifs –> off
allow_ftpd_use_nfs –> off
ftp_home_dir –> off
ftpd_connect_db –> off
ftpd_use_fusefs –> off
ftpd_use_passive_mode –> off
httpd_enable_ftp_server –> off
tftp_anon_write –> off
tftp_use_cifs –> off
tftp_use_nfs –> off
发现ftp_home_dir选项是off的,然后执行[root@localhost ~]# setsebool -P ftp_home_dir on命令,就是在selinux上放行ftp相关用户对家目录的操作。
需要注意的是如果开放匿名用户需要针对/etc/vsftpd/vsftpd.conf里的一些选项进行调整,我的配置如下:
# Allow anonymous FTP? (Beware – allowed by default if you comment this out).
anonymous_enable=YES
no_anon_password=YES –此选项在该版本中没有,我后加的
#
# Uncomment this to allow the anonymous FTP user to upload files. This only
# has an effect if the above global write enable is activated. Also, you will
# obviously need to create a directory writable by the FTP user.
anon_upload_enable=YES
#
# Uncomment this if you want the anonymous FTP user to be able to create
# new directories.
anon_mkdir_write_enable=YES
版本不同显示格式、注释等会有所不同
错误2:上面的操作都做完以后连接服务还是报错
[root@localhost ~]# ftp 10.64.13.116
Connected to 10.64.13.116 (10.64.13.116).
220 (vsFTPd 2.2.2)
Name (10.64.13.116:root): anonymous
500 OOPS: vsftpd: refusing to run with writable anonymous root
Login failed.
这个问题我参考的下面这篇文档
https://www.benscobie.com/fixing-500-oops-vsftpd-refusing-to-run-with-writable-root-inside-chroot/
解决方法如下:
第一种:执行[root@localhost ~]# chmod -x /home/ftp/ 即可,但是此种方法并不推荐,因为去掉写权限就意味着不能向其中写入文件了。
第二种:向配置文件中添加 allow_writeable_chroot=YES 可是我添加了 但是报错了 ,说没有此选项,应该是和作者的版本不同。所以我就用第一种方法了
进行完以上操作后成功:
[root@localhost ~]# ftp 10.64.13.116
Connected to 10.64.13.116 (10.64.13.116).
220 Welcome to Nash’s FTP server.
Name (10.64.13.116:root): anonymous
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>
其实比较值得注意的就是这个SELINUX,防火墙也别忘了检查一下。

Tags :


Want to say something? Post a comment

电子邮件地址不会被公开。 必填项已用*标注