• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
KHDXS7
Being human totally sucks most of the time. Videogames are the only thing that make life bearable. 月下梦中寻周公,辗转反侧一场空。人已升天鸡未叫,不知何处觅仙踪。
博客园    首页    新随笔    联系   管理    订阅  订阅

VSFTPD——VIRTUAL_USERS

vsftpd ——Very Secure File Transfer Protocol Deamon


 1.创建虚拟用户数据库

我们使用pam_userdb来验证虚拟用户的身份。而这需要使用一个db格式的账户密码文件。

首先创建一个vsftpd_login.txt的文本文件,奇数行定义账户名,偶数行定义上一行账户的密码。

比如:

#1  user1

#2  password1

#3  user2

#4  password2

#5  user3

#6  password3

接下来安装db-util程序,借此生成数据库文件。

执行命令创建虚拟用户数据库文件:

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

执行完命令就生成了数据库文件/etc/vsftpd_login.db。然后我们需要将这个文件权限设置下:

chmod 600 /etc/vsftpd_login.db

虚拟用户的数据库文件就创建完成了。

 2.创建PAM文件

将文件/etc/pam.d/vsftpd备份:

cp /etc/pam.d/vsftpd /etc/pam.d/vsftpd.bak

创建/etc/pam.d/vsftpd文件并加入以下两行:

auth required /lib/x86_64-linux-gnu/security/pam_userdb.so db=/etc/vsftpd_login
account required /lib/x86_64-linux-gnu/security/pam_userdb.so db=/etc/vsftpd_login
注1:这步设置很重要,否则会出现用户验证不通过进而无法登陆的情况。

注2:必须确保在所设置的路径下可以找到pam_userdb.so和vsftpd_login.db两个文件。

3.为虚拟用户创建文件目录

添加本地用户来映射虚拟用户:

useradd -d /home/ftpsite virtual

检查目录/home/ftpsite是否存在,若不存在,则创建。

创建文件/home/ftpsite/test.txt以便后面的测试。

4.创建配置文件

将原始配置文件/etc/vsftpd.conf备份:

cp /etc/vsftpd.conf /etc/vsftpd.conf.bak

创建配置文件/etc/vsftpd.conf并将以下参数添加进去:

#设定不允许匿名访问

anonymous_enable=NO

#设定本地用户允许访问

local_enable=YES

#设定虚拟用户使用与匿名用户的权限

virtual_use_local_privs=YES

#设定不允许写操作,全局参数。

write_enable=NO

控制匿名用户对文件(非目录)的上传权限

anon_upload_enable=NO

#控制匿名用户对文件夹的创建权限

anon_mkdir_write_enable=NO

#控制匿名用户对文件和文件夹的删除和重命名权限

anon_other_write_enable=NO
#设定chroot监狱

chroot_local_user=YES

#开启虚拟用户

guest_enable=YES

#虚拟用户映射的用户名

guest_username=virtual

#开启单机模式

listen=YES

#开启被动模式

pasv_enable=YES

#设置被动模式最小端口

pasv_min_port=10000

#设置被动模式最大端口

pasv_max_port=10999

#从2.3.5之后,vsftpd增强了安全检查,如果用户被限定在了其主目录下,则该用户的主目录不再具有写权限。

#若vsftpd检查发现用户著目录仍具有写权限,则报该错误。激活下面参数可解决该问题。

#用命令chmod a-w /home/user去除用户主目录的写权限也可解决该问题。

allow_writeable_chroot=YES

5.重启vsftpd服务

重新启动vsftpd以使vsftpd.conf生效:

service vsftpd restart

确认vsfptd已经启动:

service vsftpd status

 

至此,虚拟用户配置完毕,即可进入测试阶段。

 

 


2020-05-09 22:17:59

 

posted @ 2020-05-09 22:21  KHDXS7  阅读(232)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3