在AWS配置FTP服务器时的手顺。
配置FTP服务器的关键是有没有理解ActiveFTP和PASV FTP的区别。在这里把FTP服务器配置为PASV模式。
1. yum安装vsftp
# sudo su -
# yum install vsftpd
2. 确认没有使用的端口
# cat /proc/sys/net/ipv4/ip_local_port_range
32768 61000
32768 – 61000端口在没有使用的状态。
3. 修改/etc/vsftpd/vsfptd.conf文件
修改内容请参照下表。
区分 | 修改内容 | 解释 |
---|---|---|
修改 | anonymous_enable=NO | 禁止匿名FTP用户的登录 |
修改 | dirmessage_enable=NO | 用户初次进入新目录时,显示该目录需要注意的内容,在这里配置为不显示 |
修改 | ls_recurse_enable=YES | 允许用户删除目录 |
追加 | ascii_upload_enable=YES | 允许以ASCII模式上传文件 |
追加 | ascii_download_enable=YES | 允许以ASCII模式下载文件 |
修改 | chroot_local_user=YES | 把本地用户的根目录改为各自的FTP根目录 |
修改 | chroot_list_enable=YES | 有效chroot_list。默认文件是chroot_list_file=/etc/vsftpd/chroot_list |
修改 | tcp_wrappers=NO | 不使用tcp_wrappers做限制(使用AWS EC2的Security Group作限制) |
修改 | connect_from_port_20=NO | 不使用ActiveFTP |
修改 | xferlog_std_format=NO | 以vsftpd格式记录到日志文件,YES时是wu-ftpd格式 |
追加 | pasv_enable=YES | 使用PASV FTP |
追加 | pasv_addr_resolve=YES | 在PASV模式下从主机名,获取连接IP地址 |
追加 | pasv_address=主机IP地址 | 配置EC2的Elastic IP地址 |
追加 | pasv_min_port=60001 | 在PASV模式是使用的最小端口号(在手顺2确认的没有使用的端口里选择) |
追加 | pasv_max_port=60100 | 在PASV模式是使用的最大端口号(在手顺2确认的没有使用的端口里选择) |
追加 | use_localtime=YES | 使用主机的时间 |
追加 | force_dot_files=YES | 不隐藏.开头的文件 |
4. 修改/etc/vsftpd/chrott_list
指定不变更根目录的用户,在这里指定的用户会访问根目录,一般指定root等用户。在这里配置为空文件,不进行修改。
# vi /etc/vsftpd/chroot_list
5. 创建FTP用户
# adduser zabbix
# passwd zabbix
6. 配置开机启动并启动FTP服务
# chkconfig vsftpd on
# chkconfig
vsftpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
# service vsftpd start
7. 配置AWS的Security Group
修改配置FTP服务的AWS EC2的Security Group。
在Inbound追加以下内容。
Type | Protocol | Port Range | Source |
---|---|---|---|
Custom TCP Rule | TCP | 21 | 0.0.0.0/0 |
Custom TCP Rule | TCP | 60001 – 60100 | 0.0.0.0/0 |
时间: 2024-10-25 20:46:00