使用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中的设置以决定请求连接 |