Linux下FTP服务器vsftp配置大全

合集下载

linux中FTP服务配置(详细)

linux中FTP服务配置(详细)

FTP服务1、FTP服务的端口号21端口:传输FTP的控制命令20端口:传输文件数据2、FTP的数据传输模式主动模式FTP客户端向服务器的FTP控制端口(21端口)发出连接请求,服务器接受连接,建立一条命令链路;当需要传输数据时,客户端在命令链路上用PORT命令告诉服务器,自己打开了某个端口,服务器从20端口向客户端的指定端口发出连接请求,建立一条数据链路来传送数据。

(ftp>sendport)被动模式FTP客户端向服务器的FTP控制端口(21端口)发出连接请求,服务器接受连接,建立一条命令链路;当需要传输数据时,服务器在命令链路上用PASV命令告诉客户端,自己打开了某个端口,客户端向服务器的指定端口发出连接请求,建立一条数据链路来传送数据。

(ftp>passive)3、FTP服务器软件Wu-ftpd ——Proftpd ——vsftpd ——4、FTP客户端软件ftp命令gftp ——Filezilla ——(windows下的开放源代码的FTP客户端)5、服务器和客户端之间的防火墙设置策略对于工作在主动模式下的服务器:允许FTP客户端从大于1024的端口连接FTP服务器的21端口允许FTP服务器从21端口回应FTP客户端大于1024端口的网络连接允许FTP服务器从20端口主动连接FTP客户端中大于1024的端口允许FTP客户端从大于1024的端口回应来自FTP服务器的20端口的网络连接对于工作在被动模式下的服务器:允许FTP客户端从大于1024的端口连接FTP服务器的21端口允许FTP服务器从21端口回应FTP客户端大于1024端口的网络连接允许FTP客户端从大于1024的端口主动连接FTP服务器中大于1024的端口允许FTP服务器从大于1024的端口回应来自FTP客户机大于1024端口的网络连接6、FTP服务器配置——vsftpd服务器1)安装vsftpd(第一张安装光盘中)2)vsftpd服务器的配置文件主配置文件——/etc/vsftpd/vsftpd.confvsftpd.conf文件中常用的配置:✓anonymous_enable :设置为YES时,FTP服务器允许匿名登录。

Linux下FTP服务器的安装和配置(详细)

Linux下FTP服务器的安装和配置(详细)

Linux下FTP服务器的安装和配置(详细)Linux下FTP服务器的安装和配置在Internet上FTP(File Transfer Protocol,⽂件传输协议)扮演着⼗分重要的⾓⾊。

我们可以通过FTP与远程机器传输交换⽂件数据,下载或上传最新的软件。

基本的FTP服务器根据服务的对象可以分为两种,⼀种是Unix(当然也包括Linux)系统基本的FTP服务器,使⽤者是服务器上合法的⽤户;⽽另⼀种是匿名FTP服务器(Anonmous FTP Service),任何⼈只要使⽤anonmous 或ftp帐号并提供电⼦邮件地址作为⼝令就可以使⽤FTP服务。

对于系统中合法的⽤户,其登录⽬录为他们的home⽬录;如果是匿名⽤户登录的话,登录后会到/home/ftp这个⽬录中,该除⾮我们在该⽬录中存放下载⽂件,否则匿名FTP使⽤者将不能做任何事情。

在本章,我们将详细地介绍FTP 服务器的安装、配置以及服务器的维护。

安装FTP服务器在Linux的发⾏套件中都有FTP服务器的软件包wu-ftpd(Washington University FTP server),这是⽬前最流⾏的⼀种免费FTP服务器软件,⽬前绝⼤多数的FTP站点都是由wu-ftpd来架设的,⽽wu-ftp如此流⾏的原因是因为它强⼤的功能,例如:·可控制不同⽹域的机器对 FTP服务器的存取权限和访问时段。

·使⽤者在下载⽂件时,可⾃动对⽂件进⾏压缩或解压缩⼯作。

