(1) | 使用RPM包安装vsftpd服务 |
(2) |
实现匿名用户访问,验证仅可以访问和下载,不可以上传 |
(3) | 实现匿名用户可上传、下载、修改等完全权限(现实环境中这样的需求可能性很小) |
(4) | 实现把登陆的用户禁锢在自己的家目录中 |
(5) | 实现限制某些用户的访问 |
(6) | 实现虚拟用户的访问 |
(7) | 实现针对不同的虚拟用户拥有不同的权限 |
[root@Oracle ~]# cat /etc/issue
CentOS release 6.5 (Final)
[root@Oracle ~]# rpm -qa | grep vsftpd
vsftpd-2.2.2-13.el6_6.1.x86_64
[root@Oracle ~]# service iptables stop
iptables: Setting chains to policy ACCEPT: filter [ OK ]
iptables: Flushing firewall rules: [ OK ]
iptables: Unloading modules: [ OK ]
[root@Oracle ~]# set enforce 0
[root@Oracle ~]# yum -y install vsftpd
[root@Oracle ~]# cd /etc/vsftpd/
[root@Oracle vsftpd]# mv vsftpd.conf vsftpd.conf_Bak
[root@Oracle vsftpd]# grep ^[^#] ./vsftpd.conf_Bak > vsftpd.conf
[root@Oracle vsftpd]# cat vsftpd.conf
anonymous_enable=YES #开启匿名用户访问 local_enable=YES #开启本地账户访问 write_enable=YES #开启写入权限 local_umask=022 #本地用户上传文件的权限是644,文件夹是755 ######以下配置为服务默认,此实验无需关心###### dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=YES xferlog_std_format=YES listen=YES pam_service_name=vsftpd userlist_enable=YES |
(1)、实现匿名用户访问,验证仅可以访问和下载,不可以上传
根据vsftpd配置文件的默认配置,当vsftpd搭建好之后什么都不做就可以被匿名用户和本地用户访问了
我们在客户机上用文件夹的方式访问 ftp://192.168.18.131/
(1)、实现匿名用户访问,验证仅可以访问和下载,不可以上传
根据vsftpd配置文件的默认配置,当vsftpd搭建好之后什么都不做就可以被匿名用户和本地用户访问了
我们在客户机上用文件夹的方式访问 ftp://192.168.18.131/
现在来测试一下匿名用户的上传和下载权限
注意:我们用匿名账号ftp登陆(无密码),查看现在所在的工作目录为/,这个/并不是服务器的根目录,而是匿名用户自己的家目录,ls查看发现里面有一个pub的文件夹
家目录就是服务器上/var/ftp这个目录:
[root@Oracle vsftpd]# ls -al /var/ftp/
total 12
drwxr-xr-x. 3 root root 4096 Dec 18 00:01 .
drwxr-xr-x. 18 root root 4096 Dec 18 00:01 ..
drwxr-xr-x. 2 root root 4096 Oct 18 07:54 pub
[root@Oracle vsftpd]#
我们验证匿名用户可不可以下载首先要在ftp这个目录下新建一个可供下载的文件
[root@Oracle ftp]# echo "This is Test FTP" > test.txt
[root@Oracle ftp]# ll
total 8
drwxr-xr-x. 2 root root 4096 Oct 18 07:54 pub
-rw-r--r--. 1 root root 17 Dec 18 00:16 test.txt
[root@Oracle ftp]#
回到客户机上的cmd控制台
用匿名账号ftp登陆,下载test.txt文件,打开C:盘,看到已经下载的文件
现在来验证匿名用户是否可以上传文件,我们把刚才下载都客户机上的test.txt文件改名为11.txt文件用于上传测试(避免重名)
上传时被拒绝,所以我们知道匿名用户是只可以下载不能够上传的。
那如果是系统本地账号的话可不可以上传呢?
[root@Oracle ftp]# useradd scott
[root@Oracle ftp]# passwd scott
回到客户机的cmd控制台,用scott登陆并上传11.txt文件,上传成功。
...