Linux网络实战- FTP服务器搭建

FTP服务器是互联网上提供文件存储和访问访问的计算机,它们依照FTP协议提供服务,FTP是(文件传输协议).顾名思义,就是专门用来传输文件的协议,简单来说,支持FTP协议的服务器就是FTP服务器.

vsftpd是"very secure FTP daemon"的缩写,安全性是它的一个最大的特点,vsftpd是一个UNIX类操作系统上运行的服务器的名字,它可以运行在诸如Linux,BSD,Solaris等系统上,是一个完成免费的,开放源代码的ftp服务器软件,支持很多其他的ftp服务器所不支持的特征

安装FTP(基于头歌实践教学平台)

  1. 更新软件源:sudo apt-get update
  2. 安装vsftpd:sudo apt-get install vsftpd -y

FTP服务器启动

service vsftpd status 查看当前状态

service vsftpd start 开启vsftpd服务

FTP客户端

安装FTP客户端 apt-get install ftp

初始化环境:"向文件 `/etc/vsftpd.conf` 结尾追加三行 anon_root=/、anon_other_write_enable=YES 和 anon_umask=022 。同时将 anon_upload_enable=YES、write_enable=YES和anon_mkdir_write_enable=YES 前的 # 符号删除,并将 anonymous_enable 设置为 YES。

预览大图

 

预览大图

 

预览大图

 

FTP常见命令用法

ftp命令格式:

ftp [host] [port]

  1. [host]为要连接的服务器地址,例如:127.0.0.1 (或 localhost )表示连接本地服务器;
  2. [port]为服务器的端口,默认为 21 ,当我们修改了 vsftpd 的默认端口后,我们连接的时候需要指定新端口;

常见ftp命令如下所示:

  1. FTP>open host [port] 重新建立一个新的连接;
  2. FTP>bye: 终止主机 FTP 进程,并退出 FTP 管理方式;
  3. FTP>close: 终止远程的 FTP 进程,返回到 FTP 命令状态, 所有的宏定义都被删除;
  4. FTP>quit: 同 BYE;
  5. FTP>help [command] 输出命令的解释;
  6. FTP>cd: 更改远程计算机上的目录,同 Linux 的 cd 命令;
  7. FTP>cdup: 更改远程计算机上的目录,返回上一级目录;
  8. FTP>lcd: 改变当前本地主机的工作目录,如果缺省,就转到当前用户的 HOME 目录;
  9. FTP>pwd: 列出当前远程主机目录;
  10. FTP>dir [remote-directory] [local-file] 列出当前远程主机目录中的文件;
  11. FTP>ls [remote-directory] [local-file] 同 dir;
  12. FTP>delete: 删除远程主机中的文件;
  13. FTP>rename [from] [to] 改变远程主机中的文件名;
  14. FTP>rmdir directory-name 删除远程主机中的目录;
  15. FTP>mkdir directory-name 在远程主机中建立目录;
  16. FTP>mget [remote-files] 从远程主机接收一批文件至本地主机;
  17. FTP>get [remote-file] [local-file] 从远程主机中传送至本地主机中;
  18. FTP>mput local-files 将本地主机中一批文件传送至远程主机;
  19. FTP>put local-file [remote-file] 将本地一个文件传送至远程主机中;
  20. FTP>recv remote-file [local-file] 同 get;
  21. FTP>send local-file [remote-file] 同 put;
  22. FTP>status: 显示当前 FTP 的状态;
  23. FTP>! command: 执行本地 shell 命令,如: !dir(显示本机当亲目录内容),如果不加!如:dir(显示服务器当前目录内容)。

连接远程主机

ftp localhost

以匿名用户登录,密码为空

预览大图

使用ftp客户端连接本地vsftpd服务器

FTP使用本地用户登录

常见关于本地用户登录服务器的配置项如下:

  1. local_enable: 是否允许本地用户(即 linux 系统中的用户帐号)登录 FTP 服务器,默认设置为 NO 允许,本地用户登录后会进入用户主目录;
  2. write_enable:是否允许本地用户对 FTP 服务器文件具有写权限,默认设置为 YES 允许;
  3. chroot_local_user:是否将所有用户限制在主目录, YES 为启用 NO 禁用;
  4. chroot_list_enable:是否启动限制用户的名单 YES 为启用 NO 禁用;
  5. chroot_list_file:是否限制在主目录下的用户名单,至于是限制名单还是排除名单,这取决于 chroot_local_user 的值;
  6. local_root: 本地用户登录后的默认工作目录;
  7. local_umask: 设置本地用户的文件掩码为缺省 022;
  8. userlist_enable:此选项激活后,vsftpd 将读取 userlist_file 参数所指定的文件中的用户列表,默认为 NO;
  9. userlist_file:userlist_enable 选项生效后,被读取的包含用户列表的文件。默认值是 /etc/vsftpd.user_list;
  10. userlist_deny:决定禁止还是只允许由 userlist_file 指定文件中的用户登录 FTP 服务器。userlist_enable 选项启动后才能生效。默认值为 YES,禁止userlist_file 指定文件中的用户登录,同时不向这些用户发出输入口令的指令。NO,只允许 userlist_file 指定文件中的用户登录FTP服务器;

案列:

新建一个本地用户(ftpUser密码123),然后配置vsftpd服务允许本地用户登录,使用ftpUser远程连接主机

  1. sudo useradd ftpUser
  2. sudo passwd ftpUser
  3. 设置 local_enable=YES(sudo vim /etc/vsftpd.conf)
  4. sudo service vsftpd restart
  5. ftp localhost