·可以记录⽂件上传或下载的过程。

·可以限制最⾼访问⼈数,以维持系统的最佳运⾏效率。

·可显⽰相关的信息,以便⽤户了解当前的接收状态。

·可暂时关闭FTP服务器,以便系统维护。

在安装系统时如果选择了wu-ftpd软件包,就会⾃动安装。

但如果我们想要使⽤最新的FTP软件包的话,可以到全世界各⼤FTP站点下载。

⽬前最新的版本是wu-ftpd-2.5.0,得到了wu-ftpd-2.5.0.tar.gz后,请按照我们下⾯的步骤进⾏安装。

linux下配置FTP服务器步骤

linux下配置FTP服务器步骤

一、创建匿名FTP服务器的方法1。

增加新用户ftp,设置其主目录对任何用户都无写权限;2。

新建立一个组anonymou,它只能被匿名ftp使用;3.在ftp用户的主目录下创建一个bin目录,它属于root用户,而且对任何用户都不能写;4。

在ftp用户主目录下创建一个etc目录,它属于root用户,而且对任何用户都不能写;5.在ftp用户主目录下创建一个public目录,它属于ftp用户,而且对任何用户都能写。

如果由于安全等原因,您不允许其他用户在您的计算机上具有存储能力,那么您可以将其权限设置成555;6.将ls程序放到已创建的bin目录下,并将其修改成111方式,即对任何用户只能执行;7。

在已创建的etc目录下,创建passwd和group两个文件,并将它们设置成444方式(只读)。

二、创建匿名FTP---—在Unix下用root登录,然后按下列步骤逐步建立FTP服务器.1.建立新组anonymou----#mkgroupanonymou2.建立新用户ftp,且ftp用户属于anonymou组—--—#mkuserpgrp=‘nonymou'home=‘ /u/anonymou’ftp3。

在用户目录下建立相关的目录#cd/u/anonymou#mkdiretc#mkdirbin#mkdirpublic4。

将ls拷贝到/usr/anonymou/bin下,并设置其读写属性#cp/bin/ls./bin#chmod111。

/bin/ls5.创建/u/anonymou/etc/group文件————在该文件中增加一行:anonymou:!:201:6.创建/u/anonymou/etc/passwd文件--—-在该文件中增加一行:ftp:*:213:201::/u/anonymou:/bin/ksh7。

修改/u/anonymou/etc/group文件和/u/anonymou/etc/passwd文件的属性#chmod444/u/anonymou/etc/passwd—--—#chmod444/u/anonymou/etc/group8。

杨海艳-主讲-linux之VsFTP配置步骤截图

杨海艳-主讲-linux之VsFTP配置步骤截图

vsftp的配置步骤讲解说明主讲人:杨海艳然后vim /etc/vsftpd/vsftpd.confservice vsftpd restart【案例1】建立基于虚拟用户的FTP服务器,并根据以下要求配置FTP服务器。

(1)配置FTP匿名用户的主目录为/var/ftp/anon。

下载带宽限制为100kB/s(2)建立一个名为abc,口令为xyz的FTP账户。

下载带宽限制为500kB/s。

(3)设置FTP服务器同时登录到FTP服务器的最大链接数为100;每个IP最大链接数为3;用户空闲时间超过限值为5分钟。

mkdir /var/ftp/anonuseradd abcpasswd abcvim /etc/vsftpd/vsftpd.conf主要内容如下anonymous_enable=YESanon_root=/var/ftp/anonanon_max_rate=100000# Uncomment this to allow local users to log in.local_enable=YESlocal_max_rate=500000max_clients=100max_per_ip=3connect_timeout=300以上是本地的LOCAL用户下面是用虚拟用户来实现vim /etc/vsftpd/vuser内容如下tom123生成数据库文件db_load -T -t hash -f /etc/vsftpd/vuser /etc/vsftpd/vuser.dbchmod 600 /etc/vsftpd/vuser.dbvim /etc/pam.d/vsftpd注释掉原来的内容然后加入auth required pam_userdb.so db=/etc/vsftpd/vuseraccount required pam_userdb.so db=/etc/vsftpd/vuser最后编辑VSFTPD.CONF加入下面两句guest_enable=YESguest_username=abc大家可以自行测试。

