本文共 2944 字,大约阅读时间需要 9 分钟。
“1”FTP分类(主动模式,被动模式)
主动模式是从服务端向客户端发起连接,而被动模式是客户端向服务器端发起连接。两者的共同点是都使用21端口进行用户验证及管理,差别在于传送数据的方式不同。
“2”FTP安装(vsftp)1,使用RPM命令及选项查询是否已安装VSFTP软件: rpm -qa | grep vsftp 2,使用YUM工具安装VSFTP软件:yum install -y vsftpd3,解压源码包:tar xvf vsftpd-3.0.2/4,进入目录:cd vsftpd-3.0.2/(在开始编译之前需要添加相关用户和目录,这些用户和目录记录在文件INSTALL中)5,添加用户nobody:useradd nobody6,添加目录和用户:mkdir /var/share/emptymkdir /var/ftpuseradd -d /var/ftp ftp chown root.root /var/ftp chmod og-w /var/ftp
7,安装依赖的库文件:yum install -y libcap libcap-devel
8,编译:make9,安装:make install"3"FTP设置(匿名)(FTP配置文件路径/etc/vsftpd.conf 或者 /etc/vsftpd/vsftpd.conf)1,将默认目录赋予用户FTP权限以便可以上传文件:chown -R ftp.users /var/ftp/pub2,取消配置文件中的注释并显示有效行:grep -v ^# /etc/vsftpd/vsftpd.conf3,允许匿名用户登录和上传:anonymous_enable=YESanon_upload_enable=YESlocal_enable=YES4,允许写:write_enable=YESlocal_umask=022dirmessage_enable=YESxferlog_enable=YESconnect_from_port_20=YESxferlog_std_format=YES5,允许监听:listen=YES6,不允许IPV6上的监听:listen_ipv6=NOpam_service_name=vsftpduserlist_enable=YEStcp_wrappers=YES7,启动FTP服务:systemctl start vsftpd8,检查是否启动成功,默认配置文件位于/etc/vsftpd/vsftpd.conf:ps -ef | grep vsftp9,登录FTP测试: ftp 192.168.1.10 2110,输入匿名用户名称 NAME (192.168.1.10:root):anonymous11,密码为空(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=NOanon_upload_enable=NOanon_mkdir_write_enable=NOanon_other_write_enable=NO不允许FTP用户离开自己的主目录:chroot_list_enable=NO虚拟用户列表,每行一个用户名:chroot_list_file=/etc/vsftpd.chroot_list允许本地用户访问,默认为YESlocal_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/vconf2,编辑/etc/vsftpd.chroot_list,每一行用户名:cat /etc/vsftpd.chroot_list3,增加用户并指定主目录:chmod -R 775 /data/user1 /data/user24,设置用户名密码数据库:echo -e "user1/npass1/nuser2/npass2" > /etc/vsftpd/vusers.listcd /etc/vsftpddb_load -T -t hash -f vusers.list vusers.dbchmod 600 vusers.*指定认证方式:echo -e "#%PAM-1.0\n\nauth required pam_userdb.so db=/etc/vsftpd/naccount required pam_userdb.sodb=/etc/vsftpd/vusers" > /etc/pam.d/vsftpd.vu
mkdir -p /etc/vsftpd/vconfcd /etc/vsftpd/vconfls编辑用户的用户名文件,指定主目录:cat user1和user2创建标识文件:touch /data/user1/user1touch /data/user2/user2ftp 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安装,匿名,实名等设置基本完成转载于:https://blog.51cto.com/11964387/2053809