日期:2014-05-16  浏览次数:20737 次

Linux下面搭建ftp服务器

Red Hat Linux FTP服务器架设全过程:Linux是一种开源的而且安全的操作系统,已经深入人心。作为Linux的一种流行发行版本,Ubuntu的使用更为普及。vsftpd作为Linux下一种最为方便的FTP程序,也为人们所推崇。本文讲述的是如何在Red Hat Linux下架设FTP服务器的全过程。

FTP,即File Transfer Protocol,文件传输协议。它是目前Internet上最流行的数据传送方法之一。利用FTP协议,我们可以在FTP服务器和FTP客户端之间进行双向数据传输,既可以把数据从FTP服务器上下载到本地客户端,又可以从客户端上传数据到远程FTP服务器。

1.安装vsftpd服务器

vsftpd是目前Linux最好的FTP服务器工具之一,其中的vs就是“Very Secure”(很安全)的缩写,可见它的最大优点就是安全,除此之外,它还具有体积小,可定制强,效率高的优点。

如果选择完全安装Red Hat Linux 9.0,则系统会默认安装vsftpd服务器。我们可以在终端命令窗口输入以下命令进行验证:

  1. [root@ahpeng?root]?rpm?-qa?|?grep?vsftpd ?
  2. ?

如果结果显示为“vsftpd-1.1.3-8”,则说明系统已经安装vsftpd服务器。如果安装Red Hat Linux 9.0时没有选择vsftpd服务器,则可以在图形环境下单击“主菜单→系统设置→添加删除应用程序”菜单项,在出现的“软件包管理”对话框里确保选中“FTP服务器”选项,然后单击“更新”按钮,按照屏幕提示插入第3张安装光盘即可开始安装。

另外,你也可以直接插入第3张安装光盘,定位到/RedHat/RPMS下的vsftpd-1.1.3-8.i386.rpm安装包,然后在终端命令窗口运行以下命令即可开始安装进程:

  1. [root@ahpeng?RPMS]?rpm?-ivh?vsftpd-1.1.3-8.i386.rpm ?
  2. ?

2.启动/重新启动/停止vsftpd服务

从Red Hat Linux 9.0开始,vsftpd默认只采用standalone方式启动vsftpd服务,方法是在终端命令窗口运行以下命令:

  1. [root@ahpeng?root]?/etc/rc.d/init.d/vsftpd?start ?
  2. ?

重新启动vsftpd服务:

  1. [root@ahpeng?root]?/etc/rc.d/init.d/?vsftpd?restart ?
  2. ?

关闭vsftpd服务:

  1. [root@ahpeng?root]?/etc/rc.d/init.d/?vsftpd?stop ?
  2. ?

确认vsftpd服务已经启动后,我们可以在任意一台Windows主机的DOS命令窗口里输入“ftp FTPAddres”(用实际的FTP服务器IP地址或者域名代替FTPAddres),注意用户名、密码都是ftp(ftp是匿名用户的映射用户账号),如下所述:

Microsoft Windows XP [版本 5.1.2600]

(C) 版权所有 1985-2001 Microsoft Corp.

F:\Peter>;ftp FTPAddress

  1. Connected?to?FTPAddress ?
  2. ?
  3. 220?(vsFTPd?1.1.3)?//vsftpd的响应请求 ?
  4. ?
  5. User?(FTPAddress:(none)):?ftp//输入用户账号ftp ?
  6. ?
  7. 331?Please?specify?the?password. ?
  8. ?
  9. Password://输入密码ftp ?
  10. ?
  11. 230?Login?successful.?Have?fun. ?
  12. ?
  13. ftp>; ?
  14. ?

3.vsftpd的配置

在Red Hat Linux 9.0里的vsftpd共有3个配置文件,它们分别是:

vsftpd.ftpusers:位于/etc目录下。它指定了哪些用户账户不能访问FTP服务器,例如root等。

vsftpd.user_list:位于/etc目录下。该文件里的用户账户在默认情况下也不能访问FTP服务器,仅当vsftpd .conf配置文件里启用userlist_enable=NO选项时才允许访问。

vsftpd.conf:位于/etc/vsftpd目录下。它是一个文本文件,我们可以用Kate、Vi等文本编辑工具对它进行修改,以此来自定义用户登录控制、用户权限控制、超时设置、服务器功能选项、服务器性能选项、服务器响应消息等FTP服务器的配置。

(1)用户登录控制

anonymous_enable=YES,允许匿名用户登录。

no_anon_password=YES,匿名用户登录时不需要输入密码。

local_enable=YES,允许本地用户登录。

deny_email_enable=YES,可以创建一个文件保存某些匿名电子邮件的黑名单,以防止这些人使用Dos攻击。

banned_email_file=/etc/vsftpd.banned_emails,当启用deny_email_enable功能时,所需的电子邮件黑名单保存路径(默认为/etc/vsftpd.banned_emails)。

(2)用户权限控制

write_enable=YES,开启全局上传权限。

local_umask=022,本地用户的上传文件的umask设为022(系统默认是077,一般都可以改为022)。

anon_upload_enable=YES,允许匿名用户具有上传权限,很明显,必须启用write_enable=YES,才可以使用此项。同时我们还必须建立一个允许ftp用户可以读写的目录(前面说过,ftp是匿名用户的映射用户账号)。

anon_mkdir_write_enable=YES,允许匿名用户有创建目录的权利。

chown_uploads=YES,启用此项,匿名上传文件的属主用户将改为别的用户账户,注意,这里建议不要指定root账号为匿名上传文件的属主用户!

chown_username=whoever,当启用chown_uploads=YES时,所指定的属主用户账号,此处的whoever自然要用合适的用户账号