#rpm -ivh vsftpd-2.0.1-5.i386.rpm
2、建立虚拟用户口令库文件logins.txt(奇数行是用户名,偶数行是口令)
#vi logins.txt
wang
wp123
peng
wp456
3、生成vsftpd的认证文件(/etc/vsftpd/vsftpd_login.db)
1) 安装3个支持的软件包;
#rpm -ivh db4-java....
#rpm -ivh db4-tcl....
#rpm -ivh db4-utils....
2) 使用db_load命令生成认证文件;
#db_load -T -t hash -f logins.txt /etc/vsftpd/vsftpd_login.db
3) 设置认证文件的权限;
#chmod 600 /etc/vsftpd/vsftpd_login.db
4、建立虚拟用户所需的PAM配置文件;
#vi /etc/pam.d/vsftpd.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
5、建立虚拟用户及要访问的目录并设置相应的权限
#useradd -d /home/ftpsite virtual
#chmod 700 /home/ftpsite
6、设置vsftpd.conf配置文件(添加虚拟用户的配置项)
#vi /etc/vsftpd/vsftpd.conf
guest_enable=YES
guest_username=virtual
pam_service_name=vsftpd.vu
7、重新启动vsftpd服务程序;
#service vsftpd start
8、测试虚拟用户帐号的FTP登录 ;
#ftp localhost
9、对不同的虚拟用户设置不同的权限;
1) 设置主配置文件
在vsftpd.conf文件中添加用户配置文件目录设置
user_config_dir=/etc/vsftpd_user_conf
2) 建立用户配置文件目录
# mkdir /etc/vsftpd_user_conf
3) 为虚拟用户建立单独的配置文件
a.用户配置文件名称与用户名相同
/etc/vsftpd_user_conf/mike
/etc/vsftpd_user_conf/john
b.每个FTP虚拟用户都可以独立设置其权限
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
1 安装必备软件yum install vsftpdyum install db4#Berkeley DB数据库,用来存储虚拟FTP用户名、密码2 初始化安装环境mkdir -p /data/vsftpd #这个目录存放所有虚拟用户的目录和文件useradd -d /data/vsftpd -s /sbin/nologin vsftpd#创建vsftpd用户,禁止登录chown -R vsftpd:vsftpd /data/vsftpdmkdir -p /etc/vsftpd/vsftpd_user_conf#这个目录下存放各个虚拟用户的配置文件(可以为空)3 修改vsftpd配置文件vi /etc/vsftpd/vsftpd.conf,内容如下:[plain]anonymous_enable=NOlocal_enable=YESwrite_enable=NOlocal_umask=022dirmessage_enable=YESxferlog_enable=YESconnect_from_port_20=YESnopriv_user=vsftpdchroot_local_user=YESlisten=YESpam_service_name=ftp #PAM策略文件的名字userlist_enable=YEStcp_wrappers=YESguest_enable=YES #允许虚拟用户登录guest_username=vsftpdlocal_root=/data/vsftpd/$USER #用户目录user_sub_token=$USERvirtual_use_local_privs=YESuser_config_dir=/etc/vsftpd/vsftpd_user_conf #用户配置文件所在目录,可以为空vi /etc/pam.d/ftp, 内容如下:[plain]auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_loginaccount required /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login3 新建用户i 修改用户名密码文件vi /etc/vsftpd/logins.txt,在这个文件中新增用户名密码,logins.txt中奇数行为账户名,偶数行为密码db_load -T -t hash -f /etc/vsftpd/logins.txt /etc/vsftpd/vsftpd_login.db #生成用户名、密码的数据库文件ii 创建用户的目录mkdir /data/vsftpd/$new_user_namechown -R vsftpd:vsftpd /data/vsftpd/$new_user_name4 启动FTP服务service vsftpd startchkconfig vsftpd on#设置开机自动启动5 删除用户i 修改用户名密码文件vi /etc/vsftpd/logins.txt,在这个文件中删除用户名密码,logins.txt中奇数行为账户名,偶数行为密码db_load -T -t hash -f /etc/vsftpd/logins.txt /etc/vsftpd/vsftpd_login.dbii 删除用户目录删除/data/vsftpd下的用户目录常见故障:Q: 登录失败[plain]500 OOPS: cannot change directory:/home/vsftpdLogin failed.421 Service not available, remote server has closed connectionA:解决方法通常为SELinux导致,解决步骤如下:vi /etc/selinux/config#将selinux=enforcing或permissive改成disabled,关掉selinux,setenforce 0#使关掉selinux策略立即生效/etc/init.d/vsftpd restart#重启FTP服务欢迎分享,转载请注明来源:夏雨云
评论列表(0条)