系统版本linux |
IP地址shell |
安装方式windows |
ftp版本浏览器 |
CentOS6.9app |
10.0.0.8tcp |
yumide |
vsftpd-2.2.2-24测试 |
ftp工做会启动两个通道:spa
控制通道,数据通道命令行
在ftp协议中,控制链接均是由客户端发起的,而数据链接有两种模式:port模式(主动模式)和pasv(被动模式)
在客户端须要接收数据时,ftp_client(大于1024的随机端口)----port命令-----ftp_server(21)发送port命令,这个port命令包含了客户端是用什么端口来接收数据(大于1024的随机端口),在传送数据时,ftp_server将经过本身的tcp 20端口和port中包含的端口创建新的链接来传送数据。
传送数据时,ftp_client---pasv命令---ftp_server(21)发送pasv命令时,ftp_server自动打开一个1024--5000之间的随机端口而且通知ftp_client在这个端口上传送数据,而后客户端向指定的端口发出请求链接,创建一条数据链路进行数据传输。
# rpm -qa vsftpd #检查是否已安装
# yum -y install vsftpd
# chkconfig --level 35 vsftpd on #设置开机自启动
# chkconfig --list|grep vsftpd #检查开机是不是自动启动
# rpm -ql vsftpd
/etc/logrotate.d/vsftpd #vsftpd的日志文件
/etc/pam.d/vsftpd #PAM认证文件
/etc/rc.d/init.d/vsftpd #启动脚本
/etc/vsftpd #vsftpd的配置文件存放目录
/etc/vsftpd/ftpusers #禁止使用vsftpd的用户列表文件
/etc/vsftpd/user_list #禁止或容许使用vsftpd的用户列表文件
/etc/vsftpd/vsftpd.conf #ftp的主配置文件
/etc/vsftpd/vsftpd_conf_migrate.sh #vsftpd操做的一些变量和设置
/var/ftp #匿名用户目录
/var/ftp/pub 匿名用户的下载目录
×××部分为添加的,红色为修改的
anonymous_enable=NO #是否开启匿名登陆
local_enable=YES #是否容许本地用户登陆
write_enable=YES #是否容许上传
local_umask=022 #默认的umask码
dirmessage_enable=YES #是否显示目录说明文件
xferlog_enable=YES #是否记录ftp传输过程
connect_from_port_20=YES #是否肯定端口传输来自20
xferlog_std_format=YES #是否使用标准的ftp xferlog模式
chroot_list_enable=YES #是否将系统用户限制在本身的home目录下
chroot_list_file=/etc/vsftpd/chroot_list #列表不受限制的用户
listen=YES #是否开启监听
pam_service_name=vsftpd #服务名称
userlist_enable=YES
tcp_wrappers=YES
# setenforce 0
# sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config
建立用户后修改用户的shell为nologin,让用户不能登陆系统,只能使用ftp以内的服务
# useradd -d /home/ftp/test -g ftp -s /sbin/nologin test
# echo 123456|passwd --stdin test #设置密码
# touch /etc/vsftpd/chroot_list
# echo test >>/etc/vsftpd/chroot_list
# /etc/init.d/vsftpd start
在文件夹路径框输入:ftp://10.0.0.8 按回车登录
浏览器里输入ftp://10.0.0.8/ 输入用户名test和密码123456进行测试
打开windows cmd窗口输入:ftp 10.0.0.8 按回车输入用户名和密码登录
好比xftp客户端登录
max_client=100 #vsftpd最大支持连接数100个ip
max_per=5 #每一个ip能支持的5个连接
local_max_rate=81920 #限制传输速度
listen_address=ip #绑定某个ip到vsftpd,只容许该ip访问
xferlog_file=/var/log/vsftpd.log #日志存放位置
[root@oldboyedu45-wang ~]# service vsftpd start
为 vsftpd 启动 vsftpd:500 OOPS: bad bool value in config file for: chroot_list_enable
[失败]
此报错时因为chroot_list_enable后面有空格致使的