一.前提
你已经安装了vsftpd,如果没有安装,请执行yum -y install vsftpd
二.我们的目标是创建符合如下条件的2个ftp用户
用户名 密码 权限 用户目录
testuser1 pass1 只读权限 /home/vsftpd/testuser1
testuser2 pass2 读写权限 /home/vsftpd/testuser2
用户信息我们将保持到文件里,关于和MySql或者LDAP的联动教程,将在今后的博客中更新。
三.配置步骤
1.首先我们创建用于用户的数据库
[root@rhel5 ~]# vi /tmp/userinfo.txt testuser1 pass1 testuser2 pass2 [root@rhel5 ~]# yum install db4-utils [root@rhel5 ~]# db_load -T -t hash -f /tmp/userinfo.txt /etc/vsftpd/vsftpd_login.db [root@rhel5 ~]# rm -f /tmp/userinfo.txt [root@rhel5 ~]# chmod 600 /etc/vsftpd_login.db
2.配置PAM文件vsftpd.vu
[root@rhel5 ~]# vi /etc/pam.d/vsftpd.vu auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login.db account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login.db
3.创建虚拟用主目录/home/vsftpd,并创建属于testuser1,testuser2各自的目录。
[root@rhel5 ~]# useradd -d /home/vsftpd -s /bin/false vsftpd [root@rhel5 ~]# mkdir /var/ftpvirtual/{testuser1,testuser2}
4.设置vsftpd主文件/etc/vsftpd/vsftpd.conf
[root@rhel5 ~]# vi /etc/vsftpd/vsftpd.conf anonymous_enable=NO local_enable=YES write_enable=YES local_umask=022 dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=YES xferlog_std_format=YES listen=YES pam_service_name=vsftpd userlist_enable=YES tcp_wrappers=YES guest_enable=YES guest_username=vsftpd user_config_dir=/etc/vsftpd/virtual_user_conf pam_service_name=vsftpd.vu
5.创建并配置各个用户的属性文件
[root@rhel5 ~]# mkdir /etc/vsftpd/virtual_user_conf [root@rhel5 ~]# touch /etc/vsftpd/virtual_user_conf/testuser1 [root@rhel5 ~]# vi /etc/vsftpd/virtual_user_conf/testuser1 local_root=/home/vsftpd/testuser1 [root@rhel5 ~]# touch /etc/vsftpd/virtual_user_conf/testuser2 [root@rhel5 ~]# vi /etc/vsftpd/virtual_user_conf/testuser2 write_enable=YES anon_world_readable_only=NO anon_upload_enable=YES anon_mkdir_write_enable=YES anon_other_write_enable=YES local_root=/home/vsftpd/testuser2
6.重启vsftpd
[root@rhel5 ~]# /etc/init.d/vsftpd restart
7.大功告成,测试你的用户吧。
注:如果登陆不成功
1.再检查一遍你的设置
2.确认防火墙
3.确认selinux
转载请注明:爱开源 » vsftpd虚拟用户