Ubuntu Pure-Ftpd安装配置

安装

sudo apt-get install pure-ftpd-mysql mysql-server

添加用户组 和 用户

sudo groupadd –g 2001 ftpgroup
sudo useradd –u 2001 –s /bin/false –d /dev/null –c “Pure-FTPd User” –g ftpgroup ftpuser

Chroot设置

可以在配置目录/etc/pure-ftpd/conf/下面创建一个名为ChrootEveryone的文件,并将内容设置为yes。这样设置后,每个FTP用户自己的HOME目录就成了它的root目录。

下面的设置告诉Pure-FTPd不要为用户自动创建HOME目录。

sudo sh -c "echo 'NO' > /etc/pure-ftpd/conf/CreateHomeDir"

为Pure-FTPd创建MySQL数据库

create database ftpusers;
use ftpusers;
create table if not exists users(
User varchar(16) not null default '',
Password varchar(32) not null default '',
Uid int(11) not null, Gid int(11) not null,
Dir varchar(128) not null default '',
QuotaFiles int(10) not null default '500',
QuotaSize int(10) not null default '30',
ULBandwidth int(10) not null default '80',
DLBandwidth int(10) not null default '80',
Ipaddress varchar(15) not null default '*',
Comment tinytext, Status enum('0','1') not null default '1',
ULRatio smallint(5) not null default '1',
DLRatio smallint(5) not null default '1',
PRIMARY KEY(User),
UNIQUE KEY User(User)
) ENGINE=MyISAM;

各字段含义

User             FTP用户名

Password         该用户的密码

Uid             该用户属性Unix系统UserID

Gid            该用户属性Unix系统GroupID

Dir                 该用户的FTP目录

QuotaFiles         文件数量限额(0为不做限制)

QuotaSize         磁盘限额,单位为MB(0为不作限制)

ULBandwidth             上传数量限制,单位为KB/s(0为不限制)

DLBandwidth             下载速率限制,单位为KB/s(0为不限制)

Ipaddress         IP地址限制(*为不限制)

Comment            备注

Status             锁定/解锁状态

ULRatio         上传/下载比例中的上传比

DLRatio            上传/下载比例中的下传比

数据库配置

/etc/pure-ftpd/db/mysql.conf

