基于Linux系统的FTP服务器的实现

2013-08-15 00:52:23罗彩君
电子设计工程 2013年11期
关键词:客户机命令语句

罗彩君

(陕西职业技术学院计算机科学系,陕西西安710100)

Linux是一个强大的网络操作系统,具有安全、稳定、可靠等特点。Linux作为一种操作系统正在拥有越来越多的用户,也逐渐被应用于更多的领域。随着互联网和计算机技术的迅猛发展,Linux在服务器领域已成为最广泛的应用,安全和快捷的优点使其优于其它的网络操作系统。FTP服务器在网络应用中有着非常重要的地位,各种各样的网络资源大多数都放在FTP服务器中,FTP服务器能实现文件的上传、下载,设置不同的用户访问权限,支持大文件的断点续传、多部分文件传输等功能[1]。在Linux操作系统中使用FTP服务器能有效地利用网络资源,提高工作效率。

1 FTP服务器的构建

FTP是文件传输协议,在Internet上存在许多FTP服务器,系统管理员可以在服务器中存放大量的共享软件和免费资源,如文本文件、图像文件、程序文件、声音文件和电影文件等,网络用户可以从服务器中下载文件,或者将客户端上的资源上传到服务器上。与大多数Internet服务一样,FTP也是一个客户机/服务器系统。用户通过一个支持FTP协议的客户机程序,连接到主机上的FTP服务器程序,用户通过客户机程序向服务器程序发出命令,服务器程序执行用户发出的命令,并将执行结果返回给客户机[2]。

FTP服务器在网络上提供了一个中心位置,可供网络上的客户端存储文件并通过网络与其他客户端共享文件。当某个客户端更需要重要文件时,就可以访问文件服务器上的文件,而不必在各自独立的计算机之间传送文件。如果客户端需要访问相同的文件和通过网络访问相应的应用程序,就要将该计算机配置为文件服务器[3]。

Linux系统中的FTP服务器软件有多种,其中比较流行的有Wu-ftpd和vsftpd,vsftpd具有小巧轻快,安全易用等特点,成为了Linux系统中最受推崇的FTP服务器程序[4]。现以vsftpd为例,对FTP服务器进行配置。

1)检测vsftpd服务器是否已经安装

在使用或安装vsftpd服务器之前,先要检查在当前系统中是否已经安装了该服务,通常情况下,如果在安装Linux系统时选择了安装FTP服务,则当安装完Linux以后,vsftpd服务器也安装好了。如果没有安装该服务器,则可安装系统自带的vsftpd-1.1.3-8.i386.rpm软件包。

检查vsftpd是否安装的命令如下:

#rpm-q vsftpd

如果显示了相应服务的版本,则说明该服务已经安装,否则需要进行安装。

2)安装vsftpd服务器

若系统没安装vsftpd服务,则可用下面的命令进行安装。

#rpm-ivh/mnt/cdrom/RdeHat/RPMS/vsftpd-1.1.3.i386.rpm

3)配置vsftpd服务器

对vsftpd的配置,通过vsftpd.conf配置文件来完成,vsftpd守护进程运行时首先从vsftpd.conf文件获取配置文件的信息,然后配合ftpusers和user_list文件决定可访问的用户。默认情况下,vsftpd服务器中本地用户和匿名用户都可以登录。本地用户默认进入其个人主目录,并可切换到其他有权访问的目录,还可上传和下载文件,匿名用户只能下载/var/ftp/目录下的文件[5]。

4)启动vsftpd服务器

vsftpd安装后,该服务并没有启动,要启动vsftpd服务器,在终端命令窗口运行如下命令:

#/etc/rc.d/init.d/vsftpd start?

5)测试vsftpd服务器

vsftpd服务器安装并启动服务后,使用默认配置就可以正常工作。vsftpd默认的匿名用户账户为ftp,密码为ftp。默认情况下,vsftpd允许用户匿名登录,登录后所在的FTP站点根目录为/var/ftp。如果FTP登录成功,则会出现FTP的命令行提示符ftp>,在命令行中,输入FTP命令就可实现相应的操作。

2 FTP服务器的安全配置

实际应用中,利用vsftpd构建一个满足用户要求的FTP服务器,常需要进行用户身份验证、用户权限、空间管理等安全设置。

1)更改FTP服务器的默认端口

为了使服务器更加安全,可更改FTP服务器的默认端口,将预设的21端口改为2121[6]。使用vi编辑器打开/etc/vsftpd/vsftpd.conf文件,命令如下:

#vi/etc/vsftpd/vsftpd.conf

在文件最后增加如下一行内容:

listen_port=2121

2)取消匿名用户登录的权限

在vsftpd.conf文件中找到语句“anonymous_enable=YES”,将其值改为“NO”,语句修改如下:

anonymous_enable=NO

3)允许本地用户登录

打开/etc/vsftpd/vsftpd.conf文件,进行如下设置:

local_enable=YES

4)设定本地用户lily、ray不得更改目录

打开/etc/vsftpd/vsftpd.conf文件,找到相应的语句,进行如下修改:

chroot_local_user=NO

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd.chroot_list

编辑文件/etc/vsftpd/chroot_list,加入两个用户名:“lily”和“ray”。

5)限制vsftpd服务器链接数,以及每个IP最大的链接数

打开/etc/vsftpd/vsftpd.conf文件,在文件中增加以下两行语句:

max_clients=100

max_per_ip=10

6)限制本地用户下载的速度

打开/etc/vsftpd/vsftpd.conf文件,在文件中增加以下一行语句:

local_max_rate=60000

7)对于每一个联机用户都以独立的进程来运行

打开/etc/vsftpd/vsftpd.conf文件,在文件中增加以下一行语句:

setproctitle_enable=YES

3 FTP服务器的应用

FTP服务器的应用非常广泛,下面通过一个具体例子实现FTP服务器的构建和应用。

某公司需要建立一台FTP服务器存放公司相关资源,具体要求为:公司FTP服务器为ftp.hakt.edu.cn,IP地址为192.168.8.8,对外访问端口为21;用户heven及hakt等核心账户设置为认证用户,认证口令设为864635;开发匿名用户登录及上传权限,对内部资源只允许内部IP端192.168.8.*的计算机下载,本地用户heven只能访问自己的主目录;禁止本地用户hakt登录服务器。

要建立上述FTP服务器,需要对vsftpd进行配置,具体步骤如下:

1)指定IP地址

指定192.168.8.*网络的IP地址才能访问FTP服务器。用文本编辑器打开/etc/hosts.allow文件,在文件中加入如下语句:

vsftpd:192.168.8.*:allow

用文本编辑器打开/etc/hosts/hosts.deny文件,在文件中加入如下语句:

vsftpd:ALL:DENY

2)设置匿名用户的权限

用文本编辑器打开/etc/vsftpd/vsftpd.conf文件进行编辑,设置允许匿名用户登录,匿名用户可在/var/ftp/pub目录中新建目录、上传和下载文件,代码如下:

anonymous_enable=YES

local_enable=YES

write_enable=YES

local_umask=022

anon_upload_enable=YES

anon_mkdir_write_enable=YES

connect_from_port_20=YES

listen=YES

tcp_wrappers=YES

修改/var/ftp/pub目录的权限,允许其他用户写入文件,其修改命令如下:

#cd/var/ftp

#chmod 777 pub

#ls-1

显示结果如下:

drwxrwxrwx 2 root root 4096 2012-12-10

输入“service vsftpd restart”命令,重启vsftpd服务。

3)指定本地用户heven只能登录主目录

打开/etc/vsftpd/vsftpd.conf文件进行修改,其修改代码如下:

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd.chroot_list

创建FTP用户组,其命令如下:

#groupadd ftpgroup

增加FTP用户,其命令如下:

#useradd-g ftpgroup-d/dir/to-Mheven

设置用户口令,输入密码“864635”其命令如下:

#passwd heven

打开并编辑/etc/vsftpd.chroot_list文件,加入用户“heven”。

输入“service vsftpd restart”命令,重新启动vsftpd服务器。

4)禁止本地用户hakt登录FTP服务器

编辑/etc/vsftpd/ftpusers文件,将禁止登录的用户名“hakt”写入ftpusers文件中,编辑/etc/vsftpd/user_list文件,将禁止登录的用户名“hakt”写入user_list文件中,修改/etc/vsftpd/vsftpd.conf文件,设置“userlist_enable=YES”和“userlist_deny=YES”,使用户“hakt”不能访问FTP服务器。

5)测试已建立的FTP服务器

在终端的命令提示符后输入如下命令,启动ftp命令工具。

#ftp ftp.hakt.edu.cn 21

输入匿名用户“anonymous”,出现“ftp>”提示符,在“ftp>”提示符后输入get s1.xt命令,即可从FTP服务器上下载s1文件到本地盘中。

4 结束语

FTP服务器作为Internet最古老的服务之一,无论在过去还是现在都有着不可替代的作用。Internet上很多文件的共享都是采用FTP来完成。在Linux环境下利用vsftpd构建FTP服务器具有安全、快捷、稳定的优点,一直受到广大用户的好评。FTP服务器还在继续发展,并且发展得比以往任何时候都要强大。

[1] 李贺华.Linux操作系统应用与安全[M].北京:中国水利水电出版社,2010.

[2] 胡耀民,厉伟.Linux系统及网络管理[M].北京:人民邮电出版社,2012.

[3] 陈倩.嵌入式FTP服务器的设计与实现[J].电子元器件应用,2010,12(3):36-38.CHEN Qian.Design and Implementation of the embedded FTP server[J].Electronic Component&Device Applications,2010,12(3):36-38.

[4] 欧军,吴清秀,白晓波.基于Linux的vsFTPd服务的构建[J].信息与电脑,2011(5):101-102.OU Jun,WU Qing-xiu,BAI Xiao-bo.The building of vsFTPD service based on linux[J].China Computer&Communication,2011(5):101-102.

[5] 彭颍,王方.基于LINUX的VSFTPD服务的实现[J].信息系统工程,2010(10):99-101.PENG Yin,WANG Fang.Implementation of the VSFTPD service based on LINUX[J].Information System Engineering,2011(5):99-101.

[6] 汪华.浅析Linux系统FTP服务器的安全问题[J].网络与信息,2012(2):51.WANG Hua.Analysis of the security issues of the FTP server in Linux system[J].Network&Information,2012(2):51.

猜你喜欢
客户机命令语句
Reducing the global cancer burden with gastrointestinal screening: China’s 30 years practice
只听主人的命令
重点:语句衔接
移防命令下达后
精彩语句
这是人民的命令
如何搞定语句衔接题
语文知识(2014年4期)2014-02-28 21:59:52
蓝色命令
瘦客户机:安全与便捷的选择
作文语句实录