日期:2014-05-16  浏览次数:20930 次

linux杂谈(十六):ftp的企业应用级配置(三)
    这次我们来讲解黑名单,白名单以及内网和外网的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所在默认发布目录的上下文: