一.实验拓扑

服务器 ------------------------客户机

二.实验条件

  1. 试验机在同一个网段,可以互相ping通。

  2. 确定装在了ftp软件包。

三.实验一:

匿名用户与本地用户都可以登录

匿名用户登录到/var/ftp,只能下载不能上传

本地用户登录到本地用户的家目录,可以上传和下载

  1. 实验步骤;

[root@localhost ~]# rpm -q vsftp              //检测是否安装软件        

package vsftp is not installed                      //代表没有安装的意思

[root@localhost ~]# cd /misc/cd/Server/             //切换到挂载的光盘目录

[root@localhost Server]# ls *vsftp*                   //查找 ftp软件的全称

vsftpd-2.0.5-28.el5.x86_64.rpm                    //ftp软件的全称

[root@localhost Server]# rpm -ivh vsftpd-2.0.5-28.el5.x86_64.rpm         //安装该软件

[root@localhost Server]# rpm -q vsftpd

vsftpd-2.0.5-28.el5                                       //再次检查出现这个代表此电脑安装的此程序

[root@localhost Server]# service vsftpd restart                         //重启该服务

[root@localhost Server]# chkconfig on                             //开启服务

[root@localhost Server]# ls -lh /etc > /var/ftp/pub/etc.txt           //etc 重定向/pub/etc.txt

[root@localhost ~]# useradd kaka                    //创建用户kaka

[root@localhost ~]# echo "123456" | passwd --stdin kaka        //设置kaka的密码,这种设置密码是我知道中用的最多的不用重复密码的确定。

  1. 验证:

[root@localhost root]# ftp 192.168.4.5     //进入服务器的ftp 后面是服务器的ip地址

Connected to 192.168.4.5.

220 (vsFTPd 2.0.5)

530 Please login with USER and PASS.

530 Please login with USER and PASS.

KERBEROS_V4 rejected as an authentication type

Name (192.168.4.5:root): ftp                //匿名用户输入ftp ,不匿名用户输入用用户名

331 Please specify the password.

Password:                                   //匿名用户不用输入密码直接回车,不匿名用户输入密码

230 Login successful.

Remote system type is UNIX.

Using binary mode to transfer files.

ftp> pwd                       //显示自己的所在位置

257 "/"                           //位置

ftp> ls                              //查看

227 Entering Passive Mode (192,168,4,5,253,103)

150 Here comes the directory listing.

drwxr-xr-x    2 0        0            4096 Jun 15 04:50 pub

226 Directory send OK.

ftp> cd pub                          //切换到pub

250 Directory successfully changed.

ftp> ls                            //查看

227 Entering Passive Mode (192,168,4,5,177,250)

150 Here comes the directory listing.

-rw-r--r--    1 0        0           12095 Jun 15 04:50 etc.txt   //服务器上的重定向文件

226 Directory send OK.

ftp> get etc.txt                             //下载该文件

local: etc.txt remote: etc.txt

227 Entering Passive Mode (192,168,4,5,190,138)

150 Opening BINARY mode data connection for etc.txt (12095 bytes).

226 File send OK.

12095 bytes received in 0.0054 seconds (2.2e+03 Kbytes/s)

ftp> !ls                           //“!ls ”中间没有空格,在ftp里查看本机的目录

anaconda-ks.cfg  Desktop  etc.txt  install.log  install.log.syslog  root.txt 

ftp> put root.txt      //上传该文件

local: root.txt remote: root.txt

227 Entering Passive Mode (192,168,4,5,229,92)

550 Permission denied.                //该三段话代表上传失败

ftp> quit                           //退出ftp

切换到kaka用户登录ftp

ftp> put root.txt                 //上传文件

local: root.txt remote: root.txt

227 Entering Passive Mode (192,168,4,5,126,144)

150 Ok to send data.

226 File receive OK.                 //代表上传成功

ftp> ls                                //查看刚才上传的文件

227 Entering Passive Mode (192,168,4,5,225,184)

150 Here comes the directory listing.

-rw-r--r--    1 501      501             0 Jun 15 05:11 root.txt

226 Directory send OK.

四.实验二

         禁止匿名用户登录

         修改FTP默认端口为2121

         禁锢本地用户在自己家目录

  1. 实验步骤:

服务器上的配置:

[root@tarena ~]# cd /etc/vsftpd/            //切换到该目录下

[root@tarena vsftpd]# ls

ftpusers  user_list  vsftpd.conf  vsftpd_conf_migrate.sh

[root@tarena vsftpd]# cp vsftpd.conf vsftpd.conf.txt      //复制备份该配置文件以防自己修改错误

[root@tarena vsftpd]# vim vsftpd.conf

12 anonymous_enable=NO            //修改里面的内容这条是静止匿名用户登录,默认是YES也就是同意匿名用户登录

...

119 listen_port=2121                         //端口号修改

120 chroot_local_user=YES                    //是否禁锢在主目录也就是自己家的目录

[root@tarena vsftpd]# service vsftpd restart          //重启该服务

[root@tarena vsftpd]# netstat -tulnp | grep vsftpd

tcp        0      0 0.0.0.0:2121                0.0.0.0:*                   LISTEN      13059/vsftpd           //查看端口号是否改变

2 .测试:

客户机的测试

[root@localhost root]# ftp 192.168.4.5      //在修改端口号后登录ftp

ftp: connect: Connection refused      //报错提示  端口号报错

ftp> pwd

Not connected.                   //报错

[root@localhost root]# ftp 192.168.4.5 2121   //后面加上修改的端口号

Connected to 192.168.4.5.

220 (vsFTPd 2.0.5)

530 Please login with USER and PASS.

530 Please login with USER and PASS.

KERBEROS_V4 rejected as an authentication type

Name (192.168.4.5:root): ftp          //匿名用户登录

331 Please specify the password.

Password:                   //匿名用户不用密码直接回车

530 Login incorrect.

Login failed.

ftp> pwd                   

530 Please login with USER and PASS.                   //报错

 

[root@localhost root]# ftp 192.168.4.5 2121

Connected to 192.168.4.5.

220 (vsFTPd 2.0.5)

530 Please login with USER and PASS.

530 Please login with USER and PASS.

KERBEROS_V4 rejected as an authentication type

Name (192.168.4.5:root): kaka                 //输入用户名

331 Please specify the password.

Password:                            //密码

230 Login successful.

Remote system type is UNIX.

Using binary mode to transfer files.           //这三段代表登录成功