这次我们来讲解黑名单,白名单以及内网和外网的ftp的访问的不同设置。
1.黑名单
有的时候我们不想让某些本地用户登录,这个时候就要设置黑名单了,它在/etc/vsftpd下:
如何添加一个用户到黑名单:
(1)首先我们把一个用户(westos)添加到ftpusers:
重启服务(并且刷掉火墙)后看是否可以登录:
westos登录需要输入密码,但是不能登录,此刻为黑名单。
(2)我们在把westos添加到user_list中看看:
看到上面的那个提示了么,当userlist_deny=NO时,只允许写入的用户登录ftp,即为白名单,当它的值为YES的时候,永远不允许写入的用户登录ftp,即为黑名单。系统默认为YES,我们等会儿会进行修改。
再次启动服务,然后查看是否可以登录:
依然是无法登录,看来westos真的是添加到了黑名单中了。
接下来我们尝试白名单,按照刚才所说,要修改配置文件vsftpd.conf:
此刻就可以登录成功了。
2.内网访问和外网访问:
对于ftp服务,有的时候我们既想对内部人员开放,又想对外部人员开放,并且希望他们的权限是不一样的。这样才更符合实际应用,接下来我们要考虑这些问题:
(1)首先是对于内网和外网要有不同的网卡:
添加另外一块网卡:
配置两块网卡对应的配置文件,其中我们把eth1对应的网为外网:
vsftpd.conf;
vsftpd1.conf:
为了安全期见我们不能让用户更改目录,这样做是很好的。既然我们提供的ftp服务,那么用户就只能访问ftp所提供的目录,如果可以任意跳转到系统的其他目录会非常的危险。我们要设置配置文件:
3.虚拟用户
什么是虚拟用户,对于外网的用户,它当然不知道我们服务器上的本地用户有什么,如果是以前的配置,显然就不能让外网的人员访问ftp服务。所以我们为他们设置了虚拟用户。
在vsftpd目录下添加虚拟用户:
虚拟用户分别为user1和user2,密码都是123.
生成hash加密文件
在/etc/pam.d目录下生成密码检测文件ftpps:
上面是密码检测,下面是用户名检测:
给外部用户登录时的检测:
允许匿名用户登录:
前面的权限和虚拟用户以及密码设置完后,我们先看看服务是否能够打开:
创建虚拟用户的访问目录:
我们的selinux开启,仔细看看安全上下文是不对的,要进行修改:
然后我们修改配置文件:
创建权限目录:/etc/vsftpd/config,
在其下创建文件user1。
user1的权限:
修改user1所在默认发布目录的上下文:
重启服务:
然后就可以用虚拟用户user1登录,进入服务之后服务器让它以westos的什么运行,但是却具有user1的权限。类似了还可以user2的身份及权限登录。这样就大大的增强了ftp服务的功能。
总结:
最后这个讲得有些复杂,希望大家多多练习。我也得再温习一下了。
1.黑名单
有的时候我们不想让某些本地用户登录,这个时候就要设置黑名单了,它在/etc/vsftpd下:
![](https://i-blog.csdnimg.cn/blog_migrate/bbe2540ad115ee4afcd06a8f13d50d43.png)
如何添加一个用户到黑名单:
(1)首先我们把一个用户(westos)添加到ftpusers:
![](https://i-blog.csdnimg.cn/blog_migrate/22e46c8857db3dc1f4e85c3f7d0b497e.png)
重启服务(并且刷掉火墙)后看是否可以登录:
![](https://i-blog.csdnimg.cn/blog_migrate/4e38dbecee8a71b41aada46a8c0b6258.png)
![](https://i-blog.csdnimg.cn/blog_migrate/4e8e70c7d8d5cf2cd6a16f2ff3ecade1.png)
westos登录需要输入密码,但是不能登录,此刻为黑名单。
(2)我们在把westos添加到user_list中看看:
![](https://i-blog.csdnimg.cn/blog_migrate/d28b11708ecd8fa6d0cac12073ee2d0e.png)
看到上面的那个提示了么,当userlist_deny=NO时,只允许写入的用户登录ftp,即为白名单,当它的值为YES的时候,永远不允许写入的用户登录ftp,即为黑名单。系统默认为YES,我们等会儿会进行修改。
再次启动服务,然后查看是否可以登录:
![](https://i-blog.csdnimg.cn/blog_migrate/b800454f83b1e53e20ae102221c1b6b1.png)
依然是无法登录,看来westos真的是添加到了黑名单中了。
接下来我们尝试白名单,按照刚才所说,要修改配置文件vsftpd.conf:
![](https://i-blog.csdnimg.cn/blog_migrate/232126fd71355e1e66cf76164a02f393.png)
此刻就可以登录成功了。
![](https://i-blog.csdnimg.cn/blog_migrate/d13c443f7c180f9cbe8540a59bfbeccd.png)
2.内网访问和外网访问:
对于ftp服务,有的时候我们既想对内部人员开放,又想对外部人员开放,并且希望他们的权限是不一样的。这样才更符合实际应用,接下来我们要考虑这些问题:
(1)首先是对于内网和外网要有不同的网卡:
添加另外一块网卡:
![](https://i-blog.csdnimg.cn/blog_migrate/9c1a0d27083a3064564d88eeb699f66e.png)
配置两块网卡对应的配置文件,其中我们把eth1对应的网为外网:
vsftpd.conf;
![](https://i-blog.csdnimg.cn/blog_migrate/d64ab5173f8429fe5675510d8cac00d3.png)
vsftpd1.conf:
![](http://blog.chinaunix.net/attachment/201405/6/29622064_1399344171COcO.png)
为了安全期见我们不能让用户更改目录,这样做是很好的。既然我们提供的ftp服务,那么用户就只能访问ftp所提供的目录,如果可以任意跳转到系统的其他目录会非常的危险。我们要设置配置文件:
![](http://blog.chinaunix.net/attachment/201405/6/29622064_1399344178llCZ.png)
3.虚拟用户
什么是虚拟用户,对于外网的用户,它当然不知道我们服务器上的本地用户有什么,如果是以前的配置,显然就不能让外网的人员访问ftp服务。所以我们为他们设置了虚拟用户。
在vsftpd目录下添加虚拟用户:
![](http://blog.chinaunix.net/attachment/201405/6/29622064_13993441875JNu.png)
![](http://blog.chinaunix.net/attachment/201405/6/29622064_1399344194387E.png)
虚拟用户分别为user1和user2,密码都是123.
生成hash加密文件
在/etc/pam.d目录下生成密码检测文件ftpps:
![](http://blog.chinaunix.net/attachment/201405/6/29622064_1399344215yXJT.png)
上面是密码检测,下面是用户名检测:
![](http://blog.chinaunix.net/attachment/201405/6/29622064_1399344226rzbP.png)
给外部用户登录时的检测:
![](http://blog.chinaunix.net/attachment/201405/6/29622064_139934423577vL.png)
允许匿名用户登录:
![](http://blog.chinaunix.net/attachment/201405/6/29622064_1399344243hUVp.png)
前面的权限和虚拟用户以及密码设置完后,我们先看看服务是否能够打开:
![](http://blog.chinaunix.net/attachment/201405/6/29622064_1399344252H554.png)
创建虚拟用户的访问目录:
![](http://blog.chinaunix.net/attachment/201405/6/29622064_13993442607PVp.png)
我们的selinux开启,仔细看看安全上下文是不对的,要进行修改:
![](https://i-blog.csdnimg.cn/blog_migrate/01dd72659f50f1f0199ed28925ee7144.png)
然后我们修改配置文件:
![](https://i-blog.csdnimg.cn/blog_migrate/37064e9e2e612d3cb8906f9fc920fb10.png)
创建权限目录:/etc/vsftpd/config,
在其下创建文件user1。
user1的权限:
![](https://i-blog.csdnimg.cn/blog_migrate/f6d47bb86075d156c84f30fab179f763.png)
修改user1所在默认发布目录的上下文:
![](https://i-blog.csdnimg.cn/blog_migrate/2fea015cc62ed579da9cb7e2d7c29bc7.png)
重启服务:
![](https://i-blog.csdnimg.cn/blog_migrate/203571b165539db5ac0271ebf7e7266c.png)
然后就可以用虚拟用户user1登录,进入服务之后服务器让它以westos的什么运行,但是却具有user1的权限。类似了还可以user2的身份及权限登录。这样就大大的增强了ftp服务的功能。
总结:
最后这个讲得有些复杂,希望大家多多练习。我也得再温习一下了。