ftp 服务器设置
主动模式, standard, PORT
连接: 客户端 -- 服务器:21 数据: 客户端 -- 服务器:20
被动模式, passive, PAVS
连接: 客户端 -- 服务器:21 数据: 客户端 -- 服务器:(任意端口)
主动模式安全性高, 防火墙不允许外部发起连接, 在安全性要求不高的情况下应该使用被动模式
dnf install vsftpd -y sudo service vsftpd start vi /etc/vsftpd/vsftpd.conf
更改端口
listen_port=PORT_VALUE
PORT 主动模式
port_enable=YES|NO # NO, 取消主动模式. YES, 主动模式, 默认是 YES connect_from_port_20=YES|NO # 是否使用 20 端口 ftp_data_port=PORT_NUMBER # 设定数据传输端口, 默认是 20 port_pormiscuous=YES|NO # 是否启动 主动安全检查, 该检查确保外出的数据只能连接到客户端上
PASV 被动模式
pasv_enable=YES|NO pasv_min_port=PORT_NUMBER pasv_promiscuous=YES|NO pasv_address=IP_ADDRESS
时间控制
idle_session_timeout=TIME_VALUE # 默认是 300 data_connection_timeout=TIME_VALUE # 默认是 300 accept_timeout=TIME_VALUE # 默认是 60 connect_timeout=TIME_VALUE # 默认是 60, 空闲 60s 自动断开, 60s 后自动连接
负载控制
max_clients=NUMBER # 默认是 0, 表示无限 max_per_ip=NUMBER # 每个 IP 最大的并发连接数目, 默认 0, 表示无限 anon_max_rate=VALUE # 匿名用户最大数据传输速度, B/s, 默认不限制 local_max_rate=VALUE # 用户最大数据传输速度, B/s, 默认不限制
匿名用户
anonymous_enable=YES|NO ftp_username= no_anon_password=YES|NO deny_email_enable=YES|NO # 要让这个配置生效就要 banned_email_file banned_email_file=/etc/vsftpd/BANNED_EMAIL_LIST # 默认是/etc/vsftpd.banned_email anon_root=/pub # 默认是/var/ftp/ anon_world_readable_only=YES|NO # 只允许下载, 不能修改, 默认 YES anon_upload_enable=YES|NO # 默认是 NO, 若为 YES, 需要 write_enable=YES 还需要, 文件权限属性上 o 有 w 的权限 anon_mkdir_write_enable=YES|NO # 可以上传 anon_other_write_enable=YES|NO # 可以删除
本地用户
local_enale=YES|NO local_root=/pub
用户登陆控制
pam_service_name=vsftpd /etc/vsftpd.ftpusers # 禁止登陆的帐号列表 userlist_enable=YES|NO userlist_file=/etc/vsftpd.user_list userlist_deny=YES|NO # 决定 禁止还是允许 userlist_file 的列表, 默认是 YES, 禁止 tcp_wrappers=YES|NO # 使用 TCP_Wrappers, 默认为 YES
目录访问控制
chroot_list_enable=YES|NO chroot_list_file=/etc/vsftpd/chroot_list chroot_local_users=YES|NO
文件操作控制
hide_ids=YES|NO # ls -l 隐藏拥有者的信息 ls_recurse_enable=YES|NO # 是否允许使用 ls -R write_enable=YES|NO secure_chrrot_dir=
新增文件权限
anon_umask= # 默认 077 file_open_mode= # 上传档案的权限,077 local_umask= # 本地用户新增档案的 umask 值
日志
xferlog_enable=YES|NO # 是否启动日志 xferlog_file= # 日志文件 xferlog_std_format=YES|NO # 是否使用 xferlog 的标准格式,YES 更方便统计,NO 更可读,默认是 NO log_FTP_protocol=YES|NO # 所有的 FTP 请求和响应都被记录到日志中