博客园  :: 首页  :: 联系 :: 订阅 订阅  :: 管理

实验五 搭建ftp服务器

Posted on 2006-11-10 13:06  ╁蓝驿┲→  阅读(637)  评论(0编辑  收藏  举报

     实验五 搭建ftp服务器

 

一、实验目的

 

    熟练掌握ftp服务器的配置方法。

 

二、实验条件

   一台安装了windows 2000 professional的机器和一台安装了vsftpdlinux系统的机器。

 

三、实验内容

 

  

 

   1、首先检查vsftpd是否安装,若安装,启动服务,验证默认配置下的vsftpd的功能有哪些;

[root@localhost root]# rpm -qa|grep vsftp

vsftpd-1.1.3-8

[root@localhost root]# service vsftpd start

vsftpd 启动 vsftpd                                    [  确定  ]

[root@localhost root]# cd /etc/vsftpd

[root@localhost vsftpd]# grep -v "#" vsftpd.conf

anonymous_enable=YES              //匿名访问

anon_upload_enable=yes              //匿名上传           

anon_mkdir_write_enable=yes      //匿名新建

chroot_local_user=yes                 //本地用户不能更改目录

local_enable=YES                        //本地用户访问    

write_enable=YES                       //本地用户写权限

max_clients=100                         //并发连接数

local_umask=022

dirmessage_enable=YES

xferlog_enable=YES

connect_from_port_20=YES

xferlog_file=/var/log/vsftpd.log

xferlog_std_format=YES

pam_service_name=vsftpd

userlist_enable=YES

listen=YES

tcp_wrappers=YES

 

   service vsftpd restart

   2、修改默认配置,完成以下功能:

      1)本地组softgrp3个用户softsoft1soft2;用户目录为/var/local-ftp/softgrp;其中soft对目录有读写的权限,而soft1soft2对目录只有读的权限;并且用户不能切换到/var/local-ftp/softgrp以外的目录下;    

[root@localhost etc]# mkdir –p /var/local-ftp/softgrp  //新建文件

[root@localhost etc]# groupadd softgrp  //添加组softgrp

[root@localhost etc]# useradd -G softgrp -d /var/local-ftp/softgrp soft  //添加组用户

[root@localhost etc]# useradd -G softgrp -d /var/local-ftp/softgrp soft1

[root@localhost etc]# useradd -G softgrp -d /var/local-ftp/softgrp soft2

[root@localhost etc]#passwd soft     //passwd:1234

[root@localhost vsftpd]# chown soft.softgrp /var/local-ftp/softgrp //设置文件的属主为soft

[root@localhost vsftpd]# chmod 750 /var/local-ftp/softgrp      //设置soft对目录有读写的权限,softgrp组的soft1soft2用户对目录只有读的权限

[root@localhost vsftpd]# vi vsftpd.conf

chroot_list_enable=no

[root@localhost vsftpd]# service vsftpd restart

关闭 vsftpd                                              [  确定  ]

vsftpd 启动 vsftpd                                    [  确定  ]

 

 

      2)允许匿名用户上传,上传的目录为/var/ftp/incoming,但是用户不能浏览目录内容,也不能下载;

[root@localhost vsftpd]# mkdir /var/ftp/incoming  //新建上传的目录

[root@localhost vsftpd]# vi vsftpd.conf

anon_upload_enable=YES

anon_mkdir_write_enable=YES

[root@localhost vsftpd]# chmod 700 /var/ftp/incoming  //上传目录权限

[root@localhost vsftpd]# chown root.ftp incoming

 

      3)设置连接服务器的最大并发连接数为100

[root@localhost vsftpd]# vi vsftpd.conf

  max_clients=100

 

 

      4)修改/etc/hosts.allow文件,限制IP地址为192.168.0.5的机器不能访问该ftp服务器;

[root@localhost etc]# vi hosts.allow

vsftpd: 192.168.0.5:DENY

 

 

      5)完成如下设置后,请分别使用windows下的IE浏览器和linux下的ftp命令行工具验证(要求124)配置的正确性,注意要熟           ftp命令行的常用命令:opencloseget putmgetmput、!等。

[root@localhost etc]# ftp

ftp> open 127.0.0.1

Connected to 127.0.0.1 (127.0.0.1).

220 (vsFTPd 1.1.3)

Name (127.0.0.1:root): anonymous

331 Please specify the password.

Password:

230 Login successful. Have fun.

Remote system type is UNIX.

Using binary mode to transfer files.

ftp> mkdir ff

257 "/incoming/ff" created

ftp> ls

227 Entering Passive Mode (127,0,0,1,255,221)

150 Here comes the directory listing.

226 Transfer done (but failed to open directory).

ftp> put host.conf

local: host.conf remote: host.conf

227 Entering Passive Mode (127,0,0,1,40,24)

150 Ok to send data.

226 File receive OK.

17 bytes sent in 5.8e-05 secs (2.9e+02 Kbytes/sec)

ftp> get host.conf

local: host.conf remote: host.conf

227 Entering Passive Mode (127,0,0,1,53,128)

550 Failed to open file.

ftp> close

221 Goodbye.

ftp> open 127.0.0.1

Connected to 127.0.0.1 (127.0.0.1).

220 (vsFTPd 1.1.3)

Name (127.0.0.1:root): soft

331 Please specify the password.

Password:

230 Login successful. Have fun.

Remote system type is UNIX.

Using binary mode to transfer files.

ftp> close

221 Goodbye.

 

 

 

 

 

             

 

 

四、实验体会


下面来自 

smgkfang的博客

 http://smgkfang.bokee.com/5561138.html 中的问题。

   今天真高兴,终于把昨天晚上的问题想明白了,多亏了我同学和我的网友提醒了我,原来建用户的时候指定他们的目录在/var/ftp下,现在不用那么麻类了,直接在vsftpd.conf中加入local_root=/var/ftp就OK解决。(条件是这样的,新建ftp服务器让用户登陆的时候在/ftp 下,且在/home下有用户的主目录,这样就不能用-d在建用户的时候指定,否则不会在/home下产生用户的主目录。想明白了感觉就是不一样。爽