您的位置:首页 > 科技 > 能源 > 最佳搜索引擎磁力狗_属于网络营销的特点_艾滋病阻断药_seo优化推广业务员招聘

最佳搜索引擎磁力狗_属于网络营销的特点_艾滋病阻断药_seo优化推广业务员招聘

2024/11/18 10:24:49 来源:https://blog.csdn.net/zhangdonghuirjdd/article/details/142528664  浏览:    关键词:最佳搜索引擎磁力狗_属于网络营销的特点_艾滋病阻断药_seo优化推广业务员招聘
最佳搜索引擎磁力狗_属于网络营销的特点_艾滋病阻断药_seo优化推广业务员招聘

文章目录

  • 介绍
    • FTP的主要特点
    • FTP的工作模式
  • 服务器部署
    • 安装
    • 启动
    • 配置
    • 新增用户
  • 客户端
    • lftp
    • sftp (SSH File Transfer Protocol)
      • 登陆
      • 上传文件
      • 下载文件
      • 退出
      • 查看文件
  • 常用脚本

介绍

FTP(File Transfer
Protocol,文件传输协议)是一种用于在网络上进行文件传输的标准网络协议。它使用客户端-服务器模型,允许用户将文件从一台计算机传输到另一台计算机,通常通过互联网。FTP支持两种模式:主动模式和被动模式。

FTP的主要特点

客户端-服务器架构:

  • 客户端发起请求,服务器响应并提供服务。
  • 通常使用两个TCP连接:控制连接和数据连接。
  • 控制连接用于发送命令和接收状态信息。
  • 数据连接用于实际的数据传输。
    身份验证:
  • 用户可以使用用户名和密码进行身份验证。
  • 支持匿名登录,允许用户以anonymous或ftp作为用户名登录,通常使用电子邮件地址作为密码。
    目录浏览与管理:
  • 用户可以列出远程目录的内容。
  • 可以创建、删除和重命名远程目录。
  • 可以改变当前工作目录。
    文件操作:
  • 上传(PUT)和下载(GET)文件。
  • 删除远程文件。
  • 查看文件属性,如大小、修改时间等。
    二进制和ASCII模式:
  • 二进制模式用于传输非文本文件(如图片、视频等),保持文件的原始格式。
  • ASCII模式用于传输文本文件,可能会转换换行符以适应不同操作系统。
    安全问题
    标准FTP是不安全的,因为用户名、密码和文件内容在传输过程中都是明文形式。
    为了解决这个问题,有更安全的替代方案,如SFTP(SSH File Transfer Protocol)和FTPS(FTP over SSL/TLS)。

FTP的工作模式

主动模式(Active Mode):
客户端向服务器发起控制连接,并告知一个临时端口。
服务器随后建立一个新的数据连接到客户端提供的临时端口。
这种模式可能被防火墙阻止,因为它需要服务器发起连接到客户端。
被动模式(Passive Mode):
客户端向服务器发起控制连接,并请求进入被动模式。
服务器响应一个临时端口号。
客户端然后发起一个新的数据连接到服务器提供的临时端口。
这种模式更适合现代网络环境,因为它只需要客户端发起连接。

服务器部署

安装

vsftpd(Very Secure FTP Daemon)是一个开源的FTP服务器软件,专为Unix-like系统设计。它以其安全性、稳定性和高效性而闻名,是许多Linux发行版中默认的FTP服务器之一

yum install vsftpd -y

在这里插入图片描述

配置防火墙

sudo firewall-cmd --permanent --add-service=ftp
sudo firewall-cmd --reload

启动

systemctl start vsftpd

在这里插入图片描述

配置

