1”FTP分类(主动模式,被动模式)
主动模式是从服务端向客户端发起连接,而被动模式是客户端向服务器端发起连接。两者的共同点是都使用21端口进行用户验证及管理,

差别在于传送数据的方式不同。
2”FTP安装(vsftp)
1,使用RPM命令及选项查询是否已安装VSFTP软件: rpm -qa | grep vsftp
2,使用YUM工具安装VSFTP软件:yum install -y vsftpd
3,解压源码包:tar xvf vsftpd-3.0.2/
4,进入目录:cd vsftpd-3.0.2/
(在开始编译之前需要添加相关用户和目录,这些用户和目录记录在文件INSTALL中)
5,添加用户nobody:useradd nobody
6,添加目录和用户:
mkdir /var/share/empty
mkdir /var/ftp

     useradd -d /var/ftp ftp

     chown root.root /var/ftp

     chmod og-w /var/ftp

7,安装依赖的库文件:yum install -y libcap libcap-devel
8,编译:make
9,安装:make install
"3"FTP设置(匿名)
(FTP配置文件路径/etc/vsftpd.conf 或者 /etc/vsftpd/vsftpd.conf)
1,将默认目录赋予用户FTP权限以便可以上传文件:chown -R ftp.users /var/ftp/pub
2,取消配置文件中的注释并显示有效行:grep -v ^# /etc/vsftpd/vsftpd.conf
3,允许匿名用户登录和上传:
anonymous_enable=YES
anon_upload_enable=YES
local_enable=YES
4,允许写:
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
5,允许监听:
listen=YES
6,不允许IPV6上的监听:
listen_ipv6=NO
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
7,启动FTP服务:systemctl start vsftpd
8,检查是否启动成功,默认配置文件位于/etc/vsftpd/vsftpd.conf:ps -ef | grep vsftp
9,登录FTP测试: ftp 192.168.1.10 21
10,输入匿名用户名称 NAME (192.168.1.10:root):anonymous
11,密码为空(PASSWORD处按回车跳过即可)
12,登陆成功(显示LOGIN SUCCESSFUL表示登陆成功)
13,切换目录: ftp> cd pub(显示Directory successfully changed表示目录切换成功)
14,上传文件测试:ftp> put vsftpd-3.0.2.tar.gz (显示OK to send data表示传输成功,显示Transfer complete表示传输完成)
15,文件上传成功后退出:ftp> quit (显示Goodbye表示已退出)
16,查看上传后的文件信息,文件属于FTP用户:ll /var/ftp/pub
4”FTP设置(实名)
(用户认证信息位于/etc/vsftpd/目录下)
1,编辑vsftpd.conf文件
允许监听:listen=YES
绑定本机IP:listen_address=192.168.1.10
禁止匿名用户登录:
anonymous_enable=NO
anon_upload_enable=NO
anon_mkdir_write_enable=NO
anon_other_write_enable=NO
不允许FTP用户离开自己的主目录:chroot_list_enable=NO
虚拟用户列表,每行一个用户名:chroot_list_file=/etc/vsftpd.chroot_list
允许本地用户访问,默认为YES
local_enable=YES
允许写入:write_enable=YES
上传后的文件默认的权限掩码:local_umask=022
禁止本地用户离开自己的FTP主目录:chroot_local_user=YES
权限验证需要的加密文件:pam_service_name=vsftpd.vu
开启虚拟用户功能:guest_enable=YES
虚拟用户的宿主目录:guest_username=ftp
用户登陆后操作主目录和本地用户具有同样的权限:virtual_use_local_privs=YES
虚拟用户主目录设置文件:user_config_dir=/etc/vsftpd/vconf
2,编辑/etc/vsftpd.chroot_list,每一行用户名:cat /etc/vsftpd.chroot_list
3,增加用户并指定主目录:chmod -R 775 /data/user1 /data/user2
4,设置用户名密码数据库:
echo -e "user1/npass1/nuser2/npass2" > /etc/vsftpd/vusers.list
cd /etc/vsftpd
db_load -T -t hash -f vusers.list vusers.db
chmod 600 vusers.*
指定认证方式:echo -e "#%PAM-1.0\n\nauth required pam_userdb.so db=/etc/vsftpd/naccount required pam_userdb.so

db=/etc/vsftpd/vusers" > /etc/pam.d/vsftpd.vu
mkdir -p /etc/vsftpd/vconf
cd /etc/vsftpd/vconf
ls
编辑用户的用户名文件,指定主目录:cat user1和user2
创建标识文件:
touch /data/user1/user1
touch /data/user2/user2
ftp 192.168.1.10
输入用户名:user1
密码为之前设置的PASS1(在PASSWORD处输入PASS1即可)
查看文件:ftp> ls
(其中-rw-r--r-- 1 0 0 0 Mar 31 08:44 user1表示此文件已存在)
(退出后用USER2用户身份登录FTP,用同样的方法验证密码和文件)
5,上传文件测试:ftp> put file(File receive OK表示接收成功)
至此FTP安装,匿名,实名等设置基本完成