ftp传输协议

  • 文件传输协议,可以上传和下载文件。比如我们可以把Windows上的文件上传到Linux,也可以把Linux上的文件下载到Windows上。
  • CentOS上默认有一个vsftpd的服务可以提供ftp服务,这个配置起来比较麻烦。
  • 有一个pure-ftpd,是一个实用起来比较方便的ftp服务工具。
  • Linux上安装pure-ftpd,首先Linux上需要安装扩展源,epel-release,我们用的很多工具都是由扩展源提供的,所以建议在安装完系统后直接安装epel-rease,装完之后就可以安装pure-ftpd了
yum install -y epel-release
yum install -y pure-ftpd
  • 配置pure-ftpd
vi /etc/pure-ftpd/pure-ftpd.conf
PureDB                        /etc/pure-ftpd/pureftpd.pdb
	MinUID                      1000
  • 创建fptd服务的用户和ftp的目录
useradd ftpduser
mkdir /data/ftp
  • 为了ftpd服务能正常读写/data/ftp目录,将/data/ftp目录的属主属组都改为ftpuser
[root@localhost etc]# chown ftpduser:ftpduser /data/ftp/
[root@localhost etc]# ls -ld /data/ftp/
drwxr-xr-x 2 ftpduser ftpduser 6 Feb 27 09:26 /data/ftp/
  • 创建用户,创建的用户在系统中是看不到的,这个用户只是有使用ftpd服务的权限,这个用户需要映射到ftpd服务的用户上,就是之前创建的fptduser。
[root@localhost ~]# pure-pw useradd user1 -u ftpduser -d /data/ftp/
Password:
Enter it again:
  • 需要生成存放用户和密码的文件
pure-pw mkdb
  • 执行上面这条命令其实是生成了一个文件
/etc/pure-ftpd/pureftpd.pdb
  • 启动服务,并将21端口加入防火墙规则。
[root@localhost ~]# systemctl start pure-ftpd
[root@localhost ~]# firewall-cmd --add-port=21/tcp --permanent
success
[root@localhost ~]# firewall-cmd --reload
success
  • 列出所有ftp服务中的用户
pure-pw list

Linux上测试ftp是否可以使用

  • 安装lftp,并使用lftp命令登录
[root@localhost ~]# lftp [email protected]
Password:
lftp [email protected]:~> ls
drwxr-xr-x    3 1002       ftpduser           17 Feb 27 09:59 .
drwxr-xr-x    3 1002       ftpduser           17 Feb 27 09:59 ..
drwxr-xr-x    2 1002       ftpduser            6 Feb 27 09:59 123

测试成功。

Windows上测试

  • 需要下载安装 filezilla client
  • 新建站点输入ip,用户,密码,点击连接就可以访问了,如果不能正常连接,可以尝试修改这个地方。FTP服务-LMLPHP
02-28 04:35