当前位置:文档之家› FTP服务器配置说明_2010.11.17(完整版)

FTP服务器配置说明_2010.11.17(完整版)

FTP服务器配置说明使用版本:Fedora 12修订日期:2010年11月目录前言 (3)1.FTP服务器的安装和配置 (4)1.1 实验拓扑 (4)1.2 安装vsftpd (4)1.3 配置FTP服务器 (5)2.FTP服务器的验证 (8)2.1 在Linux下验证FTP服务器 (8)2.1.1 从FTP server上下载文件 (8)2.1.2 向FTP server上传文件,并创建文件夹 (10)2.2 在XP下验证FTP服务器 (15)2.2.1 从FTP server上下载文件 (15)2.2.2 向FTP server上传文件,并创建文件夹 (17)前言FTP(File Transfer Protocol)是互联网上典型的文件传输协议,用于Internet上的控制文件的双向传输。

同时,它也是一个应用程序(Application)。

用户可以通过它把自己的PC机与世界各地所有运行FTP协议的服务器相连,访问服务器上的大量程序和信息。

FTP的主要作用,就是让用户连接上一个远程计算机(这些计算机上运行着FTP服务器程序)察看远程计算机有哪些文件,然后把文件从远程计算机上拷到本地计算机,或把本地计算机的文件送到远程计算机去。

本次实验介绍vsftp的安装和配置。

vsftp是一个基于GPL发布的类Unix 系统上使用的FTP服务器软件,它的全称是very secure ftp的缩写。

顾名思义,这是一个比较安全的FTP服务器软件。

实际上它提供的一些机制确实在一定程度上提高了安全性,例如程序权限、chroot软件的使用等。

1.FTP服务器的安装和配置1.1 实验拓扑IP地址对应情况:FTP server 192.168.128.133PC1(Linux)192.168.128.131PC2(XP)192.168.128.132 1.2 安装vsftpd首先,查看本地计算机是否安装了vsftpd:若没有,则使用yum安装vsftpd:最后查看是否安装成功:上图显示安装已经成功。

补充说明:FTP文件结构vsftp安装成功后的文件结构如下所示:/usr/sbin/local/vsftpd (tar方式) /usr/sbin/vsftpd (rpm方式) //VSFTPD主程序/etc/rc.d/init.d/vsftpd //启动脚本(rpm方式安装才有)/etc/vsftpd.conf (tar方式) /etc/vsftpd/vsftpd.conf (rpm方式) //主配置文件/etc/pam.d/vsftpd (rpm方式安装才有) //PAM认证文件(注:tar方式,需手动复制)/etc/vsftpd/ftpusers (rpm方式安装才有) //禁止使用VSFTPD的用户列表文件/etc/vsftpd/user_list (rpm方式安装才有) //禁止或使用VSFTPD的用户列表文件/var/ftp //匿名用户主目录/var/ftp/pub //匿名用户的下载目录1.3 配置FTP服务器1)vsftpd的配置文件放在/etc/vsftpd文件夹里面。

我们可以使用gedit命令来打开并查看配置文件vsftpd.conf:2)查看FTP配置文件,暂时没发现需要做什么改动。

在下图阴影所示位置可以修改登录ftp时的欢迎信息(这里将登陆的欢迎信息修改为“Welcome to LinTing’s FTP”):3)然后我们就可以使用命令#service vsftpd start启动FTP服务器了:注意:虽然此时FTP服务器启动成功了,但是默认情况下是没法登陆到FTP服务器上的(不信的话可以自己试一试能否登陆,username是anonymous,密码为空)。

所以我们还需要对/etc/sysconfig/iptables和/etc/selinux/config做一些配置才行。

此处要注意,修改/etc/sysconfig/iptables和关闭防火墙,选择下面的方法一或方法二即可。

方法一:修改/etc/sysconfig/iptables。

在/etc/sysconfig/iptables中添加如下内容:-A INPUT -m state --state NEW -m tcp -p tcp --dport 20 -j ACCEPT-A INPUT -m state --state NEW -m tcp -p tcp --dport 20 -j ACCEPT截图如下:方法二:关闭防火墙。

使用命令service iptables stop关闭防火墙,截图如下:4)除了上面对iptables的修改或停用防火墙外,还要修改SELinux对Linux系统进行的安全控制,即打开/etc/selinux/config,添加如下内容:SELINUX=disabled#SELINUX=enforcing截图如下:7)启动vsftpd(如果vsftpd之前已开启了,用service vsftpd restart重启):2.FTP服务器的验证2.1 在Linux下验证FTP服务器2.1.1 从FTP server上下载文件1)首先,我们要用ifconfig查看PC1的IP地址,并测试其到FTP server之间的连通性:2)在PC1(Linux)的终端上使用匿名用户(anonymous)登录ftp:192.168.128.133(192.168.128.133为FTP server的IP地址),密码为空:其中,欢迎信息为“Welcome to LinTing’s FTP”3)然后用ls查看ftp上的文件,发现只有一个pub文件夹。

pub即为我们登陆到FTP server 所看到的文件。

4)我们先在FTP server的pub里面创建一个新文件test.txt,然后在PC1中使用命令cd pub进入pub文件夹,再次用ls查看pub里的文件,可以发现只有test.txt这个文件:说明:-rwxrwxrwx—表示的是文件的属性;其中r表示可读属性;w表示可写属性;x表示可执行属性;从左往右顺序:第一组rwx表示的是owner的权限;第二组rwx表示的是文件所述用户组的权限;第三组rwx是表示的其它用户权限。

需要特别注重的是这个“x”的权限,假如一个目录的属性是drwxr——r——,那么非owner用户是否可以访问这个目录呢?答案是不能。

因为“x”和目录的关系相当重要,假如该目录下不能执行任何命令的话,那么自然目录是不能访问的,因此,假如要对他人开放某个目录时,一定要把相应的“x”的属性赋予这个人。

5)通过命令get可以下载这个test.txt文件:注意:下载的test.txt文件,存放的路径位于登录ftp前root所在的路径位置。

比如你在进入ftp之前位于/root下,那么你get到的文件就会存放于/root下面。

6)退出FTP,可以在PC1的root目录(假定进入ftp前位于/root)下看到该文件:2.1.2 向FTP server上传文件,并创建文件夹1)使用命令put向ftp上传test.txt文件,重命名为test1.txt,失败了。

因为匿名用户在默认配置下是没有上传权限的。

2)首先我们用ls查看anonymous对pub的操作权限:发现drwxr-xr-x第二组r-x表示对于文件所述用户组,只有可读可执行权限,没有可写的权限,所以用户ftp没办法向pub中上传任何文件。

3)在FTP server上使用#chmod 777 pub修改pub的用户权限:此时,对于所有用户而言,均有可读可写可执行的权限。

当然,我们还可以使用#chmod 755 pub将pub修改回原来的用户权限:4)然后在FTP server上修改配置文件/etc/vsftpd/vsftpd.conf,允许anonymous使用上传权限:如上图所示,将阴影部分的注释取消,脚本即生效。

此语句为允许anonymous具有上传权限。

5)我们还可以使anonymous具有创建权限:如上图,将阴影部分的注释取消,脚本即生效。

6)接下来有两种方法使anonymous真正实现上传和创建的权限,也是最关键最关键的一步!!!方法一:重新启动Linux操作系统,并再次关闭防火墙和用service vsftpd start启动FTP服务器,PC1重新登录到FTP server上面。

方法二:使用“#/usr/sbin/vsftpd &”启动FTP服务器,此命令可以使FTP服务器跳过SELinux启动。

说明:若没有使用这两种方法启动FTP,会出现“553”的提示错误。

更详细的资料可以查阅:/main/?q=node/152#47)在PC1向FTP server上传test.txt文件,并重命名为test1.txt:注意:一定要在pub的目录下面上传或者创建,因为我们chmod的对象是pub,只能对pub 进行写操作。

若没有在相应的目录下面进行操作,会出现“500 OOPS”的提示错误8)在PC1通过mkfir命令向FTP server创建文件夹ltfile:2.2 在XP下验证FTP服务器2.2.1 从FTP server上下载文件1)和Linux类似,先查看IP地址,并检查连通性:2)使用anonymous用户登录:3)从FTP server上下载文件test.txt:文件位置位于c:\Document and Setting\Administrator:2.2.2 向FTP server上传文件,并创建文件夹1)使用put上传文件到FTP server:2)使用mkdir创建文件夹ltfileXP:实验结束。

同学们感兴趣的话还可以去尝试添加ftp用户名和密码,以及修改用户的各种使用权限。

相关主题