一.实验拓扑
服务器 ------------------------客户机
二.实验条件
试验机在同一个网段,可以互相ping通。
确定装在了ftp软件包。
三.实验一:
匿名用户与本地用户都可以登录
匿名用户登录到/var/ftp,只能下载不能上传
本地用户登录到本地用户的家目录,可以上传和下载
实验步骤;
[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的密码,这种设置密码是我知道中用的最多的不用重复密码的确定。
验证:
[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
禁锢本地用户在自己家目录
实验步骤:
服务器上的配置:
[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. //这三段代表登录成功