vim /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES
allow_writeable_chroot=YES
  • anonymous_enable=NO:这个选项决定是否允许匿名用户登录到FTP服务器。设置为NO表示不允许匿名用户登录,只有具有有效用户名和密码的用户才能登录。
  • local_enable=YES:此选项控制本地用户(即那些在系统中有账户的用户)是否可以登录到FTP服务器。设置为YES表示允许本地用户登录。
  • write_enable=YES:这个选项决定了用户是否可以在FTP服务器上进行写操作,比如上传文件、创建目录等。如果设置为YES,则允许用户执行写操作;如果是NO,则只允许读取操作。
  • chroot_local_user=YES:chroot功能会将用户的根目录限制在他们的主目录内,这样他们就不能访问其他部分的文件系统。设置chroot_local_user=YES意味着所有本地用户都将被限制在其自己的主目录中,不能浏览或修改主目录之外的任何文件。
  • allow_writeable_chroot=YES:当chroot被启用时(通过chroot_local_user=YES),如果用户的主目录是可写的,那么默认情况下vsftpd会拒绝连接,因为这可能带来安全风险。但是,如果你确实需要让用户能够上传文件到其可写的主目录,你可以设置allow_writeable_chroot=YES来覆盖这一默认行为。请注意,这样做可能会降低系统的安全性,因此要确保你了解相关的安全影响

新增用户

useradd -m ftpuser
sudo passwd ftpuser
sudo mkdir -p /home/ftpuser/ftp/files
sudo chown -R ftpuser:ftpuser /home/ftpuser/ftp
sudo chmod -R 755 /home/ftpuser/ftp

客户端

lftp

  • lftp 是一个功能强大的文件传输程序,支持多种协议,包括 FTP、HTTP、HTTPS、FTPS、SFTP、BitTorrent 等。
  • 它提供了丰富的命令集和脚本能力,适合复杂的文件传输任务。
  • ltp 具有断点续传、镜像同步、多线程下载等功能。

sftp (SSH File Transfer Protocol)

  • sftp 是基于 SSH 协议的安全文件传输协议。
  • 它通过加密通道传输数据,确保了数据的安全性。
  • sftp 使用与 SSH 相同的身份验证机制(如密码、公钥认证)。
sudo yum install lftp -y
或者
sudo yum install ftp -y

在这里插入图片描述
测试

登陆

 lftp -u ftpuser,123456 ftp://10.168.60.166

上传文件

put /path/to/local/file

下载文件

get /path/to/local/file

退出

 exit

查看文件

nlist -R

在这里插入图片描述

常用脚本

#!/bin/bash# 配置信息
FTP_USER="your_ftp_username"
FTP_PASS="your_ftp_password"
FTP_HOST="your_ftp_host"
LOCAL_DIR="/path/to/local/directory"
REMOTE_DIR="/path/to/remote/directory"# 临时文件
LOCAL_LIST="/tmp/local_files.txt"
REMOTE_LIST="/tmp/remote_files.txt"# 获取本地文件列表
find "$LOCAL_DIR" -type f > "$LOCAL_LIST"# 使用 lftp 获取远程文件列表
lftp -c "open -u $FTP_USER,$FTP_PASS $FTP_HOST; cd $REMOTE_DIR; nlist -R > $REMOTE_LIST"# 比较本地和远程文件列表,找出需要上传的文件
while read -r file; dolocal_file=$(basename "$file")remote_file=$(grep -F "$local_file" "$REMOTE_LIST")if [ -z "$remote_file" ]; then# 文件不存在于远程,上传echo "Uploading new file: $file"lftp -c "open -u $FTP_USER,$FTP_PASS $FTP_HOST; cd $REMOTE_DIR; put $file"else# 文件存在于远程,比较修改时间local_mtime=$(stat -c %Y "$file")remote_mtime=$(echo "$remote_file" | awk '{print $1}')if [ "$local_mtime" -gt "$remote_mtime" ]; then# 本地文件更新,上传echo "Uploading updated file: $file"lftp -c "open -u $FTP_USER,$FTP_PASS $FTP_HOST; cd $REMOTE_DIR; put $file"fifi
done < "$LOCAL_LIST"# 清理临时文件
rm -f "$LOCAL_LIST" "$REMOTE_LIST"

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com