vsftpd用户控制和虚拟账号

来源:互联网 发布:网络推广工作职责 编辑:程序博客网 时间:2024/04/30 01:29

vsftpd用户控制

 

作为目前做安全、最高效的FTP服务器,安全性是非常重要的。

安装好VSFTPD,系统将会创建/etc/pam.d/vsftpd文件。

#more  /etc/pam.d/vsftpd

我们会发现下面这一行内容:

 

auth    required   /lib/security/pam_listfile.so    item=user   sense=deny  file=/etc/ftpuser  onerr=succeed

这个文件其实是一个接口,它会调用/lib/security/pam_listfile.so这个模块。这个file一个文件,文件内容是一些用户  响应默认是deny。

 

实验:

假设我们现在用kkman能登陆到FTP上。那我们在系统里面输入如下语句

#echo   "kkman"  >> /etc/ftpuser

这是我们再次登陆会发现,连接失败。

 

当我们对FTP的安全性提出比较高的要求时,我们可能想让所有人都登不上来,除了那些在/etc/ftpuser里面的用户。要实现以上要求我们只要修改下上面的那个语句:

auth    required   /lib/security/pam_listfile.so    item=user   sense=allow  file=/etc/ftpuser  onerr=succeed

创建虚拟账号

虚拟账号:把几个FTP账号映射成一个系统已经存在的账号。虚拟账号在登陆时,自己并不能看到映射账号是什么,所以即使虚拟账号被人盗窃,也不会对系统造成更大的伤害。

使用虚拟账号必须关闭所以匿名的选项。

1.创建虚拟账号user.txt

tom

123

jack

123

以上的文本中,每两行一个账号。一个是用户名,一个是用户密码

#vi  user.txt

tom

123

jack

123

2.把文本文件转化为数据库文件

#db_load   -T  -t   hash  -f   user.txt   /etc/vsftpd_login.db

#chmod  600  /etc/vsftpd_login.db    为了安全起见 防止数据库被修改 我们设置了权限为600

3.修改/etc/pam.d/vsftpd

为了防止干扰,我们把以前的默认设置全部先禁用  在行首加个#

并添加如下语句:

auth  required  pam_userdb.so  db=/etc/vsftpd_login.db

account required  pam_userdb.so  db=/etc/vsftpd_login.db

4.创建映射账号

这个映射账号可以是现在系统存在的,也可以自己新建一个账号。

#useradd  vuser

#chmod  o+wrx   /home/vuser        由于虚拟账号只是映射到这个账号,并不属于这个映射账号的组,所以我们必须让其他账号有权查看 执行这个目录。

5.编辑/etc/vsftpd/vsftpd.conf

把里面所有的anonymous选项全部禁用掉

anonymous_enable=NO

anon_upload_enable=NO

anon_mkdir_write_enable=NO

anon_other_write_enable=NO

 

添加映射账号信息

guest_enable=YES

guest_username=vuser

原创粉丝点击