首页 > 代码库 > VSFTP服务——实验

VSFTP服务——实验

一、VSFTP

  作用:提供文件共享服务,可以应用在互联网中,实现外地登录服务器下载公司文件的功能,不区分客户端,在windows和linux中都是可以使用的

1.安装vsftpd

[root@Server ~]# yum -y install vsftpd 

2.创建共享的文件(准备共享的文件和创建用户)

[root@Server ~]# mkdir /ftp
[root@Server ~]# useradd -g wuyue wuyue

3。客户端测试(安装ftp lftp wget)

[root@Client ~]# yum -y install ftp lftp wget

二、试验

实验一:匿名用户上传文件和目录

  修改/etc/vsftpd/vsftpd.conf  取消以下注释的俩行

[root@Server ~]# vim /etc/vsftpd/vsftpd.conf    //取消下面所注释的俩行
#anon_upload_enable=YES   //是否允许匿名访问
#
# Uncomment this if you want the anonymous FTP user to be able to create
# new directories.
#anon_mkdir_write_enable=YES    //是否允许匿名用户创建文件
[root@Server ~]# service vsftpd restart
关闭 vsftpd:                                              [确定]
为 vsftpd 启动 vsftpd:                                    [确定]

[root@Server ~]# mkdir /var/ftp/dir1
[root@Server ~]# chmod 777 /var/ftp/dir1
//为了能上传成功需要给文件最大权限

客户端测试

[root@Client tmp]# lftp 192.168.137.140
lftp 192.168.137.140:/> cd dir1/
lftp 192.168.137.140:/dir1> put /root/install.log
41433 bytes transferred         
lftp 192.168.137.140:/dir1> ls
-rw-------    1 14       50              0 Jan 16 18:12 aa.txt
-rw-------    1 14       50          41433 Jan 16 18:13 install.log  //上传成功
lftp 192.168.137.140:/dir1> 

实验二:匿名用户上传文件再下载

服务端

首先,共享的目录有777权限

[root@Server dir1]# chmod 777 wuyue/
[root@Server dir1]# vim /etc/vsftpd/vsftpd.conf   
anon_umask=022                           //在配置文件后添加
[root@Server dir1]# !ser

客户端

[root@Client ~]# lftp 192.168.137.140
lftp 192.168.137.140:~> ls 
dr-xr-xr-x    7 0        0            4096 Oct 24  2014 cdromd
drwxrwxrwx    5 0        0            4096 Jan 16 18:31 dir1
drwxr-xr-x    2 0        0            4096 May 11  2016 pub
lftp 192.168.137.140:/> cd dir1/
lftp 192.168.137.140:/dir1> ls
-rw-------    1 14       50              0 Jan 16 18:12 aa.txt
drwx------    5 14       50           4096 Jan 16 18:17 boot
-rw-------    1 14       50          41433 Jan 16 18:13 install.log
drwxrwxr--    2 14       50           4096 Jan 16 18:32 wuyue
drwxr-xr-x    2 14       50           4096 Jan 16 18:31 新文件夹
lftp 192.168.137.140:/dir1> cd wuyue/
lftp 192.168.137.140:/dir1/wuyue> ls
-rw-r--r--    1 14       50          91648 Jan 16 18:32 吴越.doc
lftp 192.168.137.140:/dir1/wuyue> exit
[root@Client ~]# lftp 192.168.137.140
lftp 192.168.137.140:~> ls
dr-xr-xr-x    7 0        0            4096 Oct 24  2014 cdromd
drwxrwxrwx    5 0        0            4096 Jan 16 18:31 dir1
drwxr-xr-x    2 0        0            4096 May 11  2016 pub
lftp 192.168.137.140:/> cd dir1/
lftp 192.168.137.140:/dir1> ls
-rw-------    1 14       50              0 Jan 16 18:12 aa.txt
drwx------    5 14       50           4096 Jan 16 18:17 boot
-rw-------    1 14       50          41433 Jan 16 18:13 install.log
drwxrwxr--    2 14       50           4096 Jan 16 18:32 wuyue
drwxr-xr-x    2 14       50           4096 Jan 16 18:31 新文件夹
lftp 192.168.137.140:/dir1> cd wuyue/
lftp 192.168.137.140:/dir1/wuyue> ls
-rw-r--r--    1 14       50          91648 Jan 16 18:32 吴越.doc
lftp 192.168.137.140:/dir1/wuyue> get 吴越.doc   //下载 
91648 bytes transferred
lftp 192.168.137.140:/dir1/wuyue> exit

