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安装,匿名,实名等设置基本完成