MYSQLServer             127.0.0.1
MYSQLSocket             /var/run/mysqld/mysqld.sock
MYSQLUser           root
MYSQLPassword           root
MYSQLDatabase           ftpusers
MYSQLCrypt          md5
MYSQLGetPW          SELECT Password FROM users WHERE User="L" AND Status="1" AND (Ipaddress="
" OR Ipaddress LIKE "R")
MYSQLGetUID         SELECT Uid FROM users WHERE User="L" AND Status="1" AND (Ipaddress="
" OR Ipaddress LIKE "R")
MYSQLGetGID         SELECT Uid FROM users WHERE User="L" AND Status="1" AND (Ipaddress="
" OR Ipaddress LIKE "R")
MYSQLGetDir         SELECT Dir FROM users WHERE User="L" AND Status="1" AND (Ipaddress="
" OR Ipaddress LIKE "R")
MySQLGetQTAFS           SELECT QuotaFiles FROM users WHERE User="L" AND Status="1" AND (Ipaddress="
" OR Ipaddress LIKE "R")
MySQLGetQTASZ           SELECT QuotaSize FROM users WHERE User="L" AND Status="1" AND (Ipaddress="
" OR Ipaddress LIKE "R")
MySQLGetRatioUL     SELECT ULRatio FROM users WHERE User="L" AND Status="1" AND (Ipaddress="
" OR Ipaddress LIKE "R")
MySQLGetRatioDL     SELECT DLRatio FROM users WHERE User="L" AND Status="1" AND (Ipaddress="
" OR Ipaddress LIKE "R")
MySQLGetBandwidthUL SELECT ULBandwidth FROM users WHERE User="L" AND Status="1" AND (Ipaddress="
" OR Ipaddress LIKE "R")
MySQLGetBandwidthDL SELECT DLBandwidth FROM users WHERE User="L" AND Status="1" AND (Ipaddress="
" OR Ipaddress LIKE "R")

重启Pure-FTPd

/etc/init.d/pure-ftpd-mysql restart

实现用户的Web管理

USE ftpusers;
CREATE TABLE IF NOT EXISTS admin (
 Username varchar(35) NOT NULL,
 Password varchar(32) NOT NULL,
 PRIMARY KEY (Username)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

然后添加管理员账户  

INSERT INTO admin (Username, Password) VALUES('ftpadmin',MD5(‘123456’));

wget http://machiel.generaal.net/files/pureftpd/ftp_v2.1.tar.gz

解压到可以访问的地方访问 install.php

按照错做进行

Pure-FTPd配置选项

Pure-FTPd通过pure-ftpd-wrapper程序从/etc/pure-ftpd/conf/目录下读取各种控制选项的配置。 这些控制选项均为Pure-FTPd的命令选项,根据赋值内容,分为如下几类:逻辑型 数值型 字符串型 IP地址型 文件型
逻辑型
启用时可以是Yes 1 On,禁用时则可以用No 0 Off来表示:
AllowAnonymousFXP        是否允许匿名FXP
AllowUserFXP            是否允许通过认证的用户使用FXP
AllowDotFiles            是否允许以点开头的文件
AnonymousCantUpload        是否允许匿名用户上传文件
AnonymousCanCreateDirs            是否允许匿名用户创建目录
AnonymousOnly            禁止用户登录
AntiWarez            禁止下载“ftp”所拥有的文件
AutoRename            自动改名(可以防止文件被覆盖)
BrokenClientsCompatibility    提供客户端兼容性
CallUploadScript        是否运行上传处理脚本
ChrootEveryone            是否将用户限制在其HOME目录内
CreateHomeDir            是否自动创建HOME目录
CustomerProof            是否启用客户校验
Daemonize            是否在后台运行
DisplayDotFiles            是否显示以点开头的文件
DontResolve            是否禁止在log文件中进行域名解析
IPV4Only
IPV6Only
KeepAllFiles
LogPID                是否将程序运行的PID写在日志文件中
NATmode
NoAnonymous            是否允许匿名访问
NoChmod                是否禁止chmod命令
NoRename            是否禁止修改文件名
PAMAuthentication        是否使用PAM认证
ProhibitDotFilesRead        是否禁止读取点开头的文件
ProhibitDotFilesWrite        是否禁止写点开头的文件
UnixAuthentication        是否启用Unix认证
VerboseLog            是否向log中记录所有客户端命令
数值型配置
单个数值
MaxClientsNumber         最大并发在线用户数
MaxClientsPerIP            每个IP的最大并发连接数
MaxDiskUsage            最大磁盘使用率
MaxIdleTime            最大空闲时间(超时将自动断开)
MaxLoad                最大负载
MinUID                允许登录的最小用户ID
TLS                SSL/TLS加密设置
TrustedGID            可信任的GID
两个数值
AnonymousRatio            匿名用户的上传下载比例(1 2表示上传1M可下载2M)
UserRatio            认证用户的上传/下载比例
LimitRecursion            内置ls命令的递归限制(2000 8表示最多列2000个文件,最深为8层)
PassivePortRange        被动模式的端口范围
PerUserLimits            每个用户的最大线程数
Quota                文件数限额和磁盘限额
一个或两个数值
AnonymousBandwidth        匿名用户的下载带宽限制(若为10000:10表示上传为10000KB/s,下载限制为10KB/s)
UserBandwidth            认证用户的下载带宽限制
八进制数
Umask                新建文件和目录的权限掩码
字符串型配置选项
任意格式的字符串
AltLog:定义额外的log文件。可提供3种格式的日志:
AltLog clf:/var/log/pureftpd.log
AltLog stats:/var/log/pureftpd.log
AltLog w3c:/var/log/pureftpd.log
Bind: FTP服务所绑定的网络端口(默认所有网卡的21端口)
ForcePassiveIP:指定一个IP地址来应答PASV/EPSV/SPSV(用于NAT)
单字
SyslogFacility:写入Syslog的类别,即auth authpriv daemon ftp security user local , 默认为ftp。设置为none,则禁止该日志。
IP地址型配置选项
TrustedIP:指定一个IP地址,只有该IP地址可以允许认证用户访问。
文件型配置选项  
文件型
FortunesFile        定义一个文件,该文件包含用户登录后显示的信息
LDAPConfigFile        LDAP配置文件
MySQLConfigFile        MySQL配置文件
PGSQLConfigFile        PGSQL配置文件
PureDB            PureDB用户数据库  
Socket型*
ExtAuth            Pure-FTPd之pure-authd程序的socket文件


要想实现匿名访问,必须在操作系统中创建一个名为ftp的用户,并将其加入ftp组。
如果希望使用系统内置用户登录只需要执行  

sudo sh “echo ‘yes’” > /etc/pure-ftpd/conf/UnixAuthentication

如果希望所有用户都使用chroot  

sudo sh “echo ‘yes’” > /etc/pure-ftpd/conf/ChrootEveryone


转载于:https://my.oschina.net/jonetwelve/blog/617178

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值