Merge pull request #224 from heaven73/master

Pure-FTPd template for FreeBSD
This commit is contained in:
Michael Kaufmann
2015-01-26 22:15:35 +01:00
3 changed files with 118 additions and 0 deletions

View File

@@ -331,6 +331,31 @@ return array(
'restart' => array(
'/usr/local/etc/rc.d/proftpd restart'
)
),
'pure-ftpd' => array (
'label' => 'Pure-FTPd',
'commands_1' => array (
'cd /usr/ports/ftp/pure-ftpd',
'make config',
'# select LARGEFILE,MYSQL,PAM,PRIVSEP,SENDFILE,THROTTLING,TLS,UTF8,VIRTUALCHROOT',
'make install clean'
),
'commands_2' => array(
'touch /usr/local/etc/pure-ftpd.conf',
'touch /usr/local/etc/pureftpd-mysql.conf',
'chown root:0 /usr/local/etc/pure-ftpd.conf',
'chown root:0 /usr/local/etc/pureftpd-mysql.conf',
'chmod 0600 /usr/local/etc/pure-ftpd.conf',
'chmod 0600 /usr/local/etc/pureftpd-mysql.conf',
'echo "pure-ftpd_enable="YES" >> /etc/rc.conf'
),
'files' => array(
'usr_local_etc_pure-ftpd.conf' => '/usr/local/etc/pure-ftpd.conf',
'usr_local_etc_pureftpd-mysql.conf' => '/usr/local/etc/pureftpd-mysql.conf'
),
'restart' => array(
'service pure-ftpd restart'
)
)
)
),

View File

@@ -0,0 +1,63 @@
############################################################
# Configuration file for pure-ftpd wrappers #
############################################################
BrokenClientsCompatibility no
MaxClientsNumber 30
Daemonize yes
MaxClientsPerIP 8
VerboseLog no
DisplayDotFiles yes
AnonymousOnly no
NoAnonymous yes
SyslogFacility ftp
DontResolve yes
MaxIdleTime 10
MySQLConfigFile /usr/local/etc/pureftpd-mysql.conf
UnixAuthentication yes
LimitRecursion 10000 8
AnonymousCanCreateDirs no
MaxLoad 4
# Port range for passive connections replies. - for firewalling.
# PassivePortRange 30000 50000
# Force an IP address in PASV/EPSV/SPSV replies. - for NAT.
# Symbolic host names are also accepted for gateways with dynamic IP addresses.
# ForcePassiveIP 192.168.0.1
AntiWarez yes
# IP address/port to listen to (default=all IP and port 21).
# Bind 127.0.0.1,21
# Maximum bandwidth for *all* users (including anonymous) in KB/s
# Use AnonymousBandwidth *or* UserBandwidth, both makes no sense.
UserBandwidth 512
# File creation mask. <umask for files>:<umask for dirs> - 177:077 if you feel paranoid.
Umask 133:022
# Minimum UID for an authenticated user to log in.
MinUID 100
# Allow FXP transfers for authenticated users.
AllowUserFXP no
# Allow anonymous FXP for anonymous and non-anonymous users.
AllowAnonymousFXP no
ProhibitDotFilesWrite no
ProhibitDotFilesRead no
AutoRename no
AnonymousCantUpload yes
# Disallow the CHMOD command. Users can't change perms of their files.
#NoChmod yes
# Allow users to resume and upload files, but *NOT* to delete them.
#KeepAllFiles yes
MaxDiskUsage 90
CustomerProof yes
# This option can accept three values :
# 0 : disable SSL/TLS encryption layer (default).
# 1 : accept both traditional and encrypted sessions.
# 2 : refuse connections that don't use SSL/TLS security mechanisms,
# including anonymous sessions.
# Do _not_ uncomment this blindly. Be sure that :
# 1) Your server has been compiled with SSL/TLS support (--with-tls),
# 2) A valid certificate is in place,
# 3) Only compatible clients will log in.
# TLS 1
# List of ciphers that will be accepted for SSL/TLS connections
# Prefix with -S: in order to totally disable SSL but not TLS.
# TLSCipherSuite HIGH:MEDIUM:+TLSv1:!SSLv2:+SSLv3
# IPV4Only yes
# IPV6Only yes

View File

@@ -0,0 +1,30 @@
##############################################
# Pure-FTPd Mysql configuration file. #
# for use with Froxlor Panel #
##############################################
# Optional : MySQL server name or IP. Don't define this for unix sockets.
# MYSQLServer <SQL_HOST>
# Optional : MySQL port. Don't define this if a local unix socket is used.
# MYSQLPort 3306
# Optional : define the location of mysql.sock if the server runs on this host.
MYSQLSocket /tmp/mysql.sock
MYSQLUser <SQL_UNPRIVILEGED_USER>
MYSQLPassword <SQL_UNPRIVILEGED_PASSWORD>
MYSQLDatabase <SQL_DB>
MYSQLCrypt crypt
# \L is replaced by the login of the user trying to authenticate.
# \I IP address connect to # \P port number the user connected to.
# \R is replaced by the IP address the user connected from. # \D is replaced by the remote IP address, as a long decimal number.
MYSQLGetPW SELECT password FROM ftp_users WHERE username='\L' AND login_enabled="y"
MYSQLGetUID SELECT uid FROM ftp_users WHERE username='\L' AND login_enabled="y"
MYSQLGetGID SELECT gid FROM ftp_users WHERE username='\L' AND login_enabled="y"
MYSQLGetDir SELECT homedir FROM ftp_users WHERE username='\L' AND login_enabled="y"
#MySQLGetQTAFS SELECT QuotaFiles FROM ftp_users WHERE User='\L'
MySQLGetQTASZ SELECT panel_customers.diskspace/1024 AS QuotaSize FROM panel_customers, ftp_users WHERE username='\L' AND panel_customers.loginname = SUBSTRING_INDEX('\L','ftp', 1)
# Optional : ratios. The server has to be compiled with ratio support.
# MySQLGetRatioUL SELECT ULRatio FROM users WHERE User='\L'
# MySQLGetRatioDL SELECT DLRatio FROM users WHERE User='\L'
# Optional : bandwidth throttling. The server has to be compiled with throttling support. Values are in KB/s .
# MySQLGetBandwidthUL SELECT ULBandwidth FROM users WHERE User='\L'
# MySQLGetBandwidthDL SELECT DLBandwidth FROM users WHERE User='\L'