然后新建两个用户:ftp和ftpadmin,home目录都是/home/ftp
下面是proftpd的配置文件,比较全面的配置
# cat /usr/local/etc/proftpd.conf
-------------------------------------------------------------------------
ServerName "babydragon's FTP" #服务器的名字
ServerType standalone #proftpd运行的方式,有standalone和inetd
DeferWelcome off #只有在认证用户之后才显示欢迎信息
Port 21 #ftp连接端口
Umask 002 #新文件的权限掩码
TimeoutLogin 120 #登陆时允许idle的时间
TimeoutIdle 600 #登陆后允许idle的时间
TimeoutNoTransfer 900 #没有数据传输时允许idle的时间
AllowStoreRestart on #允许断点续上传
AllowRetrieveRestart on #允许断点续下载
PassivePorts 50000 65534 #指定数据端口的范围
User nobody #以nobody,nogroup的身份运行程序
Group nogroup
RequireValidShell no #用户是否拥有shell,关闭安全
MaxClientsPerHost 2 #每个ip只能有两个连接
MaxClientsPerUser 1 #每个帐号只能有一个连接
DefaultRoot ~ #ftp的根目录,~限制用户只能访问自己的目录
UseReverseDNS off #关闭DNS反向查询,节省连接时间
TransferLog /var/spool/syslog/proftpd/xferlog.legacy #数据传输记录
LogFormat auth "%v %P %h %t "%r/" %s"
LogFormat write "%h %l %u %t "%r/" %s %b"
# 定义了几种日志格式,可以根据自己的需要定制:
# %a:客户ip
# %A:匿名用户名(就是匿名用户的password)
# %b:发送请求的字节数
# %d:目录名(相对路径)
# %D:目录名(绝对路径)
# %f:上传或下载的文件名(绝对路径)
# %F:上传或下载的文件名(相对路径)
# %h:客户的域名
# %L:本服务器ip
# %m:客户发送的命令
# %p:本服务器的端口
# %P:服务进程的id
# %r:客户发送的整条命令
# %t:本地时间
# %T:传送文件所用的时间(秒)
# %u:客户登陆的用户名
#设置一些全局参数
DisplayLogin welcome.msg
#显示~/welcome.msg中的欢迎信息,可以编辑welcome.msg自己制定欢迎信息
# %T 当前的时间
# %F 所在硬盘剩下的空间
# %C 当前所在的目录
# %R:客户的主机名
# %U:客户登陆的帐号
# %M:允许最大连接数
# %N:当前的连接人数
# %E:FTP服务器管理员的email
# %i:本次上传的文件数量
# %o:本次下载的文件数量
AllowOverwrite yes #允许文件可以重新写
IdentLookups off #查找客户的远程用户名,关掉节省连接时间
ExtendedLog /var/spool/syslog/proftpd/access.log WRITE,READ write
#以write的日志格式记录READ,WRITE的日志
ExtendedLog /var/spool/syslog/proftpd/auth.log AUTH auth
#以auth的日志格式记录AUTH的日志
User ftp
Group ftp
UserAlias anonymous ftp #匿名用户以ftp用户登陆
RequireValidShell no #用户有没shell也可以使用FTP(安全)
MaxClients 20 #最大客户数
MaxInstances 30 #连接的间隔时间
MaxLoginAttempts 10 #连接的最大次数
Order deny,allow
Deny from 172.16.0.0/11 #禁止172.16.0.0/11网段访问
Allow from all
AllowAll #所有人在pub目录有读权限
AllowUser ftpadmin #ftpadmin用户拥有写权限
DenyAll #其他用户无写权限
RateReadBPS 1024000 #下载最高速1M/s
RateReadFreeBytes 10240000 #下载总速度不超过10M/s
AllowAll #所有人都可以在incoming目录上传文件,新建目录
AllowUser ftpadmin #允许ftpadmin用户写
DenyAll #其他用户无写权限
RateWriteBPS 1024000 #上传最高速1M/s
RateWriteFreeBytes 10240000 #上传总速度不超过10M/s
#容器内有以下权限:
# CWD:改变所在目录
# MKD/XMKD:新建目录
# RNFR/RNTO:重命名目录的(一起使用)
# DELE:删除文件
# RMD/XRMD:删除目录
# RETR:下载
# STOR:上传
# LOGIN:登陆
# READ:包括了RETR,SITE,SIZE,STAT
# WRITE:包括了APPE, DELE, MKD, RMD, RNTO, STOR, XMKD, XRMD
# DIRS:包括了DUP, CWD, LIST, MDTM, NLST, PWD, RNFR, XCUP, XCWD, XPWD
# ALL:包括了READ WRITE DIRS
#以上权限结合动作一起使用:
# AllowUser:允许某个用户
# DenyUser:禁止某个用户
# AllowGroup:允许某个用户组
# DenyGroup:禁止某个用户组
# AllowAll:允许所有用户
# DenyAll:禁止所有用户