预览大图

 

预览大图

 

预览大图

 

  • 3
    点赞
  • 40
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: 在Linux系统中,搭建FTP服务器是十分常见的任务,通过FTP服务器可以方便地在本地和远程进行文件传输。以下是FTP服务器搭建的步骤: 第一步,安装vsftpd软件包:在终端中输入sudo apt-get install vsftpd,这将会下载并安装vsftpd软件包。 第二步,配置vsftpd服务:通过在终端中运行sudo vim /etc/vsftpd.conf命令,可以打开vsftpd服务的配置文件,根据需要进行不同配置。例如,可以更改默认的FTP用户的根目录,开启匿名访问,设置FTP服务端口等。 第三步,启动vsftpd服务:在终端中输入sudo service vsftpd start,即可启动vsftpd服务。 第步,设置防火墙规则:如果系统上开启了防火墙,则需要设置相应的规则,以允许FTP服务的访问。通过iptables命令或者ufw命令均可实现。 总之,通过以上步骤,就可以在Linux系统上成功搭建FTP服务器。在这里,需要注意FTP服务的安全性问题,例如匿名访问带来的安全隐患等。因此,在使用FTP服务器时,需要谨慎并采取必要措施,以确保文件的安全传输。 ### 回答2: FTP(文件传输协议)是一种用于文件传输的网络协议。我们可以通过FTP协议来搭建自己的FTP服务器,方便文件上传、下载和共享。本文重点介绍如何在Linux系统上搭建FTP服务器。 1.安装VSFTPD 在命令行中输入以下命令: sudo apt-get install vsftpd 2.配置vsftpd 配置文件位于“/etc/vsftpd.conf”,可以使用以下命令打开文件: sudo nano /etc/vsftpd.conf 为了保持安全,应该禁用匿名访问,仅允许通过用户名和密码进行访问。以下是禁用匿名访问的配置项: anonymous_enable=NO 为每个用户单独分配文件夹进行访问,并启用本地用户登录。以下是配置项: chroot_local_user=YES local_enable=YES 将文件传输模式设置为二进制模式。以下是配置项: ascii_upload_enable=NO ascii_download_enable=NO local_umask=022 pasv_enable=YES pasv_min_port=40000 pasv_max_port=40100 其中,“pasv_min_port”和“pasv_max_port”表示FTP使用的被动模式端口,确保其在防火墙中打开并配置为允许通过。 3.启用防火墙端口 打开TCP端口20和21: sudo ufw allow 20/tcp sudo ufw allow 21/tcp 打开TCP端口40000到40100,如果您在配置vsftpd时使用了不同的端口,则需要更改相应的端口范围: sudo ufw allow 40000:40100/tcp 4.启动VSFTPD并设置开机启动 运行以下命令以启动VSFTPD: sudo service vsftpd start 使VSFTPD在系统启动时启动: sudo systemctl enable vsftpd 5.创建FTP用户 运行以下命令来创建FTP用户: sudo adduser ftpuser 将新用户加入FTP用户组: sudo usermod -aG ftpuser ftpuser FTP用户的文件夹将在“/home/ftpuser”下创建。 6.测试FTP服务器 在Windows电脑上使用FTP客户端(例如FileZilla)连接到Linux上的FTP服务器。使用FTP用户的凭据进行身份验证,确保您可以上传和下载文件。 总的来说,搭建FTP服务器需要注意的几点是:保持安全、禁用匿名访问、为每个用户单独分配文件夹进行访问、打开TCP端口、启用防火墙、创建FTP用户等。通过这些步骤,您就可以成功地在Linux系统上搭建FTP服务器了。 ### 回答3: 在Linux中,FTP服务器可以用于文件传输和共享。在Linux上配置FTP服务器非常容易,只需要安装适当的软件包并进行一些简单的配置即可。这篇文章将介绍如何在Linux上搭建FTP服务器。 首先,我们需要安装FTP服务器软件包。在大多数Linux发行版上,FTP服务器软件包为vsftpd,可以使用以下命令安装: sudo apt-get install vsftpd 安装完成后,我们需要编辑配置文件/etc/vsftpd.conf以定义我们的FTP服务器设置。以下是一些常用设置: 1. anonymous_enable=YES:启用匿名FTP登录。 2. local_enable=YES:启用本地用户登录FTP。 3. write_enable=YES:启用写入FTP服务器的权限。 4. chroot_local_user=YES:使本地用户只能访问其主目录。 5. pasv_enable=YES:启用被动模式FTP。 编辑完成配置文件后,我们需要重启FTP服务器以应用设置。可以使用以下命令: sudo service vsftpd restart 现在我们已经可以从其他设备连接到我们的FTP服务器了。使用FTP客户端(如FileZilla)输入服务器IP地址、用户名和密码即可连接到服务器。如果设置了匿名登录,客户端可以使用用户名“anonymous”和空密码登录。 在FTP服务器上,我们可以创建和删除文件夹,上传和下载文件。在上传和下载文件时,FTP服务器需要具有足够的权限才能写入服务器文件系统。如果无法上传或下载文件,请检查FTP服务器配置文件中的“write_enable”设置是否正确。 总之,搭建FTP服务器非常简单,只需要安装适当的软件包和简单的配置即可开始共享文件。FTP服务器是一个非常有用的工具,可以用于共享大量文件和协作。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值