安装基本如下 需要注意的是,请关闭selinux!或设置selinux权限。
准备
yum install vsftpd* yum install db4* yum install pam* //如果有提示错误,请安装
建立虚拟用户宿主
useradd -d /usr/local/apache2/htdocs -s /nologin vsftp_vuser chmod 777 /usr/local/apache2/htdocs -R
建立虚拟用户密码文件并建立pam认证
vim /etc/vsftpd/vuser_pwd aaa //用户名 aaapwd //密码 bbb //用户名 bbbpwd //密码 //密码文件,要新增虚拟用户,只要修改vuser_pwd然后运行本命令即可 db_load -T -f /etc/vsftpd/vuser_pwd -t hash /etc/vsftpd/vsftpd_vuser.db vim /etc/pam.d/vsftpd 输入下述两行 auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_vuser account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_vuser
配置vsftpd.conf
vim /etc/vsftpd/vsftpd.conf 在文件最后添加下述代码。 guest_enable=YES; guest_username=vsftp_vuser //指定宿主用户 user_config_dir=/etc/vsftpd/user.d //指定用户配置文件目录 pam_service_name=vsftpd //认证用户名,是指在 建立user.d文件夹,建立与../vsftp_vuser文件对应的用户名为文件名的配置文件 配置如下: local_root=/usr/local/apache2/htdocs/ write_enable=YES anonymous_enable=NO anon_world_readable_only=NO anon_upload_enable=YES anon_mkdir_write_enable=YES anon_other_write_enable=YES local_umask=022 download_enable=YES
重启vsftp
service vsftpd restart
可能发生的错误
若发现上述配置后,不能登陆,按下述进行检查
tail -f /var/log/secure
然后ftp连接到ftp服务器 若出现以下错误的,请将pam.d/vsftpd的内容改为
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_vuser account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_vuser
错误信息:
PAM unable to dlopen(/lib/security/pam_userdb.so 。。。
ftp用户无法删除apache生成的文件的解决办法
更改apache的user/group为ftp的虚拟用户即可