1.生成虚拟用户口令库文件
为了建立此口令库文件,先要生成一个文本文件。该文件的格式如下,单行为用户名,偶行为口令:
- #vi logins.txt
- zhangsan
- 123456
2.生成口令库文件,并修改其权限:
- #db_load -T -t hash -f /etc/vsftpd/logins.txt /etc/vsftpd/vsftpd_login.db
- #chmod 600 /etc/vsftpd/vsftpd_login.db
3.新建一个虚拟用户的PAM文件。加上如下两行内容:
- #vi /etc/pam.d/vsftp.vu
- auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
- account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
4.建立虚拟用户
设置该用户所要访问的目录,并设置虚拟用户访问的权限:
5
- .#mkdir /home/ftpsite
- #useradd -d /home/ftpsite -s /sbin/nologin jack(创建用户jack,注意vsftpd.conf里的guest_username必须和这里对应)
- #chmod 700 /home/ftpsite
经过该步骤的设置,/home/ftpsite就是jack用户的主目录,该用户也是ftpsite目录的拥有者。除root用户外,只有该用户具可对该目录的读、写和执行。
6.用户配置文件目录
然后在用户配置文件目录下创建相应的用户配置文件,比如为上述名为zhangsan的用户创建一个配置文件(假设配置文件目录为/etc/vsftpd_user_conf):
- #vi /etc/vsftpd_user_conf/zhangsan
- local_root=/home/ftpsite/zhangsan(用户登陆后直接进入自己目录不能浏览别家目录)
- anon_world_readable_only=NO
- write_enable=YES
- anon_upload_enable=YES
- anon_mkdir_write_enable=YES
- anon_other_write_enable=YES
7,虚拟用户个人目录设置
大家可以发现,无论是哪个虚拟用户,登录后所在的目录都是/home/ftpsite,即都是guest用户的自家目录。下面,介绍如何为每个虚拟用户建立自家目录。
一种作法是在虚拟用户的个人配置文件中使用local_root选项指定虚拟用户的自家目录。
以zhangsan为例,在第上步的基础上,首先/etc/vsftpd_user_conf/zhangsan文件中加入:
- local_root=/home/ftpsite/zhangsan
8. 重新启动VSFTP:
- #service vsftpd restart
【编辑推荐】
- Linux下vsftp服务器配置
- Linux下配置vsftpd
- vsFTPD设置(菜鸟篇)
- vsftpd安装篇
- vsftpd 启动篇
- Linux下vsftpd的配置
- 如果SELinux拒绝vsftpd上传文件到用户主目录怎么办
- vsFTPd常用功能之限速和限制链接点