0、安装ftp的前置条件是关掉SElinux
# vi /etc/selinux/config
修改 SELINUX=” disabled ” ,重启服务器。若相同,则跳过此步骤。
1、 可先查看是否安装过vsftp
1 | # rpm -qa | grep vsftpd |
则代表已经安装。可直接跳过步骤2
2 、安装 vsftp
1 2 | # yum install vsftp* Is this ok [y /N ]: y |
代表安装完成。
3、 对vsftp 进行配置
1 | # /etc/vsftpd/vsftpd.conf |
将原始最后三行注释掉
添加以下信息:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #设定不允许匿名访问 anonymous_enable=NO #设定本地用户可以访问。注:如使用虚拟宿主用户,在该项目设定为NO的情况下所有虚拟用户将无法访问 local_enable=YES #使用户不能离开主目录 chroot_list_enable=YES #设定支持ASCII模式的上传和下载功能 ascii_upload_enable=YES ascii_download_enable=YES #PAM认证文件名。PAM将根据/etc/pam.d/vsftpd进行认证 pam_service_name=vsftpd #设定启用虚拟用户功能 guest_enable=YES #指定虚拟用户的宿主用户,CentOS中已经有内置的ftp用户了 guest_username= ftp #设定虚拟用户个人vsftp的CentOS FTP服务文件存放路径。存放虚拟用户个性的CentOS FTP服务文件(配置文件名=虚拟用户名) user_config_dir= /etc/vsftpd/vuser_conf |
插入后按下Esc键后用:wq结束
进行认证
4、首先 安装Berkeley DB工具,很多人找不到db_load的问题就是没有安装这个包
1 | # yum install db4 db4-utils |
然后,创建用户密码文本/etc/vsftpd/vuser_passwd.txt
,注意奇行是用户名,偶行是密码
1 2 | # touch /etc/vsftpd/vuser_passwd.txt # vi /etc/vsftpd/vuser_passwd.txt |
注意(如果多个用户名和密码中间不能有空的换行,在最后一个密码后必须有换行)
比如
本示只创建一个用户
5、接着,生成虚拟用户认证的db文件
1 | # db_load -T -t hash -f /etc/vsftpd/vuser_passwd.txt /etc/vsftpd/vuser_passwd.db |
编辑认证文件/etc/pam.d/vsftpd
,打开这文件,用“#”注释掉原先的所有内容,然后增加两行。(查看服务器配置参看步骤9)
32位系统增加以下两句:
1 2 | auth required pam_userdb.so db= /etc/vsftpd/vuser_passwd account required pam_userdb.so db= /etc/vsftpd/vuser_passwd |
64位系统增加以下两句:
1 2 | auth required /lib64/security/pam_userdb .so db= /etc/vsftpd/vuser_passwd account required /lib64/security/pam_userdb .so db= /etc/vsftpd/vuser_passwd |
本服务器系统是64位版本
1 2 3 | # /etc/pam.d/vsftpd auth required /lib64/security/pam_userdb .so db= /etc/vsftpd/vuser_passwd account required /lib64/security/pam_userdb .so db= /etc/vsftpd/vuser_passwd |
6、最后,创建虚拟用户个性服务文件
1 2 3 | # mkdir /etc/vsftpd/vuser_conf/ # touch/etc/vsftpd/vuser_conf/test # vi /etc/vsftpd/vuser_conf/test |
添加内容如下
1 2 3 4 5 6 7 8 9 10 | #虚拟用户根目录,根据实际情况修改 local_root= /ftp/www #可写 write_enable=YES #掩码 anon_umask=022 anon_world_readable_only=NO anon_upload_enable=YES anon_mkdir_write_enable=YES anon_other_write_enable=YES |
7、创建ftp根目录权限
1 2 3 | # mkdir /ftp/www # chmod R 777 /ftp # chmod R 777 /ftp/www |
8、重启iptabls和vsftpd
1 2 | # service iptables restart # service vsftpd restart |
9、查看linux版本是32 还是64位
1 2 3 | $ su - root #file /sbin/init /sbin/init : ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), |
即是32位的 linux, 如是64位的, 显示的是 64-bit