Raspbian版本:

安装:

因为使用的是默认的pi用户,所以下面的命令都带着sudo。

  1. 安装Pure-FTP
sudo apt-get install pure-ftpd

  2. 创建用户组ftpgroup,创建用户ftpuser,并指定组为ftpgroup,不能登录,没有家目录

sudo groupadd ftpgroup
sudo useradd ftpuser -g ftpgroup -s /sbin/nologin -d /dev/null

3. 为用户ftpuser创建一个FTP的文件夹,并让其能够访问(修改文件夹的属主为ftpuser,属组为ftpgroup)

sudo mkdir /home/pi/FTP
sudo chown -R ftpuser:ftpgroup /home/pi/FTP

4. 创建一个虚拟用户upload,并映射到ftpuser用户、ftpgroup组,家目录设置为/home/pi/FTP

sudo pure-pw useradd upload -u ftpuser -g ftpgroup -d /home/pi/FTP -m

该行命令执行之后会要求输入密码(两次)。-m 选项作用是将用户密码加入PDB数据库(/etc/pure-ftpd/pureftpd.pdb)中,不需要重启FTP。

多个虚拟账户能够映射到同一系统用户。

5. 为虚拟用户创建数据库

sudo pure-pw mkdb

该行命令会读取/etc/pure-ftpd/pureftpd.passwd,并生成/etc/pure-ftpd/pureftpd.pdb文件。在第四步中添加-m选项之后,这步可以省略。

   6. 重启Pure-FTP

sudo service pure-ftpd restart

如果要修改账号的一些信息,例如修改家目录,可以执行命令:

sudo pure-pw usermod upload -d /data/web -m

同样,不需要重启。

需要注意的就是,虚拟账户要访问的目录一定需要其映射的系统账户也能够访问。

注:

我们登录FTP有三种方式,匿名登录、本地用户登录和虚拟用户登录。

匿名登录:在登录FTP时使用默认的用户名,一般是ftp或anonymous。

本地用户登录:使用系统用户登录,在/etc/passwd中。

虚拟用户登录:这是FTP专有用户,有两种方式实现虚拟用户,本地数据文件和数据库服务器。

FTP虚拟用户是FTP服务器的专有用户,使用虚拟用户登录FTP,只能访问FTP服务器提供的资源,大大增强了系统的安全。

详情:https://github.com/xzycn/documentation/blob/master/remote-access/ftp.md

Raspberry Pi 安装FTP(Pure-FTP)的更多相关文章

  1. Raspberry Pi 安装配置 Home Assistant

    家庭助理(Home Assistant)是一款基于 Python 的智能家居开源系统,支持众多品牌的智能家居设备,可以轻松实现设备的语音控制.跟踪和控制家里的所有设备, 并自动化控制,能完美的运行在树 ...

  2. 树莓派Raspberry pi安装系统/烧录系统

    一:下载系统文件 1.树莓派官网系统下载链接:https://www.raspberrypi.org/downloads/raspbian/ (也可在百度云盘下载:https://pan.baidu. ...

  3. Raspberry Pi 中安装Mono

    摘自:http://www.phodal.com/blog/user-csharp-develop-raspberry-pi-application/ Raspberry Pi C# Mono Lin ...

  4. raspberry pi恢复jessie镜像之后

    1.更新源 nano /etc/apt/source.list deb http://mirrordirector.raspbian.org/raspbian/ jessie main contrib ...

  5. 人脸辨识,用树莓派Raspberry Pi实现舵机云台追踪脸孔

    影像辨识作为近年最热门的专业技术之一,广泛用于智慧监视器.车电监控.智慧工厂.生物医疗电子等等:其中,人脸辨识是一个很重要的部分,网络上已经有相当多的资源可供下载使用:于是我们使用舵机云台作为镜头旋转 ...

  6. 用 Raspberry Pi 架设加密 DNS 客户端

    Cloudflare 宣布使用 1.1.1.1 作为 DNS,并且强调隐私保护.由于 Cloudflare DNS 支持 DNS-over-TLS 和 DNS-over-HTTPS,这使得加密 DNS ...

  7. Raspberry Pi 4B FTP服务器配置

    目录 1. 安装vsftpd并启动 2. 编辑配置文件 3. 重启服务 4. 测试 5. 为Web服务器添加管理员账户,便于通过ftp网站信息 参考资料:树莓派(raspberry pi)学习之安装f ...

  8. 【Raspberry pi】set up an ftp server

    http://www.debian-administration.org/articles/228 As a means of distributing large collections of fi ...

  9. Raspberry Pi 3 Model B 安装 OSMC

    Raspberry Pi 3 Model B 自身搭载 WIFI 芯片,可直接连接无线网络. 准备 NOOBS 你可以购买预装有 NOOBS 的 SD 卡,或者从树莓派官网 下载 NOOBS.zip ...

随机推荐

  1. C#中json字符串的序列化和反序列化

    改文章转自:https://www.cnblogs.com/shang201215019/p/7907655.html 什么是 Json ?        Json[javascript对象表示方法] ...

  2. java裁剪图片

    java裁剪图片保存到指定位置 /** * 图片裁剪通用接口 * * @param src 源图片地址,图片格式PNG * @param dest 目的图片地址 * @param x 图片起始点x坐标 ...

  3. UVA-10410 Tree Reconstruction (树重建)

    题目大意:给出对一棵树的BFS遍历序列和DFS遍历序列,求出每一个节点的子节点. 题目分析:在BFS的序列中,子节点的下标一定比父节点的下标至少大1(根节点与第一个子节点除外),即pos[fa]+1& ...

  4. gcd 与 扩gcd 总结

    gcd 定理的证明: 模板: ll gcd(ll a,ll b) { ) return a; else return gcd(b,a%b); } 扩gcd证明: 模板: ll extgcd(ll a, ...

  5. (C#基础)深浅拷贝理解

    一方面感觉实在无趣,不知道做什么了,纯粹来个打字练习,于是有了这个. 二方面深感自己C#基础之薄弱,于是对着园友的文章一边看,一边练习,因为很多次看了,没有多久就忘了,还有练习过程中会出现一些问题,这 ...

  6. Python+Flask+MysqL的web建设技术过程

    一.前言(个人学期总结) 个人总结一下这学期对于Python+Flask+MysqL的web建设技术过程的学习体会,Flask小辣椒框架相对于其他框架而言,更加稳定,不会有莫名其妙的错误,容错性强,运 ...

  7. android 知识小结-1

    Java哪些数据结构是线程安全的,CurrentHashMap的原理 ConcurrentHashMap.ConcurrentSkipListMap.ConcurrentSkipListSet.Con ...

  8. WIN8.1 PRO RTM VOL.2013.09.18

    文件名:cn_windows_8_1_pro_vl_x64_dvd_2791218.isoSHA1:61C002551763E22B64EB1BACEFFE83620114C3D6 文件名:cn_wi ...

  9. AI人工智能专业词汇集

    作为最早关注人工智能技术的媒体,机器之心在编译国外技术博客.论文.专家观点等内容上已经积累了超过两年多的经验.期间,从无到有,机器之心的编译团队一直在积累专业词汇.虽然有很多的文章因为专业性我们没能尽 ...

  10. Centos 中扩展 软件源 的安装 之 Remi ( 为yum 扩展软件源 )

    平时一般都是使用Ubuntu的,最近用起来Centos 发现软件安装方便不是很方便,   在安装过程中接触到了这么一个概念,  就是为yum 安装 扩展源,  这里下面要说的就是其中的  Remi  ...