【SPOTO思博网络】【网工小白入门基础】运维基础《FTP协议》 什么是FTP?
FTP协议(File Transfer Protocol,文件传输协议)是一个用于在计算机网络上客户端和服务器之间进行文件传输的应用层协议,包括FTP服务器和FTP客户端两个组成部分。FTP能操作任何类型的文件而不需要进—步处理,但有着极高的延时,从开始请求到第一次接收需求数据之间的时间较长,并不时地执行一些冗长的登录进程。
同大多数Internet服务一样,FTP也是一个客户/服务器系统。用户通过一个客户机程序连接至在远程计算机上运行的服务器程序。
依照FTP协议提供服务,进行文件传送的计算机就是FTP服务器,而连接FTP服务器,遵循FTP协议与服务器传送文件的电脑就是FTP客户端。用户要连上FTP服务器,就要用到FTP的客户端软件,通常Windows自带“ftp”命令,这是一个命令行的FTP客户程序,另外常用的FTP客户程序还有FileZilla、CuteFTP、Ws_FTP、Flashfxp、LeapFTP、流星雨-猫眼等。
FTP配置
01 安装vsftpd # yum -y install vsftpd
02 建立虚拟用户帐号密码
# vim /etc/vsftpd/users ftp1 123456
03 创建虚拟用户数据库文件
# db_load -T -t hash -f /etc/vsftpd/users/etc/vsftpd/virtual_users.db
04 创建虚拟账户的本地目录
# mkdir -p /var/ftp/users/ftp1
05 备份以及为虚拟用户配置vsftpd文件
# cp /etc/vsftpd/vsftpd.conf/etc/vsftpd/vsftpd.conf.bak # vim /etc/vsftpd/vsftpd.conf
anonymous_enable=NO local_enable=YES virtual_use_local_privs=YES write_enable=YES allow_writeable_chroot=YES pam_service_name=vsftpd.virtual guest_enable=YES user_sub_token=$USER local_root=/var/ftp/users/$USER chroot_local_user=YES hide_ids=YES xferlog_enable=YES vsftpd_log_file=/var/log/vsftpd.log log_ftp_protocol=YES pasv_enable=Yes pasv_max_port=21000 pasv_min_port=20000
06 创建pam文件
新建pam文件: # vim /etc/pam.d/vsftpd.virtual auth required pam_userdb.sodb=/etc/vsftpd/virtual_users account required pam_userdb.sodb=/etc/vsftpd/virtual_users session required pam_loginuid.so
07 配置防火墙
# iptables -I INPUT -p tcp--destination-port 20:21 -j ACCEPT # iptables -I INPUT -p tcp--destination-port 20000:21000 -j ACCEPT
08 修改所有者及所属组
# chown ftp.ftp /var/ftp/users/ftp1 如果系统不存在ftp用户,则需手动创建 # useradd -m -s /sbin/nologin ftp
09 启动服务并关闭selinux
# systemctl start vsftpd # vim /etc/selinux/config 把SELINUX=enforcing 改为 SELINUX=disabled 或 permissive
10 测试
[root@localhost vsftpd]# ftp 192.168.56.108 Connected to 192.168.56.108(192.168.56.108). 220 (vsFTPd 3.0.2) Name (192.168.56.108:root): ftp1 331 Please specify the password. Password: 230 Login successful. Remote system type is UNIX. Using binary mode to transfer files. ftp> dir 227 Entering Passive Mode(192,168,56,108,79,179). 150 Here comes the directory listing. -rw-rw-r-- 1 ftp ftp 0 Oct 18 03:43v_user 226Directory send OK.
11 新增加用户ftp2
#echo "ftp2" >>/etc/vsftpd/users #echo "123456">>/etc/vsftpd/users
#db_load -T -t hash -f /etc/vsftpd/users/etc/vsftpd/virtual_users.db
#mkdir -p /var/ftp/users/ftp2 #chown ftp.ftp /var/ftp/users/ftp2
进入全国网络工程师交流群 ,请扫描下方二维码↓↓↓ 群里有行业大咖、实战分享、技术交流、技术咨询、企业内推等机会
若群满,请添加老杨微信(spotoa),邀你进群
|