服务器搭建实战详解-FTP(1)

1. 查询是否安装vsftp

首先查询系统内是否有安装vsftp:rpm -q | grep vsftp

2. 安装vsftp

rpm -ivh /mnt/Packages/vsftpd-3.0.2-9.el7.x86_64.rpm

3. 启动vsftp服务

service vsftp start 启动服务
service vsftp stop 停止服务
service vsftp restart 重启服务

4. vsftpd配置文件

主配置文件/etc/vsftpd/vsftpd.conf
/etc/pam.d/vsftpd 主要是用来加强vsftpd服务器的用户认证。
/etc/vsftp.ftpusers 所有位于此文件的用户都不能访问vsftpd服务。默认已经包括root\bin\daemon等系统账户。
/etc/vsftpd.user_list 这个文件包括的用户有可能是被拒绝访问vsftpd服务的,也可能是允许访问的,这主要决定于vsftpd的主配置文件中/etc/vsftpd/vsftpd.conf中的“userlist_deny”参数设置是“yes”(默认值)还是NO。
/var/ftp vsftpd提供服务的文件集散地,包括一个pub子目录,默认配置下,所有的目录都是只读的,不过只有root用户有写权限。

5. 配置匿名用户登录

anonymous_enable=YES 表明vsftpd服务是允许匿名访问,且匿名服务器是必须配置的。

6. 监听地址和端口

监听地址
listen_address=ip address 配置文件中默认只有是否监听的参数,没有关于监听地址的配置参数,若要监听地址则需要添加参数配置。定义了在主机的哪个IP地址上监听FTP请求,即在哪个IP地址上提供FTP服务。对于只有一个IP地址的主机,不需要使用此参数。对于多IP主机,不设置此参数,即将监听所有IP地址,默认值无。
控制端口
listen_port=port_value 与监听地址一样,控制端口在独立模式下有效,默认是21

7. FTP模式与数据端口

FTP有两种工作模式,主动模式与被动模式。两者主要的区别主动模式是由服务器来决定数据传输端口的(默认是20);被动模式由FTP客户端决定数据传输的端口。在vsftpd主配置文件中vsftd.conf,可以针对主动模式和被动模式对服务器进行配置。
主动模式
服务器搭建实战详解-FTP(1)
被动模式
服务器搭建实战详解-FTP(1)

8. ASCII模式

默认情况下,vsftpd是禁止使用ascii传输模式的;
#ascii_upload_enable=YES 控制是否允许使用ASCii模式上传文件,默认为NO
#ascii_download_enable=YES 控制是否允许使用ASCii模式下载文件,默认为NO

9. 超时选项

为节约资源,防止客户端无限制时间的连接在服务器上,定义了超时设置。
idle_seeion_timeout 空闲用户会话的超时时间,如果超出这个时间没有数据的传送或是指令的输入,就会强迫断线,默认300s,单位是s。
data_connection_timeout 定义数据传输过程中被阻塞的最长时间,以s为单位,超出这个时间,客户端的连接将被关闭。
accept_timeout 接受建立链接的超时设定,单位s,默认60.
connect_timeout 响应主动模式的数据连接的超时设定,默认60;
以上两个针对客户端,客户端空闲1分钟后将自动中断连接,并在中断1分钟后自动**连接。

10. 负载控制

FTP客户端占用过大的宽带将影响服务器的正常运行,为防止客户端占用过大的带宽,保证服务器正常运行,
服务器搭建实战详解-FTP(1)

11. 用户设置

FTP中有匿名用户、本地用户、虚拟用户三种。
匿名用户
服务器搭建实战详解-FTP(1)
本地用户
FTP服务的用户中,除了匿名用户外,还有一类在FTP服务器所属主机上拥有账号用户;
服务器搭建实战详解-FTP(1)
虚拟用户
虚拟用户配置参数
guest_enable 当设置为YES时,所有非匿名用户都被映射为一个特定的本地用户。该用户通过“guest_username”指令指定。默认值为NO。
guest_enable 设置虚拟用户映射到的本地用户,默认值为“ftp”。

12. 用户登录控制

vsftpd提供了丰富的登录控制选项,包括登录后客户端可以显示的信息,允许执行的指令及一些登录中的控制选项。
服务器搭建实战详解-FTP(1)

13. 目录访问控制

服务器搭建实战详解-FTP(1)

14 文件操作控制

服务器搭建实战详解-FTP(1)

15. 新增文件权限设置

vsftpd可以记录服务器的工作状态,包括客户端的上传、下载等;
log_ftp_protocol 是否记录所有的ftp命令信息。默认值为no。
dual_log_enable 若启用则生成两个相似的日志文件,分别为/var/log/xferlog和/var/log/vsftpd.log,前者是wu-ftpd类型的传输日志,可以用于标准工具分析;后者是vsftpd类型的日志,默认值为no.
syslog_enable 设置为YES时,将本来应记录在./var/log/vsftpd.log的信息,传给syslogd dameon,由于syslogd的配置文件决定存储位置,默认为NO。

16. 日志设置

vsftpd还可以进行传输日志文件的设置
xferlog_std_format 启用后,传输日志文件将以标准xferlog的日志格式书写,如wu-ftpd一样。此格式默认为/var/log/xferlog,也可以通过xferlog_file选项设定。
xferlog_enable 若启用将维护一个日志文件,用于详细记录上传和下载;默认情况,这个日志文件是/var/log/vsftpd.log.也可以通过配置文件中的vsftpd.log_file选项设定,默认值为NO。