本文通过MetaWeblog自动发布,原文及更新链接:https://extendswind.top/posts/technical/vsftpd_configuration

vsftpd (very secure ftpd),这软件在权限管理什么的也太安全了点,一点小细节出问题也会出现访问不了的问题。只是想架个ftp局域网传文件,一些博客里小细节和背后设计没有提到,踩了一点坑,记录一下简单的匿名ftp访问方案。

主要步骤

1. 使用包管理器安装 vsftpd 。(apt, yum, pacman等)

2. 修改配置文件 /etc/vsftpd.conf

anonymous_enable=YES  # 允许匿名访问
write_enable=YES # 允许写文件
anon_upload_enable=YES # 允许匿名用户上传文件
anon_mkdir_write_enable=YES # 允许匿名用户创建目录和写权限
anon_other_write_enable=YES # 允许匿名用户删除、重命名等其它权限 这个在配置文件里默认找不到

3. 新建匿名访问的用户和文件夹

通过 local_enable 选项能够允许ftp通过本地用户访问,登录之后会访问用户的主目录。当使用匿名用户访问时,vsftpd会将用户名为ftp的用户作为登录用户,进入ftp用户的主目录。

注意,考虑到安全问题,ftp匿名用户的主目录必须为只读,如果需要上传文件,需要在主目录下新建有写权限的文件夹。

通常会选择/var/ftp文件夹存放文件而不是用户默认的/home,因此可以修改用户的主目录位置(一般放在/var/ftp),不修改也能用。再次强调,注意主目录对ftp用户的权限必须为只读

sudo mkdir /var/ftp  # 新建用户文件夹
sudo useradd -d /var/ftp ftp # 新建用户,并指定用户home目录
# 如果ftp用户已经存在,在/etc/passwd文件里改用户目录为/var/ftp sudo mkdir /var/ftp/pub # 新建一个用于写数据的文件夹
sudo chmod 777 /var/ftp/pub # 修改文件夹权限

4. 启动服务

systemctl start vsftpd

其它

防火墙和SELinux如果使用了需要添加响应的通过规则。

测试访问可以直接用浏览器 ftp://ip_address,linux下可以使用FileZilla。

vsftp 匿名访问设置设置的更多相关文章

  1. ftp 匿名访问设置

    为了让ftp可以匿名访问,需要设置/etc/vsftp.conf 的 anonymous_enable=YES. 当然仅仅是这样,还是不可以的,会出现错误: vsftpd: refusing to r ...

  2. 设置SharePoint Server 2013 的匿名访问

    默认情况下,SharePoint Server 2013 是关闭匿名访问的,但是某些环境下我们又需要将这个匿名访问对全员开放,怎么操作更加安全与便捷,对于一个崭新的环境我们可以这样操作. 首先在当前需 ...

  3. 如何为基于windows验证的站点的某个页面、文件或文件夹单独设置匿名访问

    在MOSS的项目中,我们经常碰到要单独为基于windows验证的站点的某个页面.文件或文件夹单独设置匿名访问即不登录就可以直接访问.比如说站点的A的某些图片或文件URL存在B站点下的文件夹下.此时访问 ...

  4. SQL Server 2005中设置Reporting Services发布web报表的匿名访问

    原文:SQL Server 2005中设置Reporting Services发布web报表的匿名访问 一位朋友提出个问题:集成到SQL Server 2005中的Reporting Services ...

  5. centOS 下 VSFTP的安装和设置

    http://blog.csdn.net/swiftshow/article/details/7367609 一.FTP的安装 1.检测是否安装了FTP :[root@localhost ~]# rp ...

  6. vsftp 虚拟用户高级设置(转载)

    发布:xiaokk   来源:net     [大 中 小] vsftp 虚拟用户高级设置  本文转自:http://www.jbxue.com/article/1724.html 1.安装所需软件包 ...

  7. angularjs中的页面访问权限设置

    11月在赶一个项目,这阵子比较忙,挤挤时间更一篇博客吧,如标题所述说说在ng中页面访问权限控制的问题,水平有限各位看官见谅: 在以往的项目中,前后端常见的配合方式是前端提供页面和ui加一点DuangD ...

  8. 跨域访问-需要设置HTTP响应标头设置

    跨域访问-需要设置HTTP响应标头设置 前提:服务端网站的配置(被请求的网站) 1.需要在IIS服务器站点的功能视图中设置HTTP响应标头: 2.双击“HTTP响应标头”进入设置界面 3.点击右侧添加 ...

  9. 此项目的默认Web访问模式设置为文件共享, 但是无法从路径(此为转贴)

    故障现象: 当你打开ASP.NET Web项目时,如果出现这样的错误提示:提示窗口标题: Web访问失败提示内容: 此项目的默认Web访问模式设置为文件共享, 但是无法从路径“...”打开“...”处 ...

随机推荐

  1. spring Boot 学习(三、Spring Boot与检索)

    一.检索我们的应用经常需要添加检索功能,开源的 ElasticSearch 是目前全文搜索引擎的 首选.他可以快速的存储.搜索和分析海量数据.Spring Boot通过整合Spring Data El ...

  2. .net Dapper 学习系列(2) ---Dapper进阶

    目录 写在前面 前期准备 Dapper 单表批量添加 在Dapper 多表查询 在Dapper 调用存储过程 在Dapper 使用QueryMultiple进行多表查询 在Dapper 使用事务进行多 ...

  3. Go内存分配器可视化指南【译】【精】

    当我第一次开始尝试理解 Go 语言的内存分配器时,整个过程让我抓狂.一切看起来都像一个神秘的黑盒子.因为几乎所有技术魔法(technical wizardry)都隐藏在抽象之下,所以你需要一层一层的剥 ...

  4. json.dumps()包装中文字符串

    开发环境 系统: ubuntu18.04 系统编码: $LANG = en_US.UTF-8 python解释器版本: Python 3.6.7 乱码现场 使用 json.dumps() 将 dict ...

  5. Laravel入门及实践,快速上手ThinkSNS+二次开发

    温馨提示: l 本文纯干货,文字和代码居多,且适合零基础Laravel学习者: l 本文会新建一个名为 blog 的 Laravel 程序,这是一个非常简单的博客. l  欢迎随时关注ThinkSNS ...

  6. JS基础理论相关知识

    1.XHTML和HTML有什么区别 HTML是一种基本的WEB网页设计语言,XHTML是一个基于XML的置标语言最主要的不同:XHTML 元素必须被正确地嵌套.XHTML 元素必须被关闭.标签名必须用 ...

  7. centos7 docker安装nginx

    1.查询nginx最新镜像 docker search nginx 2.下载镜像 docker pull nginx 3.创建目录 mkdir -p /software/nginx/html mkdi ...

  8. C/C++调试:gdbserver的简单使用

    1.角色:host和target host是运行gdb的机器 target是运行gdbserver的机器 gdbserver提供一个网络服务,gdb remote到gdbserver上后进行调试 2. ...

  9. MySQL存储过程01

    过程:封装了若干条语句,调用时,这些封装体执行 函数:是一个由返回值的’过程‘ 过程是没有返回值的函数 我们把若干条sql封装起来,起个名字---过程 把此过程存储在数据库中------存储过程 存储 ...

  10. vue 使用moment

    1.下载 cnpm i moment --save 2.main.js  挂载 import moment from 'moment'//导入文件 Vue.prototype.$moment = mo ...