#安装软件包 yum -y install vsftpd db4* #关闭SELinux vim /etc/sysconfig/selinux SELINUX=permissive #命令行输入,立即生效SELinux配置 getenforce 0 #防火墙允许22号端口 iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT #建立虚拟用户登录文件,基数行为用户,偶数行为密码,只能这样写,否则系统不认 vim /etc/vsftpd/logins.txt upload password download password adminftp password #生成口令认证文件 db_load -T -t hash -f /etc/vsftpd/logins.txt /etc/vsftpd/vsftpd_logins.db chmod 600 /etc/vsftpd/vsftpd_logins.db #创建虚拟用户认证文件 vim /etc/pam.d/vsftpd.vu auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_logins account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_logins #64位系统就是/lib64/security/pam_userdb,32位系统就是/lib/security/pam_userdb #创建虚拟用户 useradd -d /home/virtualuser -s /sbin/nologin virtualuser chmod 777 /home/virtualuser #给777权限否则用户不能访问 #修改主配置文件 vim /etc/vsftpd/vsftpd.conf anonymous_enable=NO #当然你也可以设成YES,同时允许匿名用户登陆,但不推荐 local_enable=YES #必须设置为YES,因为虚拟用户是映射本地用户来访问的 local_write=NO #本地用户不允许写 guest_enable=YES #启用虚拟用户 guest_username=virtualuser #映射虚拟用户 pam_service_name=vsftpd.vu #ftp认证文件 user_config_dir=/etc/vsftpd/vsftpd_user_conf #为不同用户分配不同权限 #创建虚拟用户配置文件夹 mkdir /etc/vsftpd/vsftpd_user_conf cd /etc/vsftpd/vsftpd_user_conf touch upload download adminftp #与logins.txt文件的登录名要一样 #download用户只能下载: vim download local_root=/home/virtualuser anon_world_readable_only=NO #upload用户只能上传配置: vim upload local_root=/home/virtualuser download_enable=NO write_enable=YES anon_upload_enable=YES #adminftp用户有所有权配置: vim admin local_root=/home/virtualuser download_enable=YES write_enable=YES anon_upload_enable=YES anon_mkdir_write_enable=YES anon_other_write_enable=YES #启动服务,测试虚拟用户,验证效果; service vsftpd start chkconfig vsftpd on ftp localhost (责任编辑:IT) |