一、创建虚拟用户口令库文件 数据库
口令库文件中奇数行设置用户名,偶数行设置口令 ide
# vi /etc/vsftpd/ftpuser.txtui
ftpaaaspa
123456ci
ftpbbbhash
123456it
二、生成vsftpd的认证文件 class
安装名叫“db4-utils-...”的包登录
# db_load -T -t hash -f /etc/vsftpd/logins.txt /etc/vsftpd/ftplogin.db require
注:若是没有db_load命令,请安装db4-utils-*相关rpm包。
设置认证文件只对用户可读可写
# chmod 600 /etc/vsftpd/ftplogin.db
三、创建虚拟用户所需的PAM配置文件
# vi /etc/pam.d/vsftpd.vu
auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/ftplogin
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/ftplogin
注意:以上2行中最后的2个文件名ftplogin和第2个步骤中的数据库名字必须一致!
以上是64位系统使用
32位系统以下:
vi /etc/pam.d/vsftpd.vu
auth sufficient /lib/security/pam_userdb.so db=/etc/vsftpd/ftplogin
account sufficient /lib/security/pam_userdb.so db=/etc/vsftpd/ftplogin
四、创建虚拟用户所要访问的目录并设置相应权限
# useradd -d /home/ftpsite virtual(用户名,能够改成其余名)
# chmod 700 /home/ftpsite/
通过该步骤的设置,/home/ftpsite就是virtual用户的主目录,该用户也是ftpsite目录的拥有者。除root用户以外,只有该用户具备对该目录的读、写和执行的权限。
五、设置vsftpd.conf配置文件
guest_enable=YES 默认配置没有这行
guest_username=virtual 默认配置没有这行
pam_service_name=vsftpd.vu 默认是vsftpd
virtual_use_local_privs=YES 设定虚拟用户的权限符合他们的宿主用户
chroot_local_user=YES 禁止本地用户登出本身的FTP主目录
其余默认配置根据本身的需求来修改
六、设置主配置文件
在vsftpd.conf文件中添加用户配置文件目录设置
user_config_dir=/etc/vsftpd_user_conf
增长上行的做用是:对各个用户的权限进行设置,而后在用户配置文件目录下建立相应的用户配置文件,好比为上述名为ftpaaa的用户建立一个配置文件
#vi /etc/vsftpd_user_conf/ftpaaa
anon_world_readable_only=NO 可读可下载
anon_upload_enable=YES 可上传
anon_mkdir_write_enable=YES 可建立和删除文件夹
anon_other_write_enable=YES 可文件更名和删除文件
local_root=/home/ftpsite/ftpaaa 指定ftpaaa的宿主目录(全部用户默认都是登陆到/home/ftpsite,指定后则登陆到指定的目录中)
一样为ftpbbb用户建立一个配置文件
vi /etc/vsftpd_user_conf/ftpaaa
注意:用户配置文件名称与用户名相同
七、建立用户的指定登陆目录(若是没有配置local_root,则不用建立,由于默认登陆到/home/ftpsite)
mkdir /home/ftpsite/ftpaaa
chown virtual:virtual /home/ftpsite/ftpaaa
chmod 700 /home/ftpsite/ftpaaa
八、启到vsftpd服务
service vsftpd start