Ubuntu上提供两种常用的ftp服务应用:vsftpd 和 tftpd,区别如下:

1)vsftpd 支持客户端上下传文件,支持浏览器显示及下载,支持用户名密码认证,支持匿名访问,默认端口TCP:21

2)tftpd是一种用于客户端与服务器之间最简单的文件传输软件,不支持及浏览器操作,默认端口UDP:69

因为要用作资料共享库,所以需要浏览器下载功能,故选择vsftpd。

一、安装

sudo aptitude install vsftpd

二、创建根服务目录

sudo mkdir /home/ftp  #位置可自己定义

三、创建ftp服务用户

sudo useradd -d /home/ftp -s /bin/bash ftp  #最后的ftp替换也可以替换成其他用户名称

sudo passwd ftp  #给ftp用户设置密码

四、修改vsftpd配置文件

常用配置说明:

anonymous_enable=NO #禁止匿名访问
local_enable=YES #本地主机访问允许
write_enable=YES #写允许
anon_upload_enable=YES #匿名上传允许
anon_mkdir_write_enable=YES  #匿名创建文件夹允许
dirmessage_enable=YES #进入文件夹允许
xferlog_enable=YES #ftp 日志记录允许
connect_from_port_20=YES #允许使用20号端口作为数据传送的端口

vsftpd默认至支持浏览根服务目录(/home/ftp)之上的目录(即 / ),这很危险,所以需要关闭该权限,设置如下:

# chroot_list_enable below.
chroot_local_user=YES

上面配置会设置所有用户都不能离开家目录,如果想对个别用户开启特权,则需要添加配置。有两种设置方法:

1)在/etc/vsftpd.chroot_list中添加特权用户,格式为每个用户一行,在此文件里的用户不受权限约束。

chroot_local_user=YESchroot_list_enable=YES #是否启动限制用户的名单
chroot_list_file=/etc/vsftpd.chroot_list #可在文件中设置多个账号

2)相反的配置,在/etc/vsftpd.chroot_list中添加用户名称,格式为每个用户一行,在此文件里的用户将不能切换目录。

chroot_local_user=NO #是否将所有用户限制在主目录
chroot_list_enable=YES #是否启动限制用户的名单,这里必须为YES,否则不起作用
chroot_list_file=/etc/vsftpd.chroot_list #可在文件中设置多个账号

五、重启服务

sudo /etc/init.d/vsftpd restart

六、通过浏览器访问:ftp://<ip-addr>,并输入用户名及密码即可查看

七、通过浏览器访问,中文文件名显示乱码

简单处理就是:点击浏览器的“查看”菜单,然后进入“文字编码”,选择Unicode或UTF8,即可正确显示。

或者修改服务器系统的默认语言为zh_CN.GBK。

八、如果将vsftpd的根目录(/home/ftp)设置了写权限,则连接ftp服务时会提示如下错误:

500 OOPS: vsftpd: refusing to run with writable root inside chroot()

两种解决方法:

1)移除/home/tftp的写权限,创建一个upload子目录,给予777权限,用于文件上传

sudo chmod a-w /home/tftp
sudo mkdir /home/tftp/upload
sudo chmod 777 /home/tftp/upload

2)在/etc/vsftpd.conf里面的“chroot_local_user=YES”下面增加一行使根目录具有写权限(未测试)

  chroot_local_user=YESallow_writeable_chroot=YES

参考:https://www.zhukun.net/archives/7654

转载于:https://www.cnblogs.com/wzc0066/p/6699273.html

ubuntu上vsftpd服务配置相关推荐

  1. [网摘学习]在Ubuntu上安装和配置OpenStack Nova之二

    再收藏一份Openstack的文章,这两天的操作与此相同.但其中出现的问题还需要查找原因.待个人继续学习研究. 原文参考:http://www.linuxde.net/2011/11/1599.htm ...

  2. 在Ubuntu 上安装和配置Snort 3 NIDS

    在Ubuntu 上安装和配置Snort 3 NIDS 概述 在本教程中,你将学习如何在Ubuntu21.04上安装和配置Snort3NIDS.Snort是一个轻量级的网络入侵检测系统.它具有基于规则的 ...

  3. linux中匿名用户怎么登陆_南京课工场IT培训:Linux中vsftpd服务配置(匿名,用户,虚拟用户)...

    vsftpd概述 vsftpd 是"very secure FTP daemon"的缩写,安全性是它的一个最大的特点.vsftpd 是一个 UNIX 类操作系统上运行的服务器的名字 ...

  4. 【树莓派】服务配置相关3:基于Ubuntu Server的服务配置

    该文接续之前写过的两篇: [树莓派]服务配置相关 [树莓派]服务配置相关2:基于RPi Desktop的服务配置 这是我个人用来进行树莓派盒子安装配置的脚本,对于外部其他博友,可以部分参考,但不需要逐 ...

  5. 在Ubuntu 上安装和配置postfix邮箱服务器

    Postfix是一种流行的开源邮件传输代理(MTA),可用于在Linux系统上路由和传递电子邮件. 据估计,互联网上大约25%的公共邮件服务器运行Postfix. 本文介绍 如何在Ubuntu 20. ...

  6. 在Ubuntu上安装和配置OpenStack Nova

    OpenStack 是由 Rackspace 和 NASA 共同开发的云计算平台,帮助服务商和企业内部实现类似于 Amazon EC2 和 S3 的云基础架构服务(Infrastructure as ...

  7. vsftpd服务----配置

    首先安装 Linux 企业版第一张光盘中的vsftpd-2.0.1-5.i386.rpm #rpm –ivh /media/cdrom/RedHat/RPMS/vsftpd-3.0.1-5.i386. ...

  8. ubuntu配置sudo_在Ubuntu上调整和配置Sudo的8种方法

    ubuntu配置sudo Like most things on Linux, the sudo command is very configurable. You can have sudo run ...

  9. 在Ubuntu上以服务方式运行Java程序

    女主宣言 最近小编在项目中遇到了一个问题,打包的jar文件需要作为服务来使用,但是如何才能保证让jar文件开机自启动呢.小编使用的是Ubuntu的系统,所以查阅了相关资料之后,整理了此篇文章,供大家参 ...

  10. [linux] shell脚本编程-ubuntu创建vsftpd服务

    1.  useradd -s /bin/bash -m 用户名 ,  创建用户,自动创建家目录 , 设置登录shell 2.  echo 用户名:密码 | chpasswd ,非交互式设置密码 3.  ...

最新文章

  1. 客户服务器结构的数据库系统,客户服务器结构的数据库的例子
  2. 关于CacheLookup一个有趣的问题
  3. 【排序函数讲解】sort-C++
  4. java 线程 释放_java线程似乎不会被释放
  5. android adjust,android adjustresize adjustpan着名的问题
  6. 使用SuperMap对接天地图
  7. 基于BS模式的航材电子商务交易平台(2)
  8. 突然挂了!Redis 缓存都在内存中,这下完了!
  9. C++入门系列博客四 const define static关键字
  10. qnap 文件传输服务器,如何将 QNAP NAS 作为 RADIUS 服务器使用?
  11. PMBOK2008中的三种沟通方式(草稿版)
  12. nginx反向代理进行统一鉴权
  13. 将加密的pdf转化成word
  14. Unity 增加2D游戏的打击感笔记
  15. uni-app的使用分享(一)
  16. 查看依赖关系 dependency walker(depends)
  17. 扫地机器人噪音响_硬件老兵拆机分析:扫地机器人噪音大小到底与何相关?
  18. 设计模式——行为型模式之责任链模式(简简单单入门责任链,理解I/O流消息怎么逐步传递处理以及服务器框架转发)
  19. java edt,java – 如何在Swing中分析EDT?
  20. 计算机信息检索在医学中的应用,探索医学文献检索在医学期刊编辑中的重要性及应用...

热门文章

  1. [二]Unity接入Steam技术[大厅,邀请好友,Steam消息事件,成就]
  2. linux挂steam游戏时长,steam挂游戏时长工具
  3. html类似京东侧边栏,JS实现京东商品分类侧边栏
  4. C#开源大全--汇总
  5. 网站常用色彩表(网络搜集整理)
  6. C++ gbk与utf8互转
  7. 三星s8清除html查看器,三星Galaxy S8/S8+双清教程_怎么清理数据缓存和恢复出厂设置...
  8. IntelliJ IDEA配置Groovy教程
  9. ERStudio 安装
  10. 第五次作业:Excel制作英文课程表