[[IT知识]] 轻松搭建Ubuntu下的FTP与TFTP服务器,让你的文件传输更高效

[复制链接]
查看: 45|回复: 0
发表于 2025-2-8 09:25:00 | 显示全部楼层 | 阅读模式
易博V9下载

轻松搭建Ubuntu下的FTP与TFTP服务器,让你的文件传输更高效

为了局域网方便访问Ubuntu系统,在Ubuntu 14.04上安装了tfp和tftp服务。在Windows端用FileZilla、FlashFXP、xFTP、CuteFTP等等访问都很方便。

一、安装ftp服务器

(一)安装

1.安装vsftpd:

  1. sudo apt-get install vsftpd
复制代码

2.检查端口

  1. netstat -tnl
复制代码

ftp默认打开的是21端口,看下对应21端口的服务有没有打开。

或者直接在浏览器里输入“ftp://服务器IP”,会有相关提示的。

开启、停止、重启vsftpd服务的命令:

  1. service vsftpd start | stop | restart
复制代码

(二)新建用户

这个用户主要用于访问ftp服务器

1.增加用户

创建目录

  1. sudo mkdir -p /home/uftp
复制代码

创建用户

  1. sudo useradd -d /home/uftp -m uftp
复制代码

设置用户密码

  1. sudo passwd uftp
复制代码

(三)配置

1.修改配置文件

  1. sudo gedit /etc/vsftpd.conf
复制代码

主要配置:

  1. listen=YES # 服务器监听
  2. local_enable=YES # 是否允许本地用户访问
  3. write_enable=YES # 是否允许上传文件
  4. anonymous_enable=NO # 匿名访问允许,默认不要开启,
  5. #anon_upload_enable=YES # 匿名上传允许,默认是NO
  6. #anon_mkdir_write_enable=YES # 匿名创建文件夹允许
复制代码

用户访问目录的权限设置:

在默认配置下,本地用户登入FTP后可以使用cd命令切换到其他目录,这样会对系统带来安全隐患。可以通过以下三条配置文件来控制用户切换目录。

  1. chroot_local_user=YES # 用于指定用户列表文件中的用户是否允许切换到上级目录。默认值为NO。
  2. chroot_list_enable=YES # 设置是否启用chroot_list_file配置项指定的用户列表文件。默认值为NO。
  3. chroot_list_file=/etc/vsftpd.chroot_list
  4. #禁用的列表名单,格式为一行一个用户,用于指定用户列表文件,该文件用于控制哪些用户可以切换到用户家目录的上级目录。
复制代码

(1).当chroot_list_enable=YES,chroot_local_user=YES时,在/etc/vsftpd.chroot_list文件中列出的用户,可以切换到其他目录;未在文件中列出的用户,不能切换到其他目录。

(2).当chroot_list_enable=YES,chroot_local_user=NO时,在/etc/vsftpd.chroot_list文件中列出的用户,不能切换到其他目录;未在文件中列出的用户,可以切换到其他目录。

(3).当chroot_list_enable=NO,chroot_local_user=YES时,所有的用户均不能切换到其他目录。

(4).当chroot_list_enable=NO,chroot_local_user=NO时,所有的用户均可以切换到其他目录。

vsftpd.conf配置

其他配置解释:

  1. local_umask=022 # FTP上本地的文件权限,默认是077
  2. dirmessage_enable=YES # 进入文件夹允许
  3. xferlog_enable=YES # ftp 日志记录允许
  4. connect_from_port_20=YES # 启用20号端口作为数据传送的端口
  5. xferlog_enable=yes # 激活上传和下传的日志
  6. xferlog_std_format=yes # 使用标准的日志格式
  7. ftpd_banner=XXXXX # 欢迎信息
复制代码

配置里有些配置选项会以“#”开头,需要的时候去掉“#”配置对应的信息。

由于我设置了chroot_list_enable=YES,chroot_local_user=YES,所以还需要设置可以访问用户列表。

  1. sudo gedit /etc/vsftpd.chroot_list
复制代码

在里面添加uftp和其他允许访问的用户,每个占一行。

2.重启vsftpd服务

  1. sudo /etc/init.d/vsftpd restart
  2. sudo service vsftpd restart
复制代码

修改配置文件后一定要重启服务才能生效

用命令查看当前电脑局域网IP地址

  1. ifconfig
复制代码

然后在ftp访问终端输入对应的IP地址,端口号(21),账户密码就能访问了。

(四)卸载

删除用户

  1. sudo userdel uftp
复制代码

卸载软件

  1. sudo apt-get remove --purge vsftpd
  2. (–purge 选项表示彻底删除改软件和相关文件)
复制代码

二、安装ftp服务器

1、安装

  1. sudo apt-get install tftp-hpa tftpd-hpa
复制代码

2、配置

  1. sudo gedit /etc/default/tftpd-hpa
复制代码

打开tftpd-hpa修改里面的配置

  1. TFTP_USERNAME="tftp"
  2. TFTP_DIRECTORY="/home/uftp/tftpboot" //修改成自己要使用的tftpboot目录
  3. TFTP_ADDRESS="[::]:69"
  4. TFTP_OPTIONS="-l -c -s"
复制代码

3、创建tftp目录

  1. mkdir /home/uftp/tftpboot
  2. chmod 777 /home/uftp/tftpboot
复制代码

4、测试

在当前命令目录下新建test.txt

  1. $ tftp localhost
  2. tftp> put test.txt
  3. tftp> get test.txt
  4. tftp> q
  5. 需要文件真实存在,否则报Error code 1: File not found
复制代码

5、卸载

  1. sudo apt-get remove --purge tftp-hpa tftpd-hpa
复制代码

清理残留数据

  1. dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P
复制代码

6、tftp服务器重启

  1. sudo service tftpd-hpa restart
  2. sudo /etc/init.d/tftpd-hpa restart
复制代码
易博软件介绍
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1、请认真发帖,禁止回复纯表情,纯数字等无意义的内容!帖子内容不要太简单!
2、提倡文明上网,净化网络环境!抵制低俗不良违法有害信息。
3、如果你对主帖作者的帖子不屑一顾的话,请勿回帖。谢谢合作!
3、问答求助区发帖求助后,如有其他用户热心帮您解决问题后,请自觉点击设为最佳答案按钮。

 
 
QQ在线客服
QQ技术支持
工作时间:
8:00-18:00
软著登字:
1361266号
官方微信扫一扫
weixin

QQ|小黑屋|Archiver|慈众营销 ( 粤ICP备15049986号 )|网站地图

自动发帖软件 | 自动发帖器 | 营销推广软件 | 网络营销工具 | 网络营销软件 | 网站推广工具 | 网络推广软件 | 网络推广工具 | 网页推广软件 | 信息发布软件 | 网站推广工具 | 网页推广软件

Powered by Discuz! X3.4   © 2012-2020 Comsenz Inc.  慈众科技 - Collect from 深圳吉宝泰佛文化有限公司 公司地址:罗湖区黄贝街道深南东路集浩大厦A1403

返回顶部 返回列表