准备:
关闭linux防火墙
#chkconfig --level 35 iptables off
关闭selinux:编辑配置文件/etc/selinux/config,改为SELINUX=disabled
重启电脑!
开始
1.先查看系统是否安装了vsftpd和ftp,
#rpm �Cq vsftpd 和#rpm -q ftp
出现上图所示内容XXXX is not installed 则说明没有安装,那我们通过yum安装上,
#yum install vsftpd ftp 中途提示按y键继续。
2.查看安装是否成功,
#ftp XXX.XXX.XXX.XXX 这里用自己当前电脑的IP地址,匿名登录用户名写: anonymous ,密码空直接回车,成功登录会有信息提示。
3.配置vsftp
修改配置文件
#vi /etc/vsftpd/vsftpd.conf
取消下面内容前面的注释或者把这些内容都注释掉,在末尾自己添加:
anonymous_enable=YES/NO 是否允许匿名用户访问
local_enable=YES/NO 设置本地用户是否可以访问,如果为NO 则所有虚拟用户都将不能访问,因为虚拟用户访问在主机上其实是以本地用户访问的
pam_service_name=vsftpd pam认证文件名 在/etc/pam.d/vsftpd
chroot_list_enable=YES 限定用户不可以离开主目录
chroot_list_file=/etc/vsftpd/chroot_list
guest_enable=YES 启用虚拟用户功能
guest_username=ftp 指定虚拟用户的宿主用户,centos系统自带ftp用户
user_config_dir=/etc/vsftpd/vuser_conf 设置虚拟用户个人配置文件(此文件后面不能出现空格)
注:vi编辑器打开文件之后按i键进入编辑模式,编辑完毕按ESC退出编辑模式,按:wq然后回车,保存退出。
4.安装db4,和第一步一样
5.创建chroot_list文件,注:见第三步chroot_list_file=/etc/vsftpd/chroot_list这一项,
把/etc/vsftpd/vsftpd.conf 中guest_username项的值写到文件中。
#vi /etc/vsftpd/chroot_list
按i键,输入ftp,ESC――:wq――回车。
6.创建虚拟用户的目录
#vi /etc/vsftpd/vftpuser.txtx(注,基数行写帐号,偶数行写密码)
然后保存退出。
7.生成虚拟用户口令文件和认证文件,
#db_load -T -t hash -f /etc/vsftpd/vftpuser.txtx /etc/vsftpd/vftpuser.db
#vi /etc/pam.d/vsftpd
注释掉/其中所有的内容,因为不要本地用户的认证了,
32位系统增加以下两句:
auth required pam_userdb.so db=/etc/vsftpd/vftpuser
account required pam_userdb.so db=/etc/vsftpd/vftpuser
64位系统增加以下两句:
auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vftpuser
account required /lib64/security/pam_userdb.sodb=/etc/vsftpd/vftpuser
8.创建vi /etc/vsftpd/vftpuser.txtx中写入的用户自己的配置文件,路径是/etc/vsftpd/vsftpd.conf中的user_config_dir=/etc/vsftpd/vuser_conf路径,文件名就是基数行的用户名,
#mkdir /etc/vsftpd/vuser_conf/
#vi /etc/vsftpd/vuser_conf/zccftp1
写入如下内容:
local_root=/var/www
write_enable=YES
download_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
local_umask=022
保存退出。
9.赋权,
#chmod 777 /var/www/
这两步根据自己需要来看,我只是演示,大家可以查查linux的权限和虚拟用户配置文件,自行设定。
10.重启ftp服务:#service vsftpd restart