实训day05(7/12)zy

主要内容:在物理及和虚拟主机上配置ftp,实现上传和下载的功能

1. 使用Xshell连接到服务器

  1. 打开Xshell软件。
  2. 创建一个新的会话,输入物理机或虚拟机的IP地址。
  3. 连接到服务器,使用root用户登录。

2. 安装vsftpd

更新包列表并安装vsftpd

# 更新包列表
apt update

# 安装vsftpd
apt install vsftpd

3. 配置vsftpd

编辑vsftpd配置文件:

# 打开vsftpd配置文件进行编辑
nano /etc/vsftpd.conf

在文件中进行以下更改:

  • 允许本地用户登录:
    # 允许本地用户登录
    local_enable=YES
  • 允许上传文件:
     
    # 允许用户上传文件
    write_enable=YES

  • 设置FTP根目录:
     
    # 设置本地用户的FTP根目录
    local_root=/home/ftpuser/ftp

  • 禁用匿名用户登录(可选):
     
    # 禁用匿名用户登录
    anonymous_enable=NO

  • 启用chroot以限制用户访问其主目录:
     
    # 启用chroot以限制用户访问其主目录
    chroot_local_user=YES

    保存并退出编辑器。

4. 创建FTP用户

创建一个新的用户并设置FTP目录:

 
# 创建一个新的用户ftpuser
adduser ftpuser

按照提示设置用户密码和其他信息。

创建FTP目录并设置权限:

 
# 创建FTP根目录
mkdir -p /home/ftpuser/ftp

# 更改目录所有者为nobody和nogroup
chown nobody:nogroup /home/ftpuser/ftp

# 移除所有用户的写权限
chmod a-w /home/ftpuser/ftp

创建上传目录并设置权限:

 
# 创建上传目录
mkdir /home/ftpuser/ftp/upload

# 更改上传目录的所有者为ftpuser
chown ftpuser:ftpuser /home/ftpuser/ftp/upload

5. 启动并启用vsftpd服务

启动vsftpd服务:

 
# 启动vsftpd服务
systemctl start vsftpd

设置vsftpd服务开机自启动:

 
# 设置vsftpd服务开机自启动
systemctl enable vsftpd

6. 配置防火墙(如果适用)

如果你的虚拟机或物理机上启用了防火墙(例如ufw),需要允许FTP流量通过:

# 允许FTP数据端口20通过防火墙
ufw allow 20/tcp

# 允许FTP控制端口21通过防火墙
ufw allow 21/tcp

# 允许被动模式端口范围40000-50000通过防火墙
ufw allow 40000:50000/tcp

# 重新加载防火墙配置
ufw reload

7. 测试FTP服务器

使用FTP客户端(如FileZilla)连接到FTP服务器,使用刚才创建的用户ftpuser进行登录。

  • 主机:输入虚拟机或物理机的IP地址。
  • 用户名:ftpuser
  • 密码:你在创建用户时设置的密码。
  • 端口:21

在物理机上配置FTP

如果你需要在物理机上配置FTP服务器,步骤与在虚拟机上配置基本相同。只需确保以下几点:

  1. 网络连接:确保物理主机与客户端设备在同一网络中,或者通过适当的网络配置(如端口转发)使其可访问。
  2. 防火墙配置:根据物理主机的防火墙设置,允许FTP流量通过。

在完成上述配置步骤后,测试FTP服务器的步骤如下:

使用FileZilla连接到FTP服务器
  1. 下载并安装FileZilla

  2. 打开FileZilla

    • 启动FileZilla客户端。
  3. 输入连接信息

    • 主机(Host):输入物理机或虚拟机的IP地址。
    • 用户名(Username):ftpuser
    • 密码(Password):在创建用户时设置的密码。
    • 端口(Port):21
  4. 点击“快速连接”

    • 点击FileZilla界面右上角的“快速连接”按钮。
使用命令行FTP工具连接到FTP服务器
  1. 打开终端或命令提示符

    • 在操作系统中打开终端(Linux或macOS)或命令提示符(Windows)。
  2. 输入FTP命令

    • 输入以下命令连接到FTP服务器:ftp <服务器IP地址>
    • 本台服务器IP地址:
      ftp 192.168.1.100
  3. 输入用户名和密码

    • 系统会提示输入用户名和密码。输入ftpuser和设置的密码。

2. 上传文件

在FileZilla中上传文件
  1. 浏览本地文件系统

    • 在FileZilla左侧窗口中浏览本地文件系统,找到我们想要上传的文件。
  2. 浏览远程文件系统

    • 在FileZilla右侧窗口中浏览FTP服务器上的文件系统,找到/home/ftpuser/ftp/upload目录。
  3. 上传文件

    • 将本地文件拖放到远程upload目录中,或右键点击文件选择“上传”。
在命令行FTP工具中上传文件
  1. 切换到上传目录

    • 在FTP命令行中输入以下命令切换到upload目录:
      cd upload
  2. 上传文件

    • 使用put命令上传文件。例如:
       
      put localfile.txt

3. 下载文件

在FileZilla中下载文件
  1. 浏览远程文件系统

    • 在FileZilla右侧窗口中浏览FTP服务器上的文件系统,找到我们想要下载的文件。
  2. 浏览本地文件系统

    • 在FileZilla左侧窗口中浏览我们的本地文件系统,找到我们想要保存文件的位置。
  3. 下载文件

    • 将远程文件拖放到本地目录中,或右键点击文件选择“下载”。
在命令行FTP工具中下载文件
  1. 下载文件
    • 使用get命令下载文件。例如:
       
      get remotefile.txt

4. 验证上传和下载

  1. 验证上传

    • 在FTP服务器上检查/home/ftpuser/ftp/upload目录,确认文件已成功上传。
  2. 验证下载

    • 在本地文件系统中检查下载目录,确认文件已成功下载。

5. 解决常见问题

  • 连接失败

    • 确认FTP服务器正在运行:
       
      systemctl status vsftpd

    • 确认防火墙配置正确,允许FTP流量通过。
    • 确认网络连接正常,物理机或虚拟机的IP地址正确。
  • 权限问题

    • 确认FTP用户有正确的目录权限:
      ls -l /home/ftpuser/ftp/upload

 谢谢观看,希望对你有帮助哟!

  • 14
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值