专栏首页吴奇的专栏Linux云服务器下搭建FTP服务器
原创

Linux云服务器下搭建FTP服务器

FTP工作模式简介

FTP工作会启动两个通道:控制通道和数据通道。

控制通道一般由客户端发起,数据连接分两种:port(主动)和pasv(被动)。

PORT模式: 在客户端需要接收数据时,ftp_client(大于1024的随机端口)-PORT命令->ftp_server(21) 发送PORT命令,这个PORT命令包含了客户端是用什么端口来接收数据(大于1024的随机端口,在传送数据时,ftp_server将通过自己的TCP 20 端口和PORT中包含的端口建立新的连接来传送数据。

PASV模式: 传送数据时,ftp_client--PASV命令-->ftp_server(21) 发送PASV命令时,ftp_server自动打开一个1024--5000之间的随机端口并且通知ftp_client在这个端口上传送数据,然后客户端向指定的端口发出请求连接,建立一条数据链路进行数据传输。

安装FTP软件包

#rpm -qa vsftpd          //查看是否已经安装
#yum install -y vsftpd //安装FTP
#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              主配置文件 
/etc/vsftpd/vsftpd_conf_migrate.sh  vsftpd操作的一些变量和设置 
/usr/sbin/vsftpd                    vsftpd的主程序

FTP安全设置

1.为了安全应该禁止匿名用户的登录:将配置文件的anonymous_enable参数设为NO,屏蔽匿名用户上传,创建,删除的功能

#vi  /etc/vsftpd/vsftpd.conf 
anonymous_enable=NO 
#anon_upload_enable=YES      上传 
#anon_mkdir_write_enable=YES    创建 
#anon_other_write_enable=YES    删除 
#service vsftpd restart    //重启FTP服务器

2.为加强安全设置:限制系统用户锁定在家目录:

#vi  /etc/vsftpd/vsftpd.conf 
chroot_list_enable=YES 
chroot_list_file=/etc/vsftpd/chroot_list  //把需要限制的用户加入/etc/vsftpd/chroot_list即可

3.限制其他系统用户不能登录ftp:

#cat /etc/vsftpd/ftpusers   //ftpusers是禁止使用FTP用户列表。
#echo "uuu" >>/etc/vsftpd/ftpusers  此时viong不能登录ftp  //这样uuu用户将不能使用FTP

4.使用FTP的配置文件/etc/vsftpd/user_list来控制只有那些用户可以登录FTP:

/etc/vsftpd/user_list 用于存放哪些用户才能登录系统: 
#vi /etc/vsftpd/vsftpd.conf 
#在userlist_enable=YES 的后面添加 
userlist_deny=NO 
userlist_file=/etc/vsftpd/user_list

5.搭建支持SSL加密传输的vsftpd:

首先检查vsftpd软件是否支持SSL:

#ldd /usr/sbin/vsftpd |grep libssl
libssl.so.6 => /lib/libssl.so.6 (0xf7f27000)   ==说明此版本支持
#openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout /etc/vsftpd/vsftpd.pem -out /etc/vsftpd/vsftpd.pem   //生成vsftpd.pem证书

#vi /etc/vsftpd/vsftpd.conf   //设置主配置文件参数
ssl_enable=YES                                      //是否启用 SSL,默认为no
allow_anon_ssl=NO                                 //是否允许匿名用户使用SSL,默认为no
force_local_data_ssl=YES                       //非匿名用户传输数据时是否加密,默认为yes
force_local_logins_ssl=YES                     //非匿名用户登陆时是否加密,默认为yes
ssl_tlsv1=YES                                          //是否激活tls v1加密,默认yes
ssl_sslv2=YES                                         //是否激活sslv2加密,默认no
ssl_sslv3=YES                                         //是否激活sslv3加密,默认no
rsa_cert_file=/etc/vsftpd/vsftpd.pem          //rsa证书的位置

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 嵌入式Linux上便捷开发环境搭建

    1.本文说明2.基本工具3.基本思想4.操作流程4.1 第一步ubuntu上安装tfp4.2 Windows上VS Code的操作5. 测试与使用6.总结

    bigmagic
  • FTP服务搭建和配置

    老七Linux
  • vsftpd添加用户并分配不同权限

    安装完后,有/etc/vsftpd/vsftpd.conf 文件,是vsftp的配置文件。

    秃头哥编程
  • Linux 搭建 vsftpd 服务器 原

    用户2836074
  • FTP服务搭建与配置 原

    说明: vsftpd可以使用系统级别的用户进行登录,但是这样做不安全,所以需要使用vsftpd创建一个虚拟用户。在此创建一个系统普通用户的作用是使vsftpd的...

    阿dai学长
  • 利用ABAP调试模式修改SE16里数据库表的内容

    版权声明:本文为博主汪子熙原创文章,未经博主允许不得转载。 https://jerry.bl...

    Jerry Wang
  • linux学习第五十二篇: exportfs命令,NFS客户端问题,FTP介绍,使用vsftpd搭建ftp服务

    exportfs命令 常用选项 -a 全部挂载或者全部卸载 -r 重新挂载 -u 卸载某一个目录 -v 显示共享目录 以下操作在服务端上 vim /et...

    用户1215343
  • Geoserver扩展以支持Erdas Image数据的服务发布

    Geoserver默认支持的栅格数据源比较少,包括ArcGrid,GeoTiff,WorldImage,ImageMosaic等,是不支持Erdas Img格式...

    lzugis
  • 干货分享丨达观数据提升 Web服务端性能的技术经验

    随着互联网的不断发展,日常生活中越来越多的需求通过网络来实现,从衣食住行到金融教育,从口袋到身份,人们无时无刻不依赖着网络,而且越来越多的人通过网络来完成自己的...

    达观数据
  • 整理自己的.net工具库

      今天我会把自己平日整理的工具库给开放出来,提供给有需要的朋友,如果有朋友平常也在积累欢迎提意见,我会乐意采纳并补充完整。按照惯例在文章结尾给出地址^_^。

    陈珙

扫码关注云+社区

领取腾讯云代金券