Linux1 FTP服务器 vsFTP的启动模式

Linux1 FTP服务器  vsFTP的启动模式

Linux1 FTP 服务器 vsFTP 的启动模式vsFTPd 拥有两种启动的模式,分别是一直在监听的stand alone (独立安全模式),一种则是通过xinetd 这个super daemon (超级服务)来管理的方式。

两种方式所使用的启动程序不太相同,而Red Hat Linux5.4则默认是以stand alone 来启动的。

那么什么情况下应该选择stand alone 或者是super daemon 呢?如果你的FTP 服务器在整个因特网上是用来完成大量的下载任务,比如各大院校的FTP 服务器,则建议使用独立安全模式,服务器的速度会比较快。

如果仅是提供给内部人员使用的FTP 服务器,那么使用super daemon 来管理即可。

1.独立安全模式启动vsFTPd采用独立安全模式时,Red Hat Enterprise Linux5.4不用做任何设置就能够启动vsFTPd (因为它通过利用系统本身提供的脚本来进行)。

只需在终端下,输入“/etc/init.d/vsFTPd start ”命令,并按【回车】键即可,如图8-29所示。

图8-29 启动vsFTPd 服务另外,如果需要让vsftpd 服务随系统启动而自动加载,可以在终端内执行“ntsysv ”命令启动服务配置程序,从服务列表中找到“vsftpd ”服务,并按【空格】键在其前面加上星号(*),然后选择【确定】选项,如图8-30所示。

提 示Stand alone 字面为“独立的启动”,该模式的进程系统后,常驻内存,占用系统资源,但相应快,一有请求来就立刻响应。

Super daemon 相对于Stand alone ,这种服务的启动由统一的一个进程负责响应该服务,此进程就是xinet 。

提 示若要停止vsFTPd 服务,使用/etc/init.d/vsftpd stop 命令;重启vsFTPd 服务,使用/etc/init.d/vsftpd restart 命令。

VSFTPD配置方法

VSFTPD配置方法

VSFTPD配置方法1.安装VSFTPD软件首先,使用以下命令在Linux系统上安装VSFTPD软件:```sudo apt-get install vsftpd```2.配置VSFTPD打开VSFTPD的配置文件,通常位于/etc/vsftpd.conf,使用以下命令:```sudo nano /etc/vsftpd.conf```-设置FTP根目录:``````-允许匿名访问(可选):```anonymous_enable=YES```-关闭匿名上传(可选):```anon_upload_enable=NO```-允许本地用户登录:```local_enable=YES```-限制用户仅访问其主目录:```chroot_local_user=YES```将用户限制在其主目录下,防止访问系统其他部分。

-设置FTP用户的权限:```file_open_mode=0777local_umask=022```file_open_mode设置为0777将文件权限设置为可读写执行,local_umask设置为022保证新创建的文件和文件夹的权限正确。

``````3.重启VSFTPD服务使用以下命令重启VSFTPD服务,使配置生效:```sudo systemctl restart vsftpd```4.配置防火墙如果系统上使用了防火墙,需要修改防火墙规则以允许FTP流量通过。

根据所使用的防火墙软件和具体配置方法来进行相应的设置。

5.创建FTP用户使用以下命令创建一个FTP用户:```sudo adduser ftpuser```将ftpuser替换为你希望创建的FTP用户名。

6.设置FTP用户密码使用以下命令设置FTP用户的密码:```sudo passwd ftpuser```7.连接FTP服务器使用FTP客户端软件连接到配置好的VSFTPD服务器,使用FTP用户的用户名和密码登录即可。

以上就是VSFTPD配置的一般方法。

linux下ftp.nfs.samba服务器的安装及配置

linux下ftp.nfs.samba服务器的安装及配置

ftp服务器安装及配置安装配置ftp服务器的大体步骤是:1.下载vsftpd软件包,2.安装软件包,3.修改配置文件,4.重启服务器,5登录服务器具体步骤为:1、下载与安装软件包在shell终端中使用命令:#sudo apt-get install vsftpd即完成下载于安装步骤.查看ftp服务器是否启动,在shell终端中使用命令:#netstat -tl,查看Local Address 中ftp 的状态是否为LISTEN状态2、在/home目录下为ftp用户建立相应的ftp目录在shell终端中使用命令:sudo mkdir /home/ftp.在此之前要确保系统总存在ftp用户。

如果没有使用命令:#adduser name(添加用户并设置密码)#passwd name(修改密码)若想匿名访问时,其用户名和密码均为anonymous,(匿名用户还有ftp密码可以自己设定) 3、修改配置文件在shell终端中使用以下命令:#sudo gedit /etc/vsftp.conf按照想要实现的功能修改相应的配置选项。

配置文件具体修改如下://匿名上传文件anonymous_enable=YES //匿名登录local_enable=YES //本地登录write_enable=YES //可写anon_upload_enable=YES //匿名上传anon_mkdir_write_enable=YES //匿名创建可写connect_from_port_20=YES //连接端口20//如何限定本地用户的目录chroot_local_user=YES //限定所有本地用户目录。

当该配置项被激活时,chroot_list_enable和chroot_local_users配置项的作用将发生变化,chroot_list_list 所指定的文件中的用户将不被锁定在用户主目录中,因此可能会出现安全上的冲突//限定部分用户目录chroot_local_user=NOchroot_list_enable=YESchroot_list_file=/etc/vsftpd.root_list //在/etc/vsftpd.chroot_list文件中加入不要限制的本地用户名,格式为一个用户占一行,不用添加密码。

Linux下配置 FTP服务

Linux下配置 FTP服务

Vsftpd 配置
用户 特性
登录名 密码 映射系统用户 ftp登陆目录 ftp 下载 上传 建文件夹 删除、改名
匿名用户 本地用户 anonymous、ftp 本地用户名 Email、空密码 本地密码 ftp ftp=/var/ftp/ OK NO NO NO 本地用户 用户的主目录 OK OK OK OK
ftp的欢迎语
1 在FTP的主目录下建立.message文件 写入内容,欢迎语句,support Chinese 2 在ftp的主配置文件中最后加入 ftpd_banner=welcome ….. 3 banner_file=路径加文件名
Vsftpd 配置
• • • • Lcd 命令查看本地路径 Pwd 命令查看服务器端的目录 Status 查看状态 ACSII 或是binary是二进制传输
ftp工作的模式
• • • • • pasv_enable=yes/no yes=pash&port no=port pasv模式:服务器被动开启连接 port模式:服务器主动开启连接 是否开启pasv模式,在默认的情况下 是开启的,vsftpd支持两种传输模式:
设置客户端连接的端口范围
• • • • pasv_enable=yes pasv_min_port=50000 pasv_max_port=51213 使客户连接时的端口范围在50000 和51213之间。 • 客户端使用命令passive来改变数据传 输的模式,这是个开关命令
Linux下配置 FTP服务 Linux下配置 FTP服务
Linux下配置 FTP服务
FTP简介: FTP即文件传输协议(file transport protocol), protocol),是基于TCP/IP协议的一个网 TCP/IP 络应用协议。负责在互联网上提供文件 传输应用,是ARPANet最早的网络服务 之一。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Linux下FTP服务器vsftp配置大全超完整版环境:RedHat AS4说明:如果不做说明,一般安装命令均使用ROOT权限,用# 表示特别说明:无以下文章介绍Liunx 环境下vsftpd的三种实现方法ftp:///users/cevans/vsftpd-2.0.3.tar.gz,目前已经到2.0.3版本。

假设我们已经将vsftpd-2.0.3.tar.gz文件下载到服务器的/home/xuchen目录代码:# cd /home/xuchen# tar xzvf vsftpd-2.0.3.tar.gz //解压缩程序# cd vsftpd-2.0.3三、三种方式的实现1、匿名用户形式实现# vi builddefs.h \\\\编辑builddefs.h 文件,文件内容如下:#ifndef VSF_BUILDDEFS_H#define VSF_BUILDDEFS_H#undef VSF_BUILD_TCPWRAPPERS#define VSF_BUILD_PAM#undef VSF_BUILD_SSL#endif /* VSF_BUILDDEFS_H */将以上undef的都改为define,支持tcp_wrappers,支持PAM认证方式,支持SSL# make //直接在vsftpd-2.0.3里用make编译# ls -l vsftpd-rwxr-xr-x 1 root root 86088 Jun 6 12:29 vsftpd //可执行程序已被编译成功创建必要的帐号,目录:# useradd nobody //可能你的系统已经存在此帐号,那就不用建立# mkdir /usr/share/empty //可能你的系统已经存在此目录,那就不用建立# mkdir /var/ftp //可能你的系统已经存在此目录,那就不用建立# useradd -d /var/ftp ftp //可能你的系统已经存在此帐号,那就不用建立# chown root:root /var/ftp# chmod og-w /var/ftp请记住,如果你不想让用户在本地登陆,那么你需要把他的登陆SHELL设置成/sbin/nolog in,比如以上的nobody和ftp我就设置成/sbin/nologin安装vsftp配置文件,可执行程序,man等:# install -m 755 vsftpd /usr/local/sbin/vsftpd-ano# install -m 644 vsftpd.8 /usr/share/man/man8# install -m 644 vsftpd.conf.5 /usr/share/man/man5# install -m 644 vsftpd.conf /etc/vsftpd-ano.conf这样就安装完成了,那么我们开始进行简单的配置# vi /etc/vsftpd-ano.conf ,将如下三行加入文件listen=YESlisten_port=21tcp_wrappers=YESanon_root=/var/ftp //设置匿名用户本地目录,和ftp用户目录必须相同listen=YES的意思是使用standalone启动vsftpd,而不是super daemon(xinetd)控制它( vsftpd推荐使用standalone方式)# /usr/local/sbin/vsftpd-ano /etc/vsftpd-ano.conf & //以后台方式启动vsftpd注意:每行的值都不要有空格,否则启动时会出现错误,举个例子,假如我在listen=YES后多了个空格,那我启动时就出现如下错误:500 OOPS: bad bool value in config file for: listen测试搭建好的匿名用户方式# ftp Connected to 220 (vsFTPd 2.0.3)530 Please login with USER and PASS.530 Please login with USER and PASS.KERBEROS_V4 rejected as an authentication typeName (:root): ftp331 Please specify the password.Password:230 Login successful.Remote system type is UNIX.Using binary mode to transfer files.ftp> pwd257 \"/\"ftp> quit221 Goodbye.#OK,已经完成了,very nice.高级配置细心的朋友可能已经看出来我们只在默认配置文件增加了四行,就实现了FTP连接(也证明了vsftpd的易用性),那么让我们传个文件吧,呀!!传输失败了(见图1)为什么呢?因为vsftpd 是为了安全需要,/var/ftp目录不能把所有的权限打开,所以我们这时要建一个目录pub,当然也还是需要继续修改配置文件的。

# mkdir /var/ftp/pub# chmod -R 777 /var/ftp/pub为了测试方便,我们先建立一个名为kill-ano的脚本,是为了杀掉FTP程序的#!/bin/basha=`/bin/ps $1}\'`-A | grep vsftpd-ano | awk \'{print$a kill -9那么现在大家看看我的匿名服务器配置文件吧anonymous_enable=YES //允许匿名访问,这是匿名服务器必须的write_enable=YES //全局配置可写no_anon_password=YES //匿名用户login时不询问口令anon_umask=077 //匿名用户上传的文件权限是-rw----anon_upload_enable=YES //允许匿名用户上传文件anon_mkdir_write_enable=YES //允许匿名用户建立目录anon_other_write_enable=YES //允许匿名用户具有建立目录,上传之外的权限,如重命名,删除dirmessage_enable=YES //当使用者转换目录,则会显示该目录下的.message信息xferlog_enable=YES //记录使用者所有上传下载信息xferlog_file=/var/log/vsftpd.log //将上传下载信息记录到/var/log/vsftpd.log中xferlog_std_format=YES //日志使用标准xferlog格式idle_session_timeout=600 //客户端超过600S没有动作就自动被服务器踢出data_connection_timeout=120 //数据传输时超过120S没有动作被服务器踢出chown_uploads=YESchown_username=daemon //上传文件的属主ftpd_banner=Welcome to FTP service. //FTP欢迎信息anon_max_rate=80000 //这是匿名用户的下载速度为80KBytes/scheck_shell=NO //不检测SHELL现在再测试,先kill掉再启动FTP程序# ./kill-ano# /usr/local/sbin/vsftpd-ano /etc/vsftpd-ano.conf &上传一个文件测试一下,怎么样?OK了吧,下载刚上传的那个文件,恩?不行,提示550 Failed to open file.传输已失败!传输队列已完成1 个文件传输失败没有关系,你记得咱们设置了anon_umask=077了吗?所以你下载不了,如果你到服务器上touch 一个文件(644),测试一下,是可以被下载下来的,好了,匿名服务器就说到这里了。

2、本地用户形式实现# cd /home/xuchen/vsftpd-2.0.3 //进入vsftpd-2.0.3的源代码目录# make clean //清除编译环境# vi builddefs.h \\\\继续编辑builddefs.h 文件,文件内容如下:#ifndef VSF_BUILDDEFS_H#define VSF_BUILDDEFS_H#define VSF_BUILD_TCPWRAPPERS#define VSF_BUILD_PAM#define VSF_BUILD_SSL#endif /* VSF_BUILDDEFS_H */将以上define VSF_BUILD_PAM行的define改为undef,支持tcp_wrappers,不支持PAM认证方式,支持SSL,记住啊,如果支持了PAM认证方式,你本地用户是不能登陆的。

# make //直接在vsftpd-2.0.3里用make编译# ls -l vsftpd-rwxr-xr-x 1 root root 84712 Jun 6 18:56 vsftpd //可执行程序已被编译成功创建必要的帐号,目录:# useradd nobody //可能你的系统已经存在此帐号,那就不用建立# mkdir /usr/share/empty //可能你的系统已经存在此目录,那就不用建立# mkdir /var/ftp //可能你的系统已经存在此目录,那就不用建立# useradd -d /var/ftp ftp //可能你的系统已经存在此帐号,那就不用建立# chown root:root /var/ftp# chmod og-w /var/ftp请记住,如果你不想让用户在本地登陆,那么你需要把他的登陆SHELL设置成/sbin/nolog in,比如以上的nobody和ftp我就设置成/sbin/nologin安装vsftp配置文件,可执行程序,man等:# install -m 755 vsftpd /usr/local/sbin/vsftpd-loc# install -m 644 vsftpd.8 /usr/share/man/man8# install -m 644 vsftpd.conf.5 /usr/share/man/man5# install -m 644 vsftpd.conf /etc/vsftpd-loc.conf这样就安装完成了,那么我们开始进行简单的配置# vi /etc/vsftpd-loc.conf ,将如下三行加入文件listen=YESlisten_port=21tcp_wrappers=YES //支持tcp_wrappers,限制访问(/etc/hosts.allow,/etc/hosts.deny) listen=YES的意思是使用standalone启动vsftpd,而不是super daemon(xinetd)控制它(vsftpd推荐使用standalone方式),注意事项请参看匿名用户的配置。

相关文档
最新文档