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=YES
chroot_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=YES
allow_writeable_chroot=YES

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

ubuntu上vsftpd服务配置的更多相关文章

  1. Linux vsftpd服务配置以及三种验证方式以及常见错误解决办法

    文件传输协议(FTP): 文件传输协议(FTP,File Transfer Protocol),即能够让用户在互联网中上传.下载文件的文件协议,而FTP服务器就是支持FTP传输协议的主机,要想完成文件 ...

  2. Ubuntu上安装与配置JDK1.8

    Ubuntu上安装与配置JDK1.8 一.下载 下载JDK,由于是Ubuntu. 所以去官网下载tar.gz格式的就可以(ubuntu使用浏览器下载网速比較慢,所以推荐到window上下载好). ht ...

  3. VsFtpd服务配置简明笔记

    Ftp服务是最常用的文件传输方式,把配置步骤记录下来,以备将来使用. 1.用YUM安装VsFtpd服务:[root@Redis usr]# yum install vsftpd 2.安装完成后启动Vs ...

  4. Linux vsftpd服务配置具体解释

    [背景] 近日.一朋友dominoserver要进行升级.迁移,搭建了linux測试系统,也开启vsftpd服务,但是配置的ftp账号,程序无法正常下载附件. [问题跟踪] 通过ftpclient连接 ...

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

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

  6. 关于Ubuntu上的服务文件

    问题发现 今天在给ubuntu系统安装ftp服务时,一件奇怪的事引起了我的注意.当我服务安装完成后,想要测试一下是否能控制服务,便输入如下命令: service vsftpd restart 它返回的 ...

  7. Ubuntu上latex+atom配置

    网上流传的latex+atom大都是windows上的,Ubuntu与windows上的配置方式大同小异,这里写下自己的经验: 分为三个步骤,首先安装texlive,texlive是latex的依赖库 ...

  8. linux vsftpd 服务配置

    vsftpd.conf配置如下: # Example config file /etc/vsftpd/vsftpd.conf # # The default compiled in settings ...

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

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

随机推荐

  1. 如何修改element.style内联样式;

    如何修改element.style内联样式: 我们在写前面 web页面样式的时候,会发现有些时候,我们怎么修改 style里面的值,页面上的样式都不会修改,当你用工具查看时,会发现里面会有 eleme ...

  2. synchronized和lock以及synchronized和volatile的区别

    synchronized和volatile区别synochronizd和volatile关键字区别: 1. volatile关键字解决的是变量在多个线程之间的可见性:而sychronized关键字解决 ...

  3. Android 开发 深入理解Handler、Looper、Messagequeue 转载

    转载请注明出处:http://blog.csdn.net/vnanyesheshou/article/details/73484527 本文已授权微信公众号 fanfan程序媛 独家发布 扫一扫文章底 ...

  4. 20165205 2017-2018-2 《Java程序设计》课程总结

    20165205 2017-2018-2<Java程序设计>课程总结 每周作业链接总结 预备作业一: 简述了我认为好的师生关系,展望了未来学习java的日子 预备作业二:总结了C语言的学习 ...

  5. 实战ELK(5) Logstash 入门

    Logstash 是一个开源的数据收集引擎,它具有备实时数据传输能力.它可以统一过滤来自不同源的数据,并按照开发者的制定的规范输出到目的地. 一.原理 Logstash 通过管道进行运作,管道有两个必 ...

  6. This iPhone 6s is running iOS 11.3.1 (15E302), which may not be supported by this version of Xcode.

    This iPhone 6s is running iOS 11.3.1 (15E302), which may not be supported by this version of Xcode.

  7. ABAP-表中数据的横向累加

    GLT0 等表中数据的横向累加 ——塞依SAP培训   在 ABAP 的 GLT0.FAGLFLEXT 等余额表中,用诸如 TSL01.TSL02 …… TSL16 等字段记录了 16 个期间的发生额 ...

  8. oracle数据库中存储过程使用MD5算法加密

    一.技术点 1. DBMS_OBFUSCATION_TOOLKIT.MD5 DBMS_OBFUSCATION_TOOLKIT.MD5是MD5编码的数据包函数,但偶在使用select DBMS_OBFU ...

  9. java DES加解密及Wrong key size错误

    如下的DES加密方法会报错:Wrong key size public static String encryptDES(String source) throws Exception{ Secret ...

  10. 关于吴恩达机器学习支持向量机的问题,讲到对偶前有一个最小化f(w)使用拉格朗日求解时转化成一个最大的相等式的理解和一些困惑

    (纯属个人理解) 参考: https://www.zhihu.com/question/267482928 https://www.cnblogs.com/90zeng/p/Lagrange_dual ...