1.安装

apt-get install pure-ftpd

2.建立ftp目录

/var/ftp/public

3.建立ftp用户组

groupadd ftpgroup

4.建立ftp非系统用户

useradd ftpuser -d /var/ftp/public -G ftpgroup -s /bin/false

5.创建pur-ftpd登录用户

pure-pw useradd ftp1 -u ftpuser -g ftpgroup -d /var/ftp/public

6.更新pur-ftpd用户信息

pure-pw mkdb

7.在/etc/pure-ftpd/auth下,创建一个软链接

ln -s /etc/pure-ftpd/conf/PureDB 60puredb

8.重新启动pure-ftpd

1
sudo /etc/init.d/pure-ftpd restart

9.附加pure-ftpd配置文件信息(在/etc/pure-ftpd/conf 添加)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
ChrootEveryone              yes         # 启用chroot
 BrokenClientsCompatibility  yes         # 兼容不同客户端
 Daemonize                   yes         # 后台运行
 MaxClientsPerIP             20          # 每个ip最大连接数
 VerboseLog                  yes         # 记录日志
 DisplayDotFiles             no          # 显示隐藏文件
 AnonymousOnly               no          # 只允许匿名用户访问
 NoAnonymous                 yes         # 不允许匿名用户连接
 SyslogFacility              none        # 不将日志在syslog日志中显示
 DontResolve                 yes         # 不进行客户端DNS解析
 MaxIdleTime                 15          # 最大空闲时间
 LimitRecursion              2000 8      # 浏览限制,文件2000,目录8
 AnonymousCanCreateDirs      no          # 匿名用户可以创建目录
 MaxLoad                     4           # 超出负载后禁止下载
 PassivePortRange          45000 50000   # 被动模式端口范围
 #AnonymousRatio                1 10     # 匿名用户上传/下载比率
 UserRatio                 1 10          # 所有用户上传/下载比率
 AntiWarez                   yes         # 禁止下载匿名用户上传但未经验证的文件
 #AnonymousBandwidth            200      # 匿名用户带宽限制(KB)
 UserBandwidth               8           # 所有用户最大带宽(KB)
 Umask                       133:022     # 创建文件/目录默认掩码
 MinUID                      100         # 验证登录用户的最小UID
 AllowUserFXP                no          # 仅运行用户进行FXP传输
 AllowAnonymousFXP           no          # 对匿名用户和非匿名用户允许进行匿名 FXP 传输
 ProhibitDotFilesWrite       no          # 不能删除/写入隐藏文件
 ProhibitDotFilesRead        no          # 禁止读取隐藏文件
 AutoRename                  yes         # 有同名文件时自动重新命名
 AnonymousCantUpload         yes         # 不允许匿名用户上传文件
 AltLog                     clf:/var/log/pureftpd.log                # clf格式日志文件位置
 PureDB                     /usr/local/pure-ftpd/etc/pureftpd.pdb        # 用户数据库文件
 MaxDiskUsage               99           # 当磁盘使用量打到99%时禁止上传
 CreateHomeDir              yes          # 如果虚拟用户的目录不存在则自动创建#需要ftp根目录权限为755 chmod 775 /data/ftpdata/
 CustomerProof              yes          # 防止命令误操作

 

pur-ftpd在ubuntu上的安装的更多相关文章

  1. Ubuntu上如何安装Java,Eclipse,Pydev,Python(自带,不用装),BeautifulSoup

    如何安装Java,如果出于编程的需要安装Java,需要安装的是JDK,而不仅仅是JRE,下面说说如何在Ubuntu下如何安装JDK:只有两步,1.下载并解压,2.配置环境变量1.下载并解压:下载地址: ...

  2. 手把手教你在Ubuntu上分别安装Nginx、PHP和Mysql

    手把手教你在Ubuntu上分别安装Nginx.PHP和Mysql

  3. FFMpeg在Ubuntu上的安装和使用

    在Ubuntu Server上编译FFmpeg FFmpeg是最流行的开源视频转码工具包,在Ubuntu上可以直接通过apt-get安装,但是默认的编码器不提供x264这些non-free的编码器,所 ...

  4. ubuntu 上已经安装libxml2还提示需要reinstall的解决方法

    最近在ubuntu上配置环境,遇到一些奇怪的问题,已经安装了libxml2了,运行 apt-get install libxml2提示已经是最新版本了,可以在安装软件的时候还是提示没有libxml2, ...

  5. ubuntu上的安装.netcore2.1

    .net core 在ubuntu上安装比较容易,依次执行正面语句即可 sudo apt-get install curl curl https://packages.microsoft.com/ke ...

  6. Ubuntu 上如何安装Docker

    Docker 是一个开源项目,为开发者和系统管理员提供了一个开放的平台,在任何地方通过打包和运行应用程序作为一个轻量级的容器.Docker 在软件容器内自动部署应用程序.Docker 最开始由 Sol ...

  7. Linux Ubuntu上手动安装.NET Core SDK

    今天重装了一台Linux服务器的Ubuntu 14.04系统,需要重新安装.NET Core 1.0. 按照官网上的文档用apt-get命令进行安装: sudo sh -c 'echo "d ...

  8. nginx在centos & ubuntu上的安装

    安装Centos 添加当前账号加入sudoers,具备sudo功能 安装编辑器vim Yum install vim Su root Cd cp /etc/sudoers /etc/sudoers[d ...

  9. Ubuntu上Eclipse安装PyDev方法和配置

    Ubuntu11.10中Eclipse安装PyDev插件方法 PyDev是Eclipse中用来开发python的一个插件,个人比较喜欢,下面介绍在Ubuntu下安装这个插件的方法.(在Windows下 ...

  10. MySQL5.7在Ubuntu上的安装、配置与使用

    前言 服务器上安装东西一直是很让我头疼的事情,缘由:Linux基础不好.. 安装MySQL踩了很多坑,绕了很多弯路,这次踩得是tar包安装的坑... 当然,与tar包无关... 环境: Ubuntu ...

随机推荐

  1. 3.编写BinIoDemo.java的Java应用程序,程序完成的功能是:完成1.doc文件的复制,复制以后的文件的名称为自己的学号姓名.doc。

    package zuoye; import java.io.FileInputStream; import java.io.FileOutputStream; public class BinIoDe ...

  2. JIRA搭建

    请参考下面的文章 http://www.linuxidc.com/Linux/2014-09/106995.htm 所需下载的文件 链接: http://pan.baidu.com/s/1c0wad3 ...

  3. php获取当前域名

    当前url:http://localhost:805/test/helloworld.php echo 'SERVER_NAME:'.$_SERVER['SERVER_NAME']; //获取当前域名 ...

  4. wpf之ListBox中ListBoxItem横向排列

    ListBox中ListBoxItem默认是纵向排列,可以通过自定义样式,让其横向排列, 如下Demo: XAML: <Window x:Class="ListBoxItemStyle ...

  5. 与导航栏下控件的frame相关的edgesForExtendedLayout、translucent、extendedLayoutIncludesOpaqueBars、automaticallyAdjustsScrollViewInsets等几个属性的详解

    在引入了导航控制器UINavigationController和分栏控制器UITabBarController之后,我们在设置控件的frame的时候就需要注意避开导航栏UINavigationBar ...

  6. for计算100以内的偶数和

    #include "stdio.h" void main() { ,sum=; ;d++) { ==) { sum=sum+d; } }printf("100以内所有偶数 ...

  7. android 进程(复习)

        前台进程 前台进程是用户当前正在使用的进程.只有一些前台进程可以在任何时候都存在.他们是最后一个被结束的,当内存低到根本连他们都不能运行的时候.一般来说, 在这种情况下,设备会进行内存调度,中 ...

  8. CentOS挂载硬盘

    1.查看当前硬盘使用状况: [root@gluster_node1 ~]# df -h 文件系统     容量 已用 可用 已用%% 挂载点 /dev/sda3 14G 2.4G 11G 19% / ...

  9. [Lua]Lua高级教程Metatables

    什么是Metatable metatable是Lua中的重要概念,每一个table都可以加上metatable,以改变相应的table的行为. Metatables举例 -- 声明一个正常的关系变量 ...

  10. 在JavaScript中创建命名空间的几种写法

    在JavaScript中全局变量经常会引起命名冲突,甚至有时侯重写变量也不是按照你想像中的顺序来的,可以看看下面的例子: var sayHello = function() { return 'Hel ...