文档章节

Linux服务之FTP

我爱吃葱花
 我爱吃葱花
发布于 2014/08/10 11:41
字数 1685
阅读 308
收藏 4

使用linux搭建FTP服务器不仅功能较windows多,而且在安全性上也是值得放心的。那么如何用linux搭建FTP服务器呢?别着急,耐心看完本文,相信你掌握使用linux操作系统搭建FTP服务器的。用linux搭建FTP服务器的方法很多,本文以linux自带的vsftpd来搭建FTP。vsftpd是一个安全、高速、稳定的FTP服务器。

 

一:安装、启动vsftpd

 

·vsftpd的安装很简单,按如下步骤依次完成

 

首先检查系统是否已安装了vsftpd,若没有,放入第二张光盘并挂载光驱,完成后进入/mnt/cdrom/RedHat/RPMS目录。接着查找以vs开头的文件,找到后用rpm -ivh 安装该软件,安装完成后再使用rpm -qa | grep  vsftpd 查看是否安装正确。确认无误后进入根目录,卸载光驱,弹出光盘。

 

提示:我的系统由于使用系统最小化安装,在安装过程中出现

[root@dianxin fly]# rpm -ivh vsftpd-1.1.3-8.i386.rpm
warning: vsftpd-1.1.3-8.i386.rpm: V3 DSA signature: NOKEY, key ID db42a60e
error: Failed dependencies:
libcap.so.1 is needed by vsftpd-1.1.3-8

经查资料,系统发现少了libcap.so.1包。插入第一张光盘并安装libcap包后,vsftpd安装成功。

 

·安装完成后使用service  vsftpd start启动vsftpd,这样FTP服务器便搭建完成。但此时还不能访问FTP服务器,因为服务器默认情况下关闭了防火墙,此时我们还需使用service iptables stop命令关闭防火墙,这样客户端才可以访问FTP服务器。

 

 

 

·客户端测试

 

 

 

 

二:配置vsftpd

虽然vsftpd已经搭建完成,客户机可以访问FTP服务器资源了,但功能实在少的可怜。只有vsftpd的默认功能。此时你一定在想,系统默认功能有哪些呢?呵呵,我把默认的功能列出来

 

·vsftp默认功能

1>允许匿名用户和本地用户登陆。

2>匿名用户使用的登陆名为ftp或anonymous,口令为空;匿名用户不能离开匿名服务器没目录/var/ftp,且只能下载不能上传。

3>本地用户的登录名为本地用户名,口令为此本地用户的口令;本地用户可以离开自家目录切换至有权访问的其他目录,并在权限允许的情况下进行下载/上传

4>写在文件/etc/vsftpd.ftpusers中的本地用户禁止登陆。

 

·给匿名用户上传权限

vsftpd的默认功能已经可以满足小型FTP服务器的需求了,不过有时我们需要客户端使用匿名帐户登陆FTP服务器,而且要求客户端可以上传文件到服务器。而默认情况下匿名用户不允许上传文件,此时我们需要修改vsftpd配置文件了

用VI打开/etc/vsftpd/vsftpd.conf(vsftpd的配置文件,FTP的功能强大不强大,主要看在配置文件中的配置),将anon_upload_enable=YES、anon_mkdir_write_enable=YES两个指令前的“#”号删除,并在文件中添加anon_other_write_enable=YES、anon_world_readeable_only=NO两条指令。wq保存后在客户端使用匿名帐户登陆服务器才有上传权限。

其中

anon_uplood_enable=YES表示匿名帐户可以上传文件

anon_mkdir_write_enable=YES表示匿名帐户可以创建目录

anon_other_write_enable=YES表示匿名帐户可以为文件、文件夹进行更名以及删除。

在完成上述三个命令后,便可使用匿名用户对服务器上传文件了。但这样配置后却又不能使用FTP下载文件了,所以加入anon_world_readeable_only=NO,使匿名用户即可上传文件又可下载文件。

 

文件修改完成后重新启动vsftpd服务,使修改生效。这样客户机才可以使用匿名用户上传下载文件。

 

·权限的设置

 

1>控制允许/不允许访问的主机

在vsftpd.conf文件最后一行有一条指令:TCP_wrappers=YES,表示vsftpd服务器与TCP wrappers相结合,进行主机的访问控制。这样客户机在访问vsftpd服务器时,服务器会检查/etc/hosts.allow和/etc/hosts.deny中的设置以决定请求连接的主机是否允许连接到服务器。这两个文件可以起到简易防火墙的功能。

具体设置如下:

想要拒绝某个IP访问此服务器,可以在/etc/hosts.deny文件中加入vsftpd:192.168.0.18:deny

all:all:allow

想要允许某个IP段访问此服务器,可以在/etc/hosts.allow文件中加入

vsftpd:192.168.0:allow

all:all:deny

 

 

2>访问速度的限制

在vsftpd.conf文件最后一行加入anon_max_rate=    (单位B),这样匿名用户在下载或上传文件是最大速度为设置的值。同理想要对本地用户进行设置,只要加入local_max_rate=    (单位B)即可完成对本地用户的速度限制。

 

3>线程数的限制

在vsftpd.conf文件中加入max_per_ip=   (0表示不限制),可以防止一些人使用多线程下载资源,占用服务器的带宽、资源。这样当客户机使用的线程数超过服务器的最大限制时,将出现如图界面。

 

 

4>最大客户连接限制

在vsftpd.conf文件中加入max_clients=   (0表示不限制),可以防止因客户连接数过多而导致服务器内存占满,死机。当客户机数超过服务器所设置的最大值时,客户端出现如图界面

 

以上4步输入的指令的截图

 

·其他功能

 

1>设置日志记录

有了日志记录,在服务器上可以就查看哪些IP访问了FTP服务器,下载、上传了哪些资源等等,一目了然。vsftpd服务器默认情况下已经开启了日志记录功能,但我们必须对它进行更好的设置。

打开vsftpd.conf文件,删除hferlog_filt=/var/log/vsftpd.log前的“#”号。

这样在重启vsftpd服务后便可在/var/log/vsftpd.log文件中查看日志记录了。

 

 

2>设置用户登陆的主目录

默认情况下用匿名用户登陆FTP服务器后会进入/var/ftp目录,而本地用户登陆服务器后进入/home下的用户主目录中。我们可以vsftpd.conf文件中加入local_root=/web,这样在使用本地用户登陆FTP服务器后自动进入/web目录中。

 

 

通过以上设置,我们已经完成了vsftpd服务器的搭建,当然vsftpd还有许多功能,只是不常用罢了

 

 

文章出自 http://best0.blog.51cto.com/444987/104687

本文转载自:http://best0.blog.51cto.com/444987/104687

共有 人打赏支持
我爱吃葱花
粉丝 28
博文 126
码字总数 34663
作品 0
海淀
数据库管理员
LINUX下如何开启FTP服务器

安装软件包具体的参考网页 http://www.witech.com.cn/news/Article_Show.asp?ArticleID=48 redhat 下开启FTP(已安装FTP服务器) [root@erpapptest init.d]# /etc/rc.d/init.d/vsftpd status......

王海峰
2010/02/25
0
0
linux下开通ftp bash:ftp:command not found

linux自己提供了ftp(文件传输)服务和ssh(远程登陆,类似tlenet,不过比telnet安全)服务,那么怎么使用呢? 一 FTP: FTP服务有好多种,本文是使用的vsftp 1.查看ftp服务状态: 首先要确定...

xinspace
2013/04/09
0
0
在Linux上部署PXE远程安装服务

在Linux上部署PXE远程安装服务 实验介绍:在Linux虚拟机环境下,部署PXE远程安装服务,最终实现在另外一台虚拟机中远程安装Linux系统(前提是Linux虚拟机已经部署好yum仓库)。 1、安装TFTP(...

xiaoyaokeyx
05/15
0
0
Linux虚拟机上搭建ftp服务器

Linux虚拟机上搭建ftp服务器 实验介绍:本文主要介绍在虚拟机的Linux系统上搭建ftp服务器,并且最终可以在另外一台win7虚拟机中能够正常上传和下载文件,并建立访问用户的黑白名单,以及虚拟...

xiaoyaokeyx
05/13
0
0
Novell的Suse Linux常用命令举例讲

Novell的Suse Linux常用命令举例讲解 1.修改vftpd配置文件 vi /etc/vsftpd.conf #listen=YES vi /etc/xinetd.d/vsftpd 将“disable=yes” 改为 “disable=no”使xinetd服务启动后接收到ftp连...

phoenics
2009/12/14
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Zookeeper总结

Zookeeper的部分概念 什么是zookeeeper? Zookeeper是一个分布式服务的协调中心 zookeeper节点的角色类型? Leader(领导者)、Follower(跟随者)、Observer(观察者) Leader 负责更新系统...

DemonsI
23分钟前
1
0
Redis学习笔记

常用命令 从Docker进入Redis的命令 sudo docker exec -it redis /bin/bash

OSC_fly
24分钟前
0
0
SqlServer查询某个日期的数据

select * from View_ZJMONITORINGCORROSION where ENTERDATE > CONVERT(datetime,DATEADD(day,1,'2017/12/28 14:53:07'))...

笑丶笑
25分钟前
0
0
常用编码规范

Standard characters https://ascii.cl/

yeahlife
27分钟前
0
0
flannel实战

docker swarm mode的出现是个里程碑,官方原生的编排调度看起来都成雏形了,但是swarm mode和容器外部系统的对接、网络性能始终不尽人意,swarm mode下各种开源周边不能使用,感觉swarm mod...

China_OS
28分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部