现在越来越多的人选择开源的Linux操作系统。它的性能和平易近人的价格是人们选择它的最好理由,红帽Linux 9是应用最广泛的Linux操作系统。
红帽Linux 9以其简单的配置和熟悉的图形界面为人们提供丰富的互联网服务,FTP就是其提供的服务之一。FTP在许多网络应用中起着非常重要的作用。
互联网上的各种软件资源,大部分都放在FTP服务器上。像大多数互联网服务一样,FTP是一个客户机/服务器系统。下面我给大家简单介绍一下如何在Red Hat Linux 9下设置FTP服务器。
希望借此引玉。
1.安装vsftpd服务器
Vsftpd是目前Linux中最好的FTP服务器工具之一,其中vs是“非常安全”的缩写,所以它最大的优势就是安全性。此外,它还具有体积小、定制性强、效率高的优点。
如果选择完全安装Red Hat Linux 9.0,默认情况下将安装vsftpd服务器。我们可以在终端命令窗口中输入以下命令进行验证:
[root@ahpeng root] rpm -qagrep vsftpd
如果结果显示“vsftpd-1.1.3-8”,则说明系统已经安装了vsftpd服务器。如果在安装Red Hat Linux 9.0时没有选择vsftpd服务器,
您可以在图形环境中单击菜单项“主菜单系统设置添加或删除应用程序”,在显示的“包管理”对话框中确保选择了FTP服务器选项,然后单击“更新”按钮,根据屏幕提示插入第三张安装光盘开始安装。
此外,您可以直接插入第三张安装光盘,在/RedHat/RPMS下找到vsftpd-1.1.3-8.i386.rpm安装包,然后在终端命令窗口中运行以下命令来启动安装过程:
[root@ahpeng RPMS] rpm -ivh vsftpd-1.1.3-8.i386.rpm
2.启动/重新启动/停止vsftpd服务
从Red Hat Linux 9.0开始,默认情况下,通过在终端命令窗口中运行以下命令,vsftpd仅在独立模式下启动vsftpd服务:
[root@ahpeng root] /etc/rc.d/init.d/vsftpd start
重新启动vsftpd服务:
[root@ahpeng root] /etc/rc.d/init.d/vsftpd restart
关闭vsftpd服务:
[root@ahpeng root] /etc/rc.d/init.d/vsftpd stop
在确认vsftpd服务已经启动后,我们可以在任何Windows主机的DOS命令窗口中输入“ftp ftpAddres”(用实际的FTP服务器IP地址或域名替换FTP地址)。
请注意,用户名和密码是ftp(ftp是匿名用户的映射用户帐户),如下所示:
Microsoft Windows XP [version 5.1.2600]
(III) Copyright Microsoft Corporation from 1985 to 2001.
f:\ Peterftp FTP地址
Connected to FTPAddress
220 (vsFTPd 1.1.3)//vsftpd响应请求
User (FTPAddress:(none)): ftp//Enter the user account File Transfer Protocol (abbreviation of file transfer protocol).
331 Please specify the password.
密码://输入密码ftp。
230 Login successful. Have fun.
ftp
3.3.vsftpd的配置
Red Hat Linux 9.0中有三个vsftpd配置文件,它们是:
Vsftpd.ftpusers:位于/etc目录中。它指定哪些用户帐户不能访问FTP服务器,例如root。
Vsftpd.user_list:位于/etc目录中。默认情况下,该文件中的用户帐户不能访问FTP服务器。
只有在vsftpd中启用了userlist_enable=NO选项时,才允许访问。配置文件。
以便自定义FTP服务器的配置,如用户登录控制、用户权限控制、超时设置、服务器功能选项、服务器性能选项、服务器响应消息等。
(1)用户登录控制
Anonymous_enable=YES,允许匿名用户登录。
No _ anon _ password=是,匿名用户登录时不需要输入密码。
Local_enable=YES,允许本地用户登录。
Deny _ email _ enable=可以,你可以创建一个文件,保存一些匿名邮件的黑名单,防止这些人利用Dos攻击。
(2)用户权限控制
Write _ enable=是,打开全局上传权限。
Local_umask=022,本地用户上传文件的umask设置为022(系统默认为077,一般可以改成022)。
Anon_upload_enable=YES,允许匿名用户拥有上传权限。显然,您必须启用write_enable=YES才能使用此项。同时,我们还必须建立一个允许ftp用户读写的目录(如前所述,
Ftp是匿名用户的映射用户帐户)。
Anon_mkdir_write_enable=YES,允许匿名用户有权创建目录。
Chown _ uploads=是。如果启用此选项,匿名上传的文件的所有者将更改为另一个用户帐户。注意,不建议将root账号指定为匿名上传文件的所有者!
chown _ username=who,当chown_uploads=YES被启用时,指定的所有者用户帐户,其中who自然被合适的用户帐户替换。
Chroot _ list _ enable=是的,您可以使用一个列表来限制哪些本地用户只能在您自己的目录中活动。如果chroot_local_user=YES,则该列表中指定的用户不受限制。
Nopriv_user=ftpsecure,指定一个安全的用户帐号,让FTP服务器充当一个完全隔离的无权限的独立用户。这是vsftpd系统的推荐选项。
Async_abor_enable=YES,强烈建议不要启用该选项,否则可能导致错误!
ascii _ upload _ enable=YESAscii_download_enable=YES,默认情况下,服务器会假装接受Ascii模式的请求,但实际上忽略了这样的请求。
启用以上两个选项可以使服务器真正实现ASC模式的传输。
注意:启用ascii_download_enable选项会使恶意远程用户在ascii模式下使用SIZE/big/file等指令消耗大量FTP服务器的I/O资源。
ASC 模式的这些设置选项分为上传和下载,这样我们就可以允许ASC 模式的上传(可以防止上传脚本等恶意文件崩溃)而没有拒绝服务攻击的危险。
(3)用户连接和超时选项
idle_session_timeout=600,可以设定默认的空闲超时时间,用户超过这段时间不动作将被服务器踢出。
data_connection_timeout=120,设定默认的数据连接超时时间。
(4)服务器日志和欢迎信息
dirmessage_enable=YES,允许为目录配置显示信息,显示每个目录下面的message_file文件的内容。
ftpd_banner=Welcome to blah FTP service,可以自定义FTP用户登录到服务器所看到的欢迎信息。
xferlog_enable=YES,启用记录上传/下载活动日志功能。
xferlog_file=/var/log/vsftpd.log,可以自定义日志文件的保存路径和文件名,默认是/var/log/vsftpd.log.