这次我们来讲解黑名单,白名单以及内网和外网的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服务的功能。
总结:
最后这个讲得有些复杂,希望大家多多练习。我也得再温习一下了。
阅读(754) | 评论(0) | 转发(0) |