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,用户,密码,点击连接就可以访问了,如果不能正常连接,可以尝试修改这个地方。