参考:http://blog.sina.com.cn/s/blog_3edc5e2e0102vzv8.html
安装过程就不说了,每个系统都不一样,现在主要来说安装完毕后,虚拟用户配置文件的用法。
默认安装完毕后,配置文件在/etc/vsftpd.conf
贴一个我感觉比较好的配置文件
listen=YES anonymous_enable=NO local_enable=YES write_enable=YES allow_writeable_chroot=YES anon_upload_enable=YES anon_mkdir_write_enable=YES anon_other_write_enable=YES anon_world_readable_only=NO local_umask=002 anon_umask=022 file_open_mode=0755 dirmessage_enable=YES use_localtime=YES xferlog_enable=YES connect_from_port_20=NO secure_chroot_dir=/var/run/vsftpd/empty pam_service_name=vsftpd rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key pasv_enable=YES pasv_min_port=40000 pasv_max_port=40100 chroot_local_user=YES guest_enable=YES guest_username=ftp pam_service_name=vsftpd secure_chroot_dir=/var/run/vsftpd user_config_dir=/etc/vsftpd_user_conf
新建虚拟用户的文件,第一行是用户名,第二行是密码。奇数行代表用户名 偶数行代表密码
vim /etc/vsftpd_user.txt ftp ftp
执行命令 生成虚拟数据库
db_load -T -t hash -f /etc/vsftpd_user.txt /etc/login.db
设置数据库文件的访问权限
chmod 600 /etc/vsftpd/login.db
vi /etc/pam.d/vsftpd
#将以下内容增加的原文件前面两行:
auth sufficient pam_userdb.so db=/etc/vsftpd_login
account sufficient pam_userdb.so db=/etc/vsftpd_login
我们建立的虚拟用户将采用PAM进行验证,这是通过/etc/vsftpd.conf文件中的 语句pam_service_name=vsftpd来启用
可以看出前面两行是对虚拟用户的验证,后面是对系统用户的验证。 为了安全我一般把系统用户的登入关闭 使用虚拟账号登入ftp
对虚拟用户的验证使用了sufficient这个控制标志。
这个标志的含义是如果这个模块验证通过,就不必使用后面的层叠模块进行验证了;但如果失败了,
就继续后面的认证,也就是使用系统真实用户的验证。
虚拟用户创建本地系统用户
#新建一个系统用户vsftpd, 用户登录终端设为/bin/false(即使之不能登录系统)
[root@localhost ~]# useradd ftp -d /home/ftp -s /bin/false
[root@localhost ~]# chown ftp:ftp /home/ftp #改变目录所属用户组
新建虚拟用户的配置文件,并写入如下内容
mkdir -p /etc/vsftpd_user_conf cd /etc/vsftpd_user_conf vim ftp anon_mkdir_write_enable=NO anon_other_write_enable=YES #若为NO的话,用户只能上传、下载文件,而不能通过客户端删除文件 anon_world_readable_only=NO local_root=/home/ftp
大体上流程就差不多这样的。
- 转载请注明来源:vsftpd搭建之虚拟用户
- 本文永久链接地址:http://www.hongxiaowei.com/xiaowei/779.html