配置FTP服务

  • FTP简介

FTP是File Transfer Protocol (文件传输协议),用于在因特网上控制对文件的双向传输。同时也是一个应用程序,用户可以通过它将自己的PC机与世界各地所有运行FTP协议的服务器相连接,以访问服务器上的大量程序和信息。FTP的主要作用是让用户连接一个运行FTP服务的远程计算机,并查看远程计算机的文件,然后将文件远程传输。

  • FTP服务

1. 搭建FTP服务

1.1 安装vsftpd

[root@localhost ~]# yum install -y vsftpd db4-utils

注:db4需要从扩展源中下载(需要先下载epel-release)

1.2 建立账号

vsftpd默认可以支持使用系统账号登录,但是为安全,使用虚拟账号体系登录

建立与虚拟账号相关联的系统账号:

[root@localhost ~]# useradd virftp -s /sbin/nologin

建立与虚拟账户相关的文件:

[root@localhost ~]# vi /etc/vsftpd/vsftpd_logintest1123456test2abcdef

注:奇数行为用户名,偶数为上一行的用户密码

更改文件的权限,提升安全级别

[root@localhost ~]# chmod 600 /etc/vsftpd/vsftpd_login

生成对应的库文件

[root@localhost ~]# db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db

注:vsftpd使用的密码文件不是明文的,需要使用对应的库文件

建立与虚拟主机相关的目录以及配置文件

[root@localhost ~]# mkdir /etc/vsftpd/vsftpd_user_conf[root@localhost ~]# cd /etc/vsftpd/vsftpd_user_conf

1.3 创建和用户对应的配置文件

用户的配置文件是单独存在的,每个用户都有一个自己的配置文件,文件名与用户名一致:

[root@localhost vsftpd_user_conf]# vi test1local_root=/home/virftp/test1anonymous_enable=NOwrite_enable=YESlocal_umask=022anon_upload_enable=NOanon_mkdir_write_enable=NOidle_session_timeout=600data_connection_timeout=120max_clients=10max_per_ip=5local_max_rate=50000

注:

  1. local_root为test1的家目录
  2. anonymous_enable用来限制是否允许匿名账号登录
  3. write_enable为是否可写
  4. local_umask用来指定umask值
  5. anon_upload_enable表示是否允许匿名账号上传文件
  6. anon_mkdir_write_enable表示是否允许匿名账号可写

修改配置文件

[root@localhost vsftpd_user_conf]# mkdir /home/virftp/test1[root@localhost vsftpd_user_conf]# touch /home/virftp/test1/wslinux.txt[root@localhost vsftpd_user_conf]# chown -R virftp:virftp /home/virftp/[root@localhost vsftpd_user_conf]# vi /etc/pam.d/vsftpd     //修改前面两行auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_loginaccount  sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

1.4 修改全局配置文件/etc/vsftpd/vsftpd.conf

上述修改的配置文件不可使用,需要修改vsftpd的全局配置文件

编辑vsftpd.conf文件

[root@localhost vsftpd_user_conf]# vi /etc/vsftpd/vsftpd.conf...anonymous_enable=YES----->>NO     ...#anon_upload_enable=YES----->>NO     //去掉注释符...#anon_mkdir_write_enable=YES---->>NO    //去掉注释符...chroot_local_user=YES                //增加以下内容guest_enable=YESguest_username=virftpvirtual_use_local_privs=YESuser_config_dir=/etc/vsftpd/vsftpd_user_confallow_writeable_chroot=YES

启动vsftpd服务

[root@localhost vsftpd_user_conf]# systemctl start vsftpd

测试:

[root@localhost vsftpd_user_conf]# ps aux|grep vsftp   //查看进程

安装lftp客户端

[root@localhost vsftpd_user_conf]# yum install -y lftp

登录test1并列出家目录下的wslinux.txt文件:

[root@localhost vsftpd_user_conf]# lftp test1@127.0.0.1

口令:

lftp test1@127.0.0.1:~> ls          -rw-r--r--    1 1000     1000            0 Oct 19 21:06 wslinux.txt

注:其中1000为用户的uid和gid。当此过程发生问题可以通过查看/var/log/secure日志文件来判断错误信息。

  1. 安装配置pure-ftpd

pure-ftpd为另一款小巧使用的FTP软件

  1. 安装pure-ftpd
[root@localhost ~]# yum install -y epel-release[root@localhost ~]# yum install -y pure-ftpd

注:因为yum源中并没有pure-ftpd,所以需要安装epel扩展源

  1. 配置pure-ftpd

修改配置文件

[root@localhost ~]# vi /etc/pure-ftpd/pure-ftpd.conf...# PureDB                        /etc/pure-ftpd/pureftpd.pdb   //删除注释符...

启动pure-ftpd

[root@localhost ~]# systemctl stop vsftpd[root@localhost ~]# systemctl start pure-ftpd

注:因为pure-ftpd与vsftpd端口冲突,所以需要将vsftpd关闭

启动时报错:

解决方法:

查看日志/var/log/messages

发现libcrypto库问题,上网寻找库文件所需要的扩展源(openssl)下载安装:

[root@localhost ~]# yum install -y openssl

查看是否启动成功

[root@localhost ~]# ps aux |grep pure-ftp

  1. 建立账号

创建一个账号

[root@localhost ~]# mkdir -p  /data/ftp[root@localhost ~]# useradd -u 1010 pure-ftp[root@localhost ~]# chown -R pure-ftp:pure-ftp /data/ftp/[root@localhost ~]# pure-pw useradd ftp_user1 -u pure-ftp -d /data/ftp/    //设置密码000000

注:

  1. -u选项将虚拟用户ftp_user1和pure-ftp关联在一起,即使用ftp_user1登录时会以pure-ftp的身份来下载和读取文件。
  2. -d选项后面的目录为ftp_user1账户的家目录,这可以使ftp_user1只能访问其家目录

创建用户信息数据库文件

[root@localhost ~]# pure-pw mkdb

其中pure-pw可以列出当前FTP账号以及删除的某个账号。

在创建一个账号:

[root@localhost ~]# pure-pw useradd ftp_user2 -u pure-ftp -d /tmp/[root@localhost ~]# pure-pw mkdb

列出当前账号:

[root@localhost ~]# pure-pw listftp_user1           /data/ftp/./                                               ftp_user2           /tmp/./

删除账号:

[root@localhost ~]# pure-pw userdel ftp_user2

  1. 测试pure-ftpd

测试:

[root@localhost ~]# lftp ftp_user1@127.0.0.1

口令:

lftp ftp_user1@127.0.0.1:~> ls      drwxr-xr-x    2 1010       pure-ftp            6 Oct 20 07:30 .drwxr-xr-x    2 1010       pure-ftp            6 Oct 20 07:30 ..lftp ftp_user1@127.0.0.1:/> put /etc/fstab465 bytes transferredlftp ftp_user1@127.0.0.1:/> lsdrwxr-xr-x    2 1010       pure-ftp           18 Oct 20 07:43 .drwxr-xr-x    2 1010       pure-ftp           18 Oct 20 07:43 ..-rw-r--r--    1 1010       pure-ftp          465 Oct 20 03:14 fstab

注:put命令可以把系统的文件上传到FTP服务器上。同时还可以在Windows中安装FTP客户端软件,远程测试

  1. 实战案例

(1)案例目标

1.了解FTP服务的安装

2.了解FTP的配置与使用

(2)案例实施

1.配置yum源

[root@localhost ~]# mount /dev/cdrom /opt/centos/[root@localhost ~]# mv /etc/yum.repos.d/* /media/[root@localhost ~]# vi /etc/yum.repos.d/local.repo[centos]name=centosbaseurl=file:///opt/centosgpgcheck=0enabled=1
  1. 安装FTP服务

安装FTP服务

[root@localhost ~]# yum install -y vsftpd

编辑配置文件

[root@localhost ~]# vi /etc/vsftpd/vsftpd.confanon_root=/opt

启动vsftpd服务

[root@localhost ~]# systemctl start vsftpd

使用netstat -ntpl命令查看端口开放状态

注:查看21端口开放

关闭SELinux和防火墙

[root@localhost ~]# setenforce 0[root@localhost ~]# systemctl stop firewalld
  1. FTP服务使用

使用浏览器访问本机ip

可以查看到/opt目录下的文件

在/opt目录下创建txt文件刷新浏览器后可以查看到新建立的文件

[root@localhost ~]# touch /opt/wslinux.txt

文件传输服务(FTP)相关推荐

  1. 详解“FTP文件传输服务”安装配置实例

    "FTP文件传输服务"安装配置实例 家住海边喜欢浪:zhang789.blog.51cto.com 目录 简介 ftp工作原理 常见的FTP服务 Vsftpd服务器的安装 Vsft ...

  2. asc码转换 linux_Linux网络服务04——FTP文件传输服务

    Linux网络服务04--FTP文件传输服务 一.FTP连接及传输模式 1.控制连接:TCP 21,用于发送FTP命令信息 2.数据连接:TCP 20,用于上传.下载数据 3.数据连接的建立类型: ( ...

  3. Linux网络文件共享服务(一)存储类型和文件传输协议FTP

    成功不易,加倍努力! 网络文件共享服务 本章总目录 1 存储类型 1.1 DAS存储 1.2 NAS存储 1.3 SAN存储 1.4 三种存储比较 2 文件传输协议 FTP 2.1 FTP工作原理介绍 ...

  4. 【计算机网络】应用层 : 总结 ( 网络应用模型 C/S P2P | 域名解析 DNS | 文件传输协议 FTP | 电子邮件 | 万维网 与 HTTP ) ★★★

    文章目录 一.网络应用模型 ★ 二.域名解析过程 ★ 三.FTP 文件传输协议 四.电子邮件★ 五.万维网 和 HTTP 协议★ 一.网络应用模型 ★ 网络应用模型 : ① 客户 / 服务器 模型 ( ...

  5. Microsoft .NET Framework 2.0对文件传输协议(FTP)操作(上传,下载,新建,删除,FTP间传送文件等)实现汇总1...

    相关文章导航 Sql Server2005 Transact-SQL 新兵器学习总结之-总结 Flex,Fms3相关文章索引 FlexAir开源版-全球免费多人视频聊天室,免费网络远程多人视频会议系统 ...

  6. 文件传输协议FTP/TFTP/SSH/SCP——应用层

    常见的文件传输协议:FTP.TFTP.SSH.SCP 一.FTP(英文:File Transfer Protocol,缩写:FTP) 1.概念 FTP是在网络层传输文件的应用层协议,基于TCP连接,使 ...

  7. 《计算机网络》——文件传输协议FTP、简单邮件传送协议SMTP、邮局协议POP3、网际报文存取协议IMAP、万维网和HTTP协议、超文本传输协议HTTP

    文章目录 文件传输协议FTP FTP服务器和用户端 FTP工作原理 简单邮件传送协议SMTP 邮局协议POP3 网际报文存取协议IMAP 万维网和HTTP协议 超文本传输协议HTTP HTTP协议的特 ...

  8. 四十三、文件传输协议FTP、电子邮件、万维网

    文章目录 1.FTP服务器和用户端 2.FTP的工作原理 3.电子邮件 3.1 电子邮件的信息格式 3.2 电子邮件的组成结构 3.3 简单邮件传送协议SMTP 3.4 邮局协议-POP3 3.5 网 ...

  9. 计算机网络 王道考研2021 第六章:应用层 -- 文件传输协议FTP、电子邮件SMTP、POP3

    文章目录 1. 文件传输协议 FTP 1.1 文件传输协议 1.2 文件传输协议 FTP 1.3 FTP的工作原理 1.4 控制连接与数据连接 1.5 补充:FTP传输模式 2. 电子邮件 2.1 电 ...

  10. 【计算机网络】应用层 : FTP 文件传输协议 ( FTP 客户端 和 服务器 | FTP 工作原理 | FTP 传输模式 )

    文章目录 一.文件传送协议 二.FTP 客户端 和 服务器 三.FTP 工作原理 四.FTP 传输模式 一.文件传送协议 文件传送协议 : 文件传送协议 FTP ( File Transfer Pro ...

最新文章

  1. 资源 | 做一款炫酷的机器人需要哪些学习资源(机器人资源Awesome系列)
  2. 【Java基础】四种Java引用类型
  3. 消息中间件核心实体(1)
  4. 分布式大数据多维分析(OLAP)引擎Apache Kylin安装配置及使用示例
  5. fcpx大胆流行标题插件 Bold Pop for mac
  6. 你抢的不是春节红包而是云!
  7. F1060 IPV6 BGP4+与静态路由重分布典型组网配置案例
  8. Django Form ModelForm modelfromset
  9. 【优化预测】基于matlab贝叶斯网络优化LSTM预测【含Matlab源码 1329期】
  10. SOAPUI接口测试学习网站
  11. 网络知识:光猫光纤宽带故障排查笔记!
  12. kendo ui开源工具:Kendo ui core
  13. 篮球比赛表式计时器_篮球比赛24秒倒计时器的设计(word文档)
  14. php 删除文件 unlink,如何使用php unlink删除文件
  15. Bandwidth Part
  16. Bingo说说:从0开始到月入10万,告诉你一个万能赚钱公式
  17. php支付宝红包跳转接口,支付宝小程序API 跳转支付宝应用或页面
  18. Angular4 失焦与点击冲突处理
  19. 渗透测试-----9-拒绝服务(黑客其它的攻击方式)
  20. HelloEnglish

热门文章

  1. D1. Remove the Substring (从easy到hard)
  2. Gif动画怎么在线制作?快试试这款gif在线制作工具
  3. pert计算公式期望值_PERT的应用
  4. MyBatis(一)基础及查询
  5. 广州玄武科技Java后台开发初面
  6. PalmOS开发教程-5
  7. 5G NR标准 第5章 NR概览
  8. 想要专升本你不得不看的全干货_吐血整理_专升本_计算机文化基础( 十 三 )
  9. Mesos和Marathon简介和浅析
  10. 布隆(Bloom Filter)过滤器入门