雏鹰部落

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 478|回复: 0

[学习/资料] 【SPOTO思博网络】【网工小白入门基础】运维基础《FTP协议》

[复制链接]
发表于 2021-11-17 14:31:30 | 显示全部楼层 |阅读模式
【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),邀你进群




本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|熊猫同学技术论坛|小黑屋| 网络工程师论坛 ( 沪ICP备09076391 )

GMT+8, 2024-4-28 03:27 , Processed in 0.074779 second(s), 19 queries , Gzip On.

快速回复 返回顶部 返回列表