最近需要在一台阿里云的云服务器上搭建FTP服务器,在这篇博文中分享一下我们根据实际需求进行的一些配置。 ftp软件用的是vsftpd。
准备工作 安装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 参考资料: CentOS 6.2 ftp 配置 vsftpd 配置文件详细说明 This is the example for Access Control by TCP Wrapper (责任编辑:IT) |