vsftpd搭建之虚拟用户

参考: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

大体上流程就差不多这样的。

 

 

0
如无特殊说明,文章均为本站原创,转载请注明出处

该文章由 发布

这货来去如风,什么鬼都没留下!!!