昊漫玉 发表于 2015-5-29 10:58:24

在阿里云主机上基于CentOS用vsftpd搭建FTP服务器(赚)

  最近需要在一台阿里云的云服务器上搭建FTP服务器,在这篇博文中分享一下我们根据实际需求进行的一些配置。
  ftp软件用的是vsftpd。

  vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序。特点是小巧轻快,安全易用。
  vsftpd 的名字代表”very secure FTP daemon”,安全是它的开发者 Chris Evans 考虑的首要问题之一。在这个 FTP 服务器设计开发的最开始的时候,高安全性就是一个目标。

  准备工作
  安装vsftpd



yum install vsftpd
  设置开机启动vsftpd ftp服务



chkconfig vsftpd on
  打开vsftpd配置文件



vi /etc/vsftpd/vsftpd.conf
  需求及配置
  1. 不允许匿名访问



anonymous_enable=NO
  2. 使用本地帐户进行FTP用户登录验证
  2.1 允许使用本地帐户进行FTP用户登录验证



local_enable=YES
  2.2 创建用于FTP登录的本地帐户
  增加用户ftpuser,主目录为/home/ftp,禁止登录SSH权限。



useradd -d /home/ftp -g ftp -s /sbin/nologin ftpuser -p password
  该命令参考自:CentOS 6.2 ftp 配置。
  useradd命令参考文档:Linux的useradd
  2.3 只允许刚创建的ftpuser登录FTP
  vi /etc/vsftpd/vsftpd.conf



userlist_enable=YES
userlist_deny=NO
  vi /etc/vsftpd/user_list
  注释所有帐户,添加ftpuser





# vsftpd userlist
# If userlist_deny=NO, only allow users in this file
# If userlist_deny=YES (default), never allow users in this file, and
# do not even prompt for a password.
# Note that the default vsftpd pam config also checks /etc/vsftpd/ftpusers
# for users that are denied.
#root
#bin
#daemon
#adm
#lp
#sync
#shutdown
#halt
#mail
#news
#uucp
#operator
#games
#nobody
ftpuser

  配置到这里,就可以远程用FTP客户端登录并上传文件,文件会保存在ftpuser的主目录,也就是/home/ftp。
  3. 不允许FTP下载
  vi /etc/vsftpd/vsftpd.conf



download_enable=NO
  4. 只允许指定的IP才能连接
  4.1 安装tcp_wrappers



yum -y install tcp_wrappers
  4.2 检查tcp_wrappers是否被设置为YES
  vi /etc/vsftpd/vsftpd.conf



tcp_wrappers=YES
  4.3 添回允许的IP
  vi /etc/hosts.allow



vsftpd:允许的IP地址
  4.4 拒绝所有其他的IP
  vi /etc/hosts.deny



vsftpd:ALL
  5.如果出现报530错误。
  1.密码设置的有点问题。
  2.打开
  vi /etc/pam.d/vsftpd,注释一下
  #auth required pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
  参考资料:
  CentOS 6.2 ftp 配置
  vsftpd 配置文件详细说明
  This is the example for Access Control by TCP Wrapper
页: [1]
查看完整版本: 在阿里云主机上基于CentOS用vsftpd搭建FTP服务器(赚)