2019.2.18更新

证实可用!!!

原文:

这两天测试在Ubuntu18.04上搭建一个ftp服务器,搜了一下大家都在用vsftpd,于是根据这个大佬的基础教程搭了一个,搭完一切正常,在windows资源管理器上可以登录,可以新建文件夹和文件,也可以用filezilla客户端上传文件,一切完美。

当然如果一切完美也不用记录这篇文章了,后面用一台设备测试接收文件,结果被打脸,文件传不上来,vsftpd的log中显示如下

[ftpuser] FAIL MKDIR: Client "::ffff:10.87.1.118", "/dear_wang_1234_20190124_151733"

再看我用filezilla新建文件夹时,日志是这样的:

[ftpuser] OK MKDIR: Client "::ffff:10.87.2.46", "/home/ftp/asdf"

感觉不对,因为我为ftpuser这个用户指定了文件夹,所以我用filezilla登录后进入到默认指定的文件夹,于是上传等一切操作都是在指定文件夹下,而设备用这个用户登录时应该和filezilla不一样,看上去跳出了为用户限定的目录,于是继续搜资料,说只指定是不行的,还要在配置文件(/etc/vsftpd.conf)中把chroot_local_user设置成YES才是把用户限定在指定目录下,于是改成YES,但是改完后上传不了文件了,日志中记录如下错误:

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

那只能继续搜啊,于是搜到这个大佬的文章,说是新版本更新后增加了安全性,用户不能在主目录下写文件了,如果非要写,需要加一个选项:

allow_writeable_chroot=YES

这样才行,于是加之,用代码测试后发现可行,再创建文件夹时不再是完整路径了,而是和设备上传时一样了,不知道后面设备能不能上传,因为现在没有设备可测,现在先记录一下,希望有用- -,后面测试后再更新。

vsftpd3.0.3配置的更多相关文章

  1. 【推荐】CentOS安装vsftpd-3.0.2+安全配置

    注:以下所有操作均在CentOS 6.5 x86_64位系统下完成. FTP的登录一般有三种方式,分别是: 匿名用户形式:默认安装的情况下,系统只提供匿名用户访问,只需要输入用户anonymous/f ...

  2. 【推荐】CentOS安装vsftpd-3.0.3+安全配置

    注:以下所有操作均在CentOS 6.5 x86_64位系统下完成. FTP的登录一般有三种方式,分别是: 匿名用户形式:默认安装的情况下,系统只提供匿名用户访问,只需要输入用户anonymous/f ...

  3. CentOS下源码安装vsftpd-3.0.0,并设置指定用户访问指定目录(附带完整配置文件)

    1.卸载系统已经存在的ftp服务器 因为是源码安装,所以不能通过rpm -qa的方式查看是否已经安装ftp服务器,可以通过find / | grep vsftp*方式查看系统中存在哪些与vsftpd相 ...

  4. 编译安装vsftpd-3.0.2

    编译安装vsftpd 首先下载源码包(我一般喜欢放在/home/test) 解压:tar -zxvf vsftpd-3.0.2.tar.gz 进入目录进行编译 cd vsftpd-3.0.2 编译之前 ...

  5. 【转】Vsftpd-3.0.2服务器arm-linux移植—mini2440开发板

    Vsftpd-3.0.2服务器arm-linux移植—mini2440开发板 开发板:mini2440(2011.04.21)环境:ubuntu9.10 为方便的将文件上传到开发板,采用vsftpd, ...

  6. CentOS 7.0安装配置Vsftp服务器

    一.配置防火墙,开启FTP服务器需要的端口 CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall: systemctl stop fi ...

  7. Solr4.0 如何配置使用UUID自动生成id值

    原文链接http://blog.csdn.net/keepthinking_/article/details/8501058#comments 最近学习了Lucene,随便也学习了Solr,Solr规 ...

  8. 网站开启https后加密协议始终是TLS1.0如何配置成TLS1.2?

    p { margin-bottom: 0.1in; line-height: 120% } 网站开启https后加密协议始终是TLS1.0如何配置成TLS1.2? 要在服务器上开启 TLSv1.,通常 ...

  9. 驱动开发学习笔记. 0.01 配置arm-linux-gcc 交叉编译器

    驱动开发读书笔记. 0.01 配置arm-linux-gcc 交叉编译器 什么是gcc: 就像windows上的VS 工具,用来编译代码,具体请自己搜索相关资料 怎么用PC机的gcc 和 arm-li ...

随机推荐

  1. 干货|技术小白如何在45分钟内发行通证(TOKEN)并上线交易(附流程代码

    https://blog.csdn.net/HiBlock/article/details/80071478

  2. Element-UI使用指南

    原网址:https://blog.csdn.net/u012285967/article/details/53023825 Element-UI是饿了么前端团队推出的一款基于Vue.js 2.0 的桌 ...

  3. Python利用PIL生成随机验证码图片

    安装pillow: pip install pillow PIL中的Image等模块提供了创建图片,制作图片的功能,大致的步骤就是我们利用random生成6个随机字符串,然后利用PIL将字符串绘制城图 ...

  4. Django REST framework的分页

    DRF分页组件 为什么要使用分页 我们数据表中可能会有成千上万条数据,当我们访问某张表的所有数据时,我们不太可能需要一次把所有的数据都展示出来,因为数据量很大,对服务端的内存压力比较大还有就是网络传输 ...

  5. oracle in和exist的区别 not in 和not exist的区别

    in 是把外表和内表作hash join,而exists是对外表作loop,每次loop再对内表进行查询.一般大家都认为exists比in语句的效率要高,这种说法其实是不准确的,这个是要区分环境的. ...

  6. Mac 安装、卸载JDK 1.6

    卸载 输入 sudo rm -fr /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin sudo rm -fr /Library/Preferenc ...

  7. [leetcode]72. Edit Distance 最少编辑步数

    Given two words word1 and word2, find the minimum number of operations required to convert word1 to ...

  8. [leetcode]49. Group Anagrams变位词归类

    Given an array of strings, group anagrams together. Example: Input: ["eat", "tea" ...

  9. mysql数据库导入与导出

    导出 导出数据和表结构: mysqldump -u用户名 -p 数据库名 > 数据库名.sql mysqldump -uroot -p dbname > dbname .sql      ...

  10. windows powershell

    今天用了一条命令: dism /online /add-package /packagepath:c:xxxx.cab