//因为没有设置所以下载到了当前目录
[root@Client ~]# ls
anaconda-ks.cfg  install.log.syslog  模板  图片  吴越.doc  音乐
install.log      公共的              视频  文档  下载      桌面

实验三、允许匿名用户删除rm

lftp 192.168.137.140:/dir1/wuyue> rm -r 吴越.doc 
rm: Access failed: 550 Permission denied. (吴越.doc)   //可以看到不让删除

需要在/etc/vsftpd/vsftpd.conf配置文件后添加 anon_other_write_enable=YES

====================================================

客户端测试

====================================================

lftp 192.168.137.140:/dir1/wuyue> rm -r 吴越.doc
rm 成功, 删除 `吴越.doc‘

 

实验四、基于系统的帐号和密码验证登录

[root@Client ~]# lftp -u wuyue,123 192.168.137.140
lftp wuyue@192.168.137.140:~> ls
lftp wuyue@192.168.137.140:~> cd /    //可以看可以进入根目录看以实验五需要做限制
cd 成功, 当前目录=/
lftp wuyue@192.168.137.140:/> ls
dr-xr-xr-x    2 0        0            4096 Jan 16 17:16 bin
dr-xr-xr-x    5 0        0            1024 Jan 07 20:50 boot
drwxr-xr-x   18 0        0            3760 Jan 16 16:56 dev
drwxr-xr-x  103 0        0           12288 Jan 16 18:54 etc
drwxr-xr-x    2 0        0            4096 Jan 16 17:07 ftp
drwxr-xr-x    3 0        0            4096 Jan 16 17:14 home
dr-xr-xr-x   10 0        0            4096 Jan 07 20:42 lib
dr-xr-xr-x    9 0        0           12288 Jan 16 17:16 lib64
drwx------    2 0        0           16384 Jan 07 20:36 lost+found
drwxr-xr-x    2 0        0            4096 Sep 23  2011 media
drwxr-xr-x    3 0        0            4096 Jan 07 20:53 mnt
drwxr-xr-x    3 0        0            4096 Jan 07 20:54 opt
dr-xr-xr-x  105 0        0               0 Jan 16 16:56 proc
dr-xr-x---   24 0        0            4096 Jan 16 18:57 root
dr-xr-xr-x    2 0        0           12288 Jan 16 17:16 sbin
drwxr-xr-x    2 0        0            4096 Jan 07 20:36 selinux
drwxr-xr-x    2 0        0            4096 Sep 23  2011 srv
drwxr-xr-x   13 0        0               0 Jan 16 16:56 sys
drwxrwxrwt   19 0        0            4096 Jan 16 18:58 tmp
drwxr-xr-x   13 0        0            4096 Jan 07 20:36 usr
drwxr-xr-x   22 0        0            4096 Jan 14 11:24 var
lftp wuyue@192.168.137.140:/> 

实验五、限制本地用户在自己的家目录下

方法一、在服务端的/etc/vsftpd/vsftpd.conf下添加: 

chroot_local_user=YES  (限制所有的本地帐号在自己的家目录下)

方法二、限制部分用户(在服务端的/etc/vsftpd/vsftpd.conf下添加)

mkdir /etc/vsftpd/chroot_list

chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list

白名单
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list   写入该文件的用户可以切换

黑名单
chroot_local_user=NO(默认NO)
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list   写入该文件的用户不可以切换

实验六、限制用户登录ftp

启用黑白名单

黑名单
userlist_enable=YES   开启黑白名单功能
userlist_deny=YES     确定黑名单(默认值)
userlist_file=/etc/vsftpd/user_list  名单文件   默认存在

白名单
userlist_enable=YES   开启黑白名单功能
userlist_deny=NO     确定白名单
userlist_file=/etc/vsftpd/user_list  名单文件

 

VSFTP服务——实验