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服务

时间: 2024-11-05 19:57:50

Linux系统下安装搭建FTP服务器的相关文章

linux系统下本地搭建git服务器

linux系统下如何搭建本地git服务器,用于存放团队的开发代码,如下步骤: 1.先用一台服务器来安装git,安装好linux以后,在这里选用的是Ubuntu 14.04.然后配置静态IP:172.16.0.110.执行下面命令: >> sudo apt-get install git 2.创建一个git用户: >> sudo adduser git 3.建立/home/git/.ssh/authorized_keys文件,将团队每个人的~/.ssh/id_rsa.pub文件复制到

Linux平台下快速搭建FTP服务器

FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为"文传协议".用于Internet上的控制文件的双向传输.同时,它也是一个应用程序(Application).基于不同的操作系统有不同的FTP应用程序,而所有这些应用程序都遵守同一种协议以传输文件.在FTP的使用当中,用户经常遇到两个概念:"下载"(Download)和"上传"(Upload). 一般在各种linux的发行版中,默认带有的ftp软件是vs

在Linux系统下安装大于mysql5.5版本的数据库

linux下mysql 5.5的安装方法: 1.安装所需要系统库相关库文件      gcc等开发包,在安装linux系统的时候安装. 2.创建mysql安装目录 # mkdir -p /usr/local/mysql/ 3.创建数据存放目录 # mkdir -p /service/data/ 4.创建用户和用户组与赋予数据存放目录权限 # groupadd mysql # useradd -g mysql mysql # chown mysql:mysql -R /service/data/

Linux系统下安装rz/sz命令以及使用说明

Linux系统下安装rz/sz命令以及使用说明 对于经常使用Linux系统的人员来说,少不了将本地的文件上传到服务器或者从服务器上下载文件到本地,rz / sz命令很方便的帮我们实现了这个功能,但是很多Linux系统初始并没有这两个命令.今天,我们就简单的讲解一下如何安装和使用rz.sz命令. 一.软件安装 1.编译安装(方法一) 这种方法必须保证机器可以上网,使用root账号登录系统后,依次执行下面命令: cd /tmp wget http://www.ohse.de/uwe/releases

Linux系统下安装phpmyadmin方法

phpmyadmin下载地址:不要分,赶紧去下载吧!http://download.csdn.net/detail/u011986449/7429799 1.找到 /libraries/config.default.php文件(config.default.php复制到phpmyadmin目录下,然后更名为config.inc.php),该文件有如下项目(2-8)须自行配置,windows用写字板(不要用记事本,这是UTF8编码)进行编辑,在linux下直接用vim编辑. 2.查找 $cfg['

linux系统下安装mysql数据库(mysql-5.7)

前言: 本文主要介绍如何在linux系统下安装mysql数据库及安装时遇到各种问题该如何解决:     本次安装使用的linux系统是centos,数据库版本是mysql-5.7. 一.安装前准备 root用户登录只linux服务器,在根目录下新建数据库安装目录  /software/mysql:数据库文件数据位置:/data/mysql(可以根据自己的习惯创建) 然后从oracle官网上下载mysql安装包:可以在自己电脑上先下载再上传到linux服务上,如果linux服务器可以访问外网,也可

在虚拟机的Linux系统下安装wineqq

|   版权声明:本文为博主原创文章,未经博主允许不得转载. 本文参考教程:http://www.ubuntukylin.com/ukylin/forum.php?mod=viewthread&tid=7688&extra=page%3D1 WineQQ下载地址:http://pan.baidu.com/s/1c2FSTsk qq是一款国内非常著名的聊天工具,但是在腾讯的官网并没有Linux操作系统下的qq安装版本,但是我们也有办法在Linux系统下安装qq,下面我们实现在Linux安装w

linux系统下安装Apache(个人经验)

在安装Apache之前,我们需要安装Apr,和Apr相关的Apr-util,和pcre 这三个东西. Apr是Apache可移植运行库,pcre是一个Perl库,包括 perl 兼容的正规表达式库. 这三个文件的安装很类似,后面会详细讲. 我的系统是CentOS6.2 (保证安装了G++,后面会讲安装G++),准备四个文件分别是: 1.pcre-8.31.tar.bz2 2.apr-1.5.1.tar.gz 3.pcre-8.30.tar.bz2 4.httpd-2.4.10.tar.bz2 我

关于在linux系统下安装jdk

今天装jdk遇到了不少的问题,我第一次遇到64位虚拟机中居然装32位操作系统,然后遇到一系列的麻烦,差点有种崩溃的感觉: 对于版本为题是一个很关键的问题,对于jdk安装,不要认为只要java -version 验证成功就ok了,还要执行javac命令如何:如果javac命令执行不了: 1. 最大的可能性就是jdk的版本的不支持的原因: 2.还有就是要修改配置:gedit /etc/profile.d/java.sh文件 JAVA_HOME=/usr/java/jdk1.6.0_43 JRE_HO