Linux系统下安装搭建FTP服务器

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux系统下安装搭建FTP服务器相关的知识,希望对你有一定的参考价值。

  FTP是File Transfer Protocol(文件传输协议),就是专门用来传输文件的协议。简单地说,支持FTP协议的服务器就是FTP服务器。

  FTP支持两种模式:PORT(主动)、PASV(被动)。

  PORT模式:首先FTP 客户端和服务器的TCP 21端口建立连接, 然后在这个通道上发送PORT命令,命令中包含客户端用某个端口连接,服务器收到命令后会利用数据端口(20)连接客户端那个端口。

  PASV模式:当开启一个FTP连接时,客户端会随机打开两个非特权端口A和B, 其中A端口和服务器的TCP 21端口建立连接,在命令通道上客户端向服务器发送PASV命令,服务器收到后就会随机打开一个非特权端口P,然后发送PORT命令给客户端,客户端收到后利用B端口连接到服务器的P端口进行传送数据。

安装ftp

  #rpm -qa vsftpd 查看是否已经安装

  #yum install vsftpd -y 安装

  #service vsftpd start 开启服务

  #ftp 192.168.254.5(ip地址) 登录

响应码

  1xx:信息

  2xx:成功类代码

  3xx:提示需要进一步操作类代码

  4xx:客户端错误

  5xx:服务端错误

登录方式

 配置文件/etc/vsftpd/vsftpd.conf

  匿名用户设置:

  anonymous_enable=YES  是否启用匿名用户

  anon_upload_enable=YES  上传

  anon_mkdir_write_enable=YES  创建目录

  anon_other_write_enable=YES  删除

  限制系统用户锁定在家目录:

  chroot_list_enable=YES  限制所有

  chroot_list_enable=YES  限制一部分

  chroot_list_file=/etc/vsftpd/chroot_list  将需要限制用户写入此文件

  /etc/vsftpd/ftpusers  文件中的系统用户将被禁止登录

  连接数限制:

  max_clients=#  FTP服务器最大接入客户端数

  max_per_ip=#  每个ip最大连接数

  传输速率限制:

  anno_max_rate=#  匿名用户最大传输速率

 匿名用户:

  用户名:ftp;密码为空;登录目录:/var/ftp。

 系统用户:

  用户名:本地用户;密码:用户密码;登录目录:用户家目录。

  pam_service_name=vsftpd

 虚拟登录

  在/etc/vsftpd/下创建自定义名文件,奇数行为用户名,偶数行为密码;所有虚拟用户目录为一个系统家目录。

  1、创建用户密码文本

    vim /etc/vsftpd/vftpuser

    user1

    redhat1

    user2

    redhat2

  2、生成虚拟用户认证db文件

    db_load -T -t hash -f /etc/vsftpd/vftpuser /etcvsftpd/vftpuser.db

  3、编辑PAM文件

    方法一、vi /etc/pam.d/vsftpd 内容全部注释掉,增加以下两句

        auth required /lib(64)/security/pam_userdb.so db=/etc/vsftpd/vftpuser

        account required /lib(64)/security/pam_userdb.so db=/etc/vsftpd/vftpuser

    方法二、在/etc/pam.d/下创建新文件vsftpdauth,将以上两句写入,然后编辑配置文件vsftpd.conf.

        pam_service_name=vsftpdauth 改为你创建的文件名

  4、创建一个系统用户,所有虚拟用户都被映射成此系统用户

    useradd -d /home/vftp -s /sbin/nologin virtual  用户名为virtual

    chmod 700 /home/vftp 设置权限

  5、在配置文件中启用虚拟用户,增加以下参数:

    guest_enable=YES

    guest_username=virtual

  重启FTP服务

以上是关于Linux系统下安装搭建FTP服务器的主要内容,如果未能解决你的问题,请参考以下文章

Linux下ftp服务器搭建

Linux系统搭建FTP服务器教程

linux下搭建ftp服务器

CentOS7 FTP服务搭建(虚拟用户访问FTP服务)

linux系统手动搭建FTP站点教程

linux系统手动搭建FTP站点教程