Linux系统FTP服务器搭建与配置

一、简介

1、简介

File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文件传输协议”。用于Internet上的控制文件的双向传输。同时,它也是一个应用程序(Application)。基于不同的操作系统有不同的FTP应用程序,而所有这些应用程序都遵守同一种哦协议以传输文件。在FTP的使用当中,用户经常遇到两个概念:“下载(Download)”和“上传(Upload)”。

下载文件就是将文件从远程主机拷贝到自己的计算机上;

上传文件就是将文件从自己的计算机拷贝到远程主机上。

支持FTP协议的服务器就是FTP服务器。

2、工作模式

主动模式:

FTP客户机向服务器的FTP控制端口(默认是21)发送请求,服务器接受连接,建立一 条命令链路,当需要传送数据时候,客户端在命令链路上用PORT命令告诉服务器:“我打开了某个端口,你过来连接我。”于是服务器从20端口向客户端的改端口发送连接请求,建立一条数据链路来传送数据。在数据链路建立的过程中是服务器主动请求,所以称为主动模式。
FTP 主动模式(命令行是主动模式)
服务器用20号端口,主动连接客户机的大于1024的随机端口。
        被动模式:
          FTP客户端向服务器的FTP控制端口发送连接请求,服务器接收连接,建立一条命令链路,当需要传送数据时候,服务器在命令链路上用PASV命令告诉客户端;“我打开了某端口,你过来连接我。”于是客户端向服务器的该端口发送连接请求,建立一条数据链路来传送数据。在数据链路建立的过程中是服务器被动等待客户端请求,所以称为被动模式。
        FTP被动模式客户机用大于1024的随机端口,主动连接服务器大于1024的随机端口。

主动模式下的FTP服务器,需要在服务器和客户端之间的防火墙中设置一下策越:

允许FTP客户机从大于1024的端口连接FTP服务器的21端口
          允许FTP服务器从21端口回应FTP客户机中大于1024端口的网络连接。
          允许FTP服务器从20端口主动连接FTP客户机中大于1024的端口
          允许FTP客户机从大于1024的端口回应来自FTP服务器20端口的网络连接
        被动模式下的FTP服务器,需要在服务器和客户端之间的防火墙中设置一下策越:
          允许FTP客户机从大于1024的端口连接FTP服务器的21端口
          允许FTP服务器从21端口回应FTP客户机中大于1024端口的网络连接。
          允许FTP客户机从大于1024端口主动连接FTP服务器中大于1024的端口
          允许FTP服务器从大于1024的端口回应来自FTP客户机大于1024端口的网络连接

3、服务端和客户端程序

1)常见的FTP服务器程序:

Windows:IIS 、Serv-U

Linux:  wu-ftpd 、Proftpd 、vsftpd(Very Secure FTP Daemon,常用)

2)常见的FTP客户端程序:

CuteFTP、FlashFXP、LeapFTP、Filezilla

gftp、kuftp、FTP命令(Linux中可能需要自己安装,yum -y install ftp)

二、FTP服务器的安装与配置

1、安装

1)服务器端: vsftpd

2)客户端:

Linux系统:安装ftp命令

Windows系统:使用第三方软件连接

2、配置文件详解

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

anonymous_enable=YES  #允许匿名用户访问

anon_umask=022        #匿名用户所上传文件的权限掩码(无此项,默认是600)

anon_root=/var/ftp    #匿名用户的FTP根目录

anon_upload_enable=YES   #允许匿名用户上传(服务器权限和目录权限均需要设置)

anon_mkdir_write_enable=YES   #允许创建目录

anon_other_write_enable=YES   #开放其他写入权

anon_max_rate=0     #限制最大传输速度(字节/秒)

local_enable=YES   #是否启用本地系统用户

local_umask=022   #本地用户所上传文件的权限掩码

local_root=/var/ftp   #设置本地用户的FTP根目录

chroot_local_user=YES  #是否将用户禁锢在主目录

local_max_rate=0      #限制最大传输速率

listen_address=192.168.4.1  #设置监听的IP地址

listen_port=21             #设置监听FTP服务的端口号

write_enable=YES           #是否启用写入权限

download_enable=YES        #是否允许下载文件

max_clients=0              #限制并发客户端连接数

max_per_ip=0               #限制同一IP地址的并发连接数

3、虚拟用户配置

1)建立虚拟FTP用户的帐号数据库文件

vi /etc/vsftpd/vusers.list(奇数行写用户名,偶数行写密码)

lc

123

sc

123

cd /etc/vsftpd

db_load -T -t hash -f vusers.list vusers.db

chmod 600 /etc/vsftpd/vusers.*

2)创建FTP根目录及虚拟用户映射的系统用户

useradd -d /var/ftproot -s /sbin/nologin virtual

chmod 755 /var/ftproot

3)建立支持虚拟用户的PAM认证文件

vi /etc/pam.d/vsftpd.vu

#%PAM-1.0

auth      required       pam_userdb.so db=/etc/vsftpd/vusers

account   required       pam_userdb.so db=/etc/vsftpd/vusers

添加虚拟用户支持

4)在vsftpd.conf文件中添加支持配置

local_enable=YES

write_enable=YES

anon_umask=022

guest_enable=YES

guest_username=virtual

pam_service_name=vsftpd.vu

user_config_dir=/etc/vsftpd/vusers_dir

5)为个别虚拟用户建立独立的配置文件

mkdir  /etc/vsftpd/vusers_dir

cd  /etc/vsftpd/vusers.dir

vi lc

anon_upload_enable=YES

anon_mkdir_write_enable=YES

启动服务并测试

6)重新加载vsftpd配置

service vsftpd  reload

7)使用虚拟FTP帐号访问测试

每个用户都可以通过自己独立配置文件中分配的权限来访问FTP服务器。

时间: 2024-12-30 18:56:19

Linux系统FTP服务器搭建与配置的相关文章

linux系统ftp服务器详解

匿名FTP服务 1.检查并安装vsFTPD软件包在终端窗口输入命令:"rpm –qa|grep vsftpd 命令检查系统是否安装了VsFTPD软件包,如下图所示:如上图所示 vsftpd 软件包并没有安装,可以使用命令 yum install vsftpd –y 进行安装 查看是否已经安装成功使用命令 rpm –qa vsftpd 如上图所示已经成功下载安装了软件包vsftpd VsFTPD在安装时会自动创建FTP系统用户组ftp,和属于该组的FTP系统用户ftp, 该用户的主目录为/var/

FTP服务器搭建与配置

FTP服务器搭建与配置 FTP介绍 使用vsftpd搭建ftp服务 xshell使用xftp传输文件 使用pure-ftpd搭建ftp服务 FTP介绍 FTP是File Transfer Protocol(文件传输协议,简称文件协议)的简称,用于在Internet上控制文件的双向传输. FTP的主要作用就是让用户连接一个远程计算机(这些计算机上运行着FTP服务器程序) 并查看远程计算机中的文件,然后把文件从远程计算机复制到要地计算机,或是本地计算机的文件传送到远程计算机. 小公司用的多,大企业不

linux的FTP服务器搭建及FTP服务器的入侵和防御

FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为"文传协议".用于Internet上的控制文件的双向传输. 与大多数Internet服务一样,FTP也是一个客户机/服务器系统.用户通过一个支持FTP协议的客户机程序,连接到在远程主机上的FTP服务器程序.用户通过客户机程序向服务器程序发出命令,服务器程序执行用户所发出的命令,并将执行的结果返回到客户机. 用户分类 Real帐户 这类用户是指在FTP服务上拥有帐号.当这类用户登录FTP服务器的

linux 下 svn 服务器搭建与配置

Subversion是一个自由,开源的版本控制系统,可以记录每一次文件和目录的修改情况.这样就可以籍此将数据恢复到以前的版本,并可以查看数据的更改细节. linux 下 svn的搭建 首先安装 subversion yum  install -y subversion 使用rpm -qa subversion 查看是否安装完成 安装完成后进行配置 首先在home 下建立svn的数据目录和密码认证目录 说明: svndata 目录用于存放项目目录,svnpassw 目录存放密码及认证文件 在svn

linux系统vps服务器简单安全配置

虽然说linux 系统比windows安全性要高一些,不过一些简单的安全配置也是必要的.因为毕竟现在市面的破译工具太多了,如可以社会工程学你密码.那么就一起看学习下入门级安全配置吧. 工具/原料 linux 系统 vps或者服务器 DDos deflate 方法/步骤 第一.远程管理端口.市面上有很多工具采用字典方式套取你的管理员密码,我们至少可以创造一些麻烦出来.修改ssh 的登陆端口,默认端口是22.扫描字典穷举密码他们都是从默认的开始.如果你把端口改成4位数的也大大提高了他们的难度及时间.

linux下ftp服务器搭建

FTP服务器(File Transfer Protocol Server)是在互联网上提供文件存储和访问服务的计算机,它们依照FTP协议提供服务. FTP是File Transfer Protocol(文件传输协议).顾名思义,就是专门用来传输文件的协议.简单地说,支持FTP协议的服务器就是FTP服务器. 目前开源操作系统中常用的FTP服务器程序主要有  :vsftpd.    proFTPD. pureFTPD等,我这次是用的是vsftpd来搭建 1.vsftpd安装 #yum install

linux vsftpd ftp服务器搭建

## 学习总结 ##超级用户权限 vsftpd安装(l) yum install vsftpd    apt-get install vsftpd vsftpd配置(本地用户登陆限制在自己的主目录,/etc/vsftpd.conf) listen=YES(连接被拒绝时查看是否打开) chroot_list_file=/etc/vsftpd.chroot_list chroot_list_enable=YES allow_writeable_chroot=YES (500 OOPS: vsftpd

Linux:DNS服务器搭建及配置

1.yum install -y bind bind-chroot bind-utils 2.编辑DNS主配置文件 vim /etc/named.conf   修改如下标红色处即可: options { listen-on port 53 { any; }; listen-on-v6 port 53 { ::1; }; directory       "/var/named"; dump-file       "/var/named/data/cache_dump.db&qu

linux下FTP服务器的安装与配置

FTP服务器安装与配置 1. 切换到root用户:  su root 2. 查看系统中是否安装了vsftpd,可以通过执行命令 :  rpm -qa | grep vsftpd 3. 如果没有安装 vsftpd,则安装 :  yum -y install vsftpd 4. 创建ftp用户,比如ftp_test.命令:   useradd -s /sbin/nologin -d /home/ftp_test ftp_test 5. 设置ftp_test用户密码.命令:  passwd ftp_t