MYSQL рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рднрдВрдбрд╛рд░рдг рдХреЗ рд╕рд╛рде рд╢реБрджреНрдз-рдПрдлрд╝рдЯреАрдкреА

рдЫрд╡рд┐
рдкрд╣рд▓реЗ, рдЖрдкрдХреЛ рдПрдХ рдПрдлрд╝рдЯреАрдкреА рд╕рд░реНрд╡рд░ рдХреЛ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдмрд╛рд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдирд╛ рдкрдбрд╝рд╛ (рдпрд╣ рдХреБрдЫ рд╣реА рдорд┐рдирдЯреЛрдВ рдХреА рдмрд╛рдд рд╣реИ), рдФрд░ рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ рдРрддрд┐рд╣рд╛рд╕рд┐рдХ рд░реВрдк рд╕реЗ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдкреНрд░реЛрдлрд╝рдЯреАрдбреА рдмрд┐рдирд╛ рд╢рд░реНрдд рдХреЗ рдЙрдореНрдореАрджрд╡рд╛рд░ рдереЗред рдЪреВрдВрдХрд┐ рдЗрд╕ рдХреЙрдорд░реЗрдб рдХреЛ рдЗрддрдиреА рджреЗрд░ рдкрд╣рд▓реЗ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ рдереА, рдЗрд╕рд▓рд┐рдП рдЙрд╕рдиреЗ рдХреБрдЫ рдФрд░ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА, рдФрд░ рдЕрдлрд╕реЛрд╕ рдирд╣реАрдВ рдХрд┐рдпрд╛

рдореЗрд░реА рдкрд╕рдВрдж рдЕрджреНрднреБрдд рдкреНрдпреЛрд░- рдПрдлрд╝рдЯреАрдкреА рдПрдлрд╝рдЯреАрдкреА рд╕рд░реНрд╡рд░ рдкрд░ рдереАред
рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЛ рдирд┐рдореНрди рдХрд╛рд░реНрдп рдорд┐рд▓реЗрдВрдЧреЗ:



рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдиреЗ рд╡рд╛рд▓рд╛ OS FreeBSD рд╣реИ ред рдФрд░ рдЗрд╕рд▓рд┐рдП рдЪрд▓реЛ! рдпрд╣ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдиреЗ DBMS MySql рдХреЛ рд╕реНрдерд╛рдкрд┐рдд рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рд╣реИред рдмрдВрджрд░рдЧрд╛рд╣реЛрдВ рд╕реЗ рд╢реБрджреНрдз-рдПрдлрд╝рдЯреАрдкреА рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ (рдкрд╣рд▓реЗ рдЙрдиреНрд╣реЗрдВ рдЕрдкрдЧреНрд░реЗрдб рдХрд░рддреЗ рд╣реБрдП)
cd /usr/ports/ftp/pure-ftpd make install clean 

рдореИрдВрдиреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡рд┐рдХрд▓реНрдк рдЪреБрдиреЗ

рд╕реНрдерд╛рдкрдирд╛ рдХреЗ рдмрд╛рдж, рд╣рдо рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдлрд╝рд╛рдЗрд▓реЛрдВ рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдмрдирд╛рддреЗ рд╣реИрдВ
 cd /usr/local/etc/ cp pureftpd-mysql.conf.sample pureftpd-mysql.conf cp pure-ftpd.conf.sample pure-ftpd.conf 

рдореБрдЦреНрдп рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдХрд╛ рд╕рдВрдкрд╛рджрди
рд╢реБрджреНрдз ftpd.conf
# Chroot` рд╕рднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЕрдкрдиреЗ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ
рдЪреЗрд░реЛрдЯреЗрд╡рд░реАрди рд╣рд╛рдВ

# рдпрджрд┐ "рдирд╣реАрдВ" рдкрд┐рдЫрд▓реЗ рд╡рд┐рдХрд▓реНрдк рдореЗрдВ рдЪреБрдирд╛ рдЧрдпрд╛ рдерд╛, рддреЛ рдЕрдЧрд▓реЗ рд╕рджрд╕реНрдп
# рд╕рдореВрд╣ рдирд╣реАрдВ рдХрд╛рдЯреЗрдВрдЧреЗред рдмрд╛рдХреА рд╕рдм рд╣реЛрдЧрд╛ред рдЕрдЧрд░ рдЖрдк рдирд╣реАрдВ рдЪрд╛рд╣рддреЗ рд╣реИрдВ
# рд╕рднреА рдХреЛ рдЪреЗрд░реЛрдЯ рдХрд░реЗрдВ, рдмрд╕ рдЕрдкреНрд░рддрд┐рд╖реНрдард┐рдд ChrootEveryone рдФрд░ TrustedGIDред
# рдЯреНрд░рд╕реНрдЯреЗрдбрдЧрд┐рдб 100

# рдЧреНрд░рд╛рд╣рдХ рдШрдЯрддрд╛ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓рддрд╛ рд╕реБрд╡рд┐рдзрд╛рдПрдБ рд╕рдХреНрд╖рдо рдХрд░реЗрдВ
BrokenClientsCompatibility рд╕рдВ

# рд╕рдорд╡рд░реНрддреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреА рдЕрдзрд┐рдХрддрдо рд╕рдВрдЦреНрдпрд╛
MaxClientsNumber 50

# рдкреГрд╖реНрдарднреВрдорд┐ рдореЗрдВ рдХрд╛рдо (рджрд╛рдирд╡)
рдбреЗрдордиреАрдЬ рд╣рд╛рдБ

# рдПрдХ рдЖрдИрдкреА рд╕реЗ рдЕрдзрд┐рдХрддрдо рд╕рдорд╡рд░реНрддреА рдХрдиреЗрдХреНрд╢рди
MaxClientsPerIP 8

# рдЕрдЧрд░ рдЖрдк рд╕рднреА рдХреНрд▓рд╛рдЗрдВрдЯ рдХрдорд╛рдВрдб рдХреЛ рд▓реЙрдЧ рдЗрди рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣
# рдмрд┐рдВрджреБ "рд╣рд╛рдБ" рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдЕрдЧрд░ рдЖрдкрдХреЛ рднреА рд▓реЙрдЧ рдЗрди рдХрд░рдирд╛ рд╣реИ
# рд╕рд░реНрд╡рд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдПрдВ, рддреЛ рдмрд╕ рдЗрд╕ рдЖрдЗрдЯрдо рдХреА рдирдХрд▓ рдХрд░реЗрдВред
VerboseLog рд╕рдВ

# рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рд╣реЛрддреЗ рд╣реБрдП рднреА, рдХрд┐рд╕реА рдЕрд╡рдзрд┐ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рд╣реЛрдиреЗ рд╡рд╛рд▓реА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рджрд┐рдЦрд╛рдПрдВ рдпрд╛ рдирд╣реАрдВ
# рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдпрд╣ рдирд╣реАрдВ рдХрд╣рддрд╛ рд╣реИ рдХрд┐ рдРрд╕рд╛ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рд╡рд┐рдХрд▓реНрдк "-рдП" рдХреЗ рд╕рд╛рдеред
DisplayDotFiles рд╣рд╛рдБ

# рдкреНрд░рдорд╛рдгрд┐рдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЕрдиреБрдорддрд┐ рди рджреЗрдВ - рдпрд╣ рдПрдлрд╝рдЯреАрдкреА
# рдЧреБрдордирд╛рдо рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЗ рд▓рд┐рдП рд╣реАред
рдмреЗрдирд╛рдореА рдирдВ

# рдЕрдирд╛рдо рдПрдиреЛрдирд┐рдорд╕ - рдкрдВрдЬреАрдХреГрдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдПрдлрд╝рдЯреАрдкреА рдЪрд╛рд▓реВред
рдирдВ

# Syslog рдЯреВрд▓ (рд╕рд╛рдорд╛рдиреНрдп, рдСрд╕реНрдЯреНрд░рд┐рдк, рдирд┐рдЬреА, рдбреЗрдорди, рдПрдлрд╝рдЯреАрдкреА, рд╕реБрд░рдХреНрд╖рд╛, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛, рд╕реНрдерд╛рдиреАрдп *)
# рдбрд┐рдлрд╝реЙрд▓реНрдЯ - "ftp"ред "рдХреЛрдИ рдирд╣реАрдВ" - рд▓реЙрдЧрд┐рдВрдЧ рдЕрдХреНрд╖рдо рдХрд░рддрд╛ рд╣реИред
SyslogFacility ftp

# рдХреБрдЫ рдХреБрдХреАрдЬрд╝ рджрд┐рдЦрд╛рдУ? (рднрд╛рдЧреНрдп рдХреБрдХреАрдЬрд╝ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдВ)
# FortunesFile / usr / рд╢реЗрдпрд░ / рднрд╛рдЧреНрдп / рдЬрд╝рд┐рдкреНрдкреА

# рд▓реЙрдЧ рдореЗрдВ рд╣реЛрд╕реНрдЯ рдирд╛рдореЛрдВ рдХреЛ рд╣рд▓ рди рдХрд░реЗрдВред рд▓реЙрдЧ рдХрдо рдЬрд╛рдирдХрд╛рд░реАрдкреВрд░реНрдг рд╣реЛрддреЗ рдЬрд╛ рд░рд╣реЗ рд╣реИрдВ,
# рд▓реЗрдХрд┐рди рдЗрд╕рдХреЗ рд▓рд┐рдП рднреА рдХрдо рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред "рд╣рд╛рдБ" - рдпрд╣ рдПрдХ рдмрд╣реБрдд рдкрд░ рд╢рд░реНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ
# рд▓реЛрдб рд╕рд░реНрд╡рд░, рдпрд╛ рдирд┐рд╖реНрдХреНрд░рд┐рдп рдбреАрдПрдирдПрд╕ рдХреЗ рд╕рд╛рдеред
Dontresolve рд╣рд╛рдБ

# рдЕрдзрд┐рдХрддрдо рдбрд╛рдЙрдирдЯрд╛рдЗрдо (рдХрдиреЗрдХреНрд╢рди рдЯреВрдЯрдиреЗ рдХреЗ рдЕрдВрдд рдореЗрдВ), рдорд┐рдирдЯреЛрдВ рдореЗрдВ
# (рдбрд┐рдлрд╝реЙрд▓реНрдЯ = 15 рдорд┐рдирдЯ)
MaxIdleTime 15

# LDAP рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ (README.LDAP рджреЗрдЦреЗрдВ)
# LDAPConfigFile /etc/pureftpd-ldap.conf

# MySQL рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ (README.MySQL рджреЗрдЦреЗрдВ)
MySQLConfigFile /usr/local/etc/pureftpd-mysql.conf

# рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдкреЛрд╕реНрдЯ рдХрд░рддрд╛ рд╣реИ (README.PGSQL рджреЗрдЦреЗрдВ)
# PGSQLConfigFile /etc/pureftpd-pgsql.conf

# PureDB рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдбреЗрдЯрд╛рдмреЗрд╕ (README.Virtual- рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджреЗрдЦреЗрдВ)
# PureDB /etc/pureftpd.pdb

# рд╢реБрджреНрдз-рдСрд░реНрдбрд░реНрдб рд╕реЙрдХреЗрдЯ рдХрд╛ рдорд╛рд░реНрдЧ (рджреЗрдЦреЗрдВ README.Authentication-Modules)
# ExtAuth /var/run/ftpd.sock

# рдпрджрд┐ рдЖрдкрдХреЛ PAM рдкреНрд░рдорд╛рдгреАрдХрд░рдг рд╕рдХреНрд╖рдо рдХрд░рдирд╛ рд╣реИ, рддреЛ рдЕрд╕реБрд╡рд┐рдзрд╛
# рдЕрдЧрд▓реА рдкрдВрдХреНрддрд┐
# PAMAuthentication рд╣рд╛рдБ

# рдпрджрд┐ рдЖрдкрдХреЛ рд╕рд┐рд╕реНрдЯрдо рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдпреВрдирд┐рдХреНрд╕ рдкреНрд░рдорд╛рдгреАрдХрд░рдг (/ etc / passwd),
# рдЕрдЧрд▓реА рдкрдВрдХреНрддрд┐ рдХреЛ рдЕрдирд╕реБрдирд╛ рдХрд░реЗрдВ
# UnixAuthentication рд╣рд╛рдБ

# рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ LDAPConfigFile, MySQLConfigFile,
# PAMAuthentication рдФрд░ UnixAuthentication рдХрд╛ рд╣реА рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ
# рдПрдХ рдмрд╛рд░, рд▓реЗрдХрд┐рди рд╡реЗ рдПрдХ рд╕рд╛рде рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрджрд┐ рдЖрдк
# MySQLConfigFile рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рдлрд┐рд░ UnixAuthentication, рдлрд┐рд░ рдЕрдиреБрд░реЛрдз рдЬрд╛рддрд╛ рд╣реИ
# MySQL рдХреЛред рдпрджрд┐ рдРрд╕рд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдирд╣реАрдВ рдкрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдХреЛрд╢рд┐рд╢ рдХреА рдЬрд╛рддреА рд╣реИ
# рд╕рд┐рд╕реНрдЯрдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ / рдЖрджрд┐ / рдкрд╛рд╕рд╡рд╛рд░реНрдб рдФрд░ / рдЖрджрд┐ / рдЫрд╛рдпрд╛ рдореЗрдВред рдпрджрд┐ рдПрд╕.рд╕реА.
# рдЧрд▓рдд рдкрд╛рд╕рд╡рд░реНрдб рдХреЗ рдХрд╛рд░рдг рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдЕрд╕рдлрд▓ рд╣реЛрддрд╛ рд╣реИ, рдРрд╕рд╛ рд╣реЛрддрд╛ рд╣реИ
# рдЖрдЧреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЦреЛрдЬ рдмрдВрдж рдХрд░реЛред рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЗ рддрд░реАрдХреЗ
# рдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрд╕ рдХреНрд░рдо рдореЗрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдЬрд┐рд╕рдореЗрдВ рд╡реЗ рд╕реЗрдЯ рд╣реИрдВ

# 'Ls' рдХрдорд╛рдВрдб рдХреА рдкреБрдирд░рд╛рд╡реГрддреНрддрд┐ рд╕реАрдорд╛ред рдкрд╣рд▓рд╛ рддрд░реНрдХ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рдЕрдзрд┐рдХрддрдо рд╕рдВрдЦреНрдпрд╛ рд╣реИ
# рджрд┐рдЦрд╛рдпрд╛ рдЬрд╛рдирд╛ рд╣реИред рджреВрд╕рд░рд╛ рдЙрдкрдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдХреА рдЕрдзрд┐рдХрддрдо рд╕рдВрдЦреНрдпрд╛ рд╣реИ
LimitRecursion 10000 8

# рдХреНрдпрд╛ рдЕрдирд╛рдо рдХреЛ рдирдИ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдмрдирд╛рдиреЗ рдХрд╛ рдЕрдзрд┐рдХрд╛рд░ рд╣реИ?
рдмреЗрдирд╛рдореАрдХреНрд░реАрдЯрдХреНрд░рд┐рдбреНрд╕ рдирдВ

# рдпрджрд┐ рд╕рд┐рд╕реНрдЯрдо рдпрд╣рд╛рдВ рдмрддрд╛рдП рдЧрдП рдореВрд▓реНрдп рд╕реЗ рдЕрдзрд┐рдХ рд▓реЛрдб рд╣реИ, рддреЛ
# рдЕрдирд╛рдо рдХреБрдЫ рднреА рдбрд╛рдЙрдирд▓реЛрдб рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛
рдЕрдзрд┐рднрд╛рд░ рек

# рдирд┐рд╖реНрдХреНрд░рд┐рдп рдХрдиреЗрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдмрдВрджрд░рдЧрд╛рд╣реЛрдВ рдХреА рд╕реАрдорд╛ред рдЕрдЧрд░ рдЖрдкрдХрд╛ рдлрд╝рд╛рдпрд░рд╡реЙрд▓ рд╣реИрдХ рд╣реЛ рд░рд╣рд╛ рд╣реИ
# рдорд╛рдирдХ рд╕реАрдорд╛
# PassivePortRange 30,000 50,000

# PASV / EPSV / SPSV рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдУрдВ рдореЗрдВ рдордЬрдмреВрд░ рдЖрдИрдкреА рдкрддрд╛ред - NAT рдХреЗ рд▓рд┐рдПред
# рдбрд╛рдпрдирд╛рдорд┐рдХ рдЖрдИрдкреА рдХреЗ рд╕рд╛рде рдЧреЗрдЯрд╡реЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддреАрдХрд╛рддреНрдордХ рд╣реЛрд╕реНрдЯ рдирд╛рдо рднреА рд╕реНрд╡реАрдХрд╛рд░ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ
# ForcePassiveIP 192.168.0.1

рдЕрдирд╛рдо рдХреЗ рд▓рд┐рдП # рдЕрдкрд▓реЛрдб / рдбрд╛рдЙрдирд▓реЛрдб рдЕрдиреБрдкрд╛рддред
# рдмреЗрдирд╛рдореА рдЕрдиреБрдкрд╛рдд 1 10

# рд╕рднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдкрд╛рдд рдЕрдкрд▓реЛрдб / рдбрд╛рдЙрдирд▓реЛрдб рдХрд░реЗрдВред
# рдпрд╣ рдирд┐рд░реНрджреЗрд╢ рдкрд┐рдЫрд▓реЗ рдПрдХ рдХреЛ рдУрд╡рд░рд▓реИрдк рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред
# рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдиреБрдкрд╛рдд 1 10

# "Ftp" рдХреЗ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рд╡рд╛рд▓реА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рдбрд╛рдЙрдирд▓реЛрдб рдХреЛ рд░реЛрдХреЗрдВ, рдЕрд░реНрдерд╛рдд
# рдлрд╛рдЗрд▓реЗрдВ рдЕрдкрд▓реЛрдб рдХреА рдЧрдИрдВ рд▓реЗрдХрд┐рди рд╕реНрдерд╛рдиреАрдп (рд╕реНрдерд╛рдиреАрдп) рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдХ рджреНрд╡рд╛рд░рд╛ рдЕрдиреБрдореЛрджрд┐рдд рдирд╣реАрдВ рд╣реИрдВред
AntiWarez рд╣рд╛рдБ

# рдЖрдИрдкреА рдПрдбреНрд░реЗрд╕ / рдкреЛрд░реНрдЯ рдЬрд┐рд╕ рдкрд░ рд╣рдо рд╕реБрди рд░рд╣реЗ рд╣реИрдВ (рдбрд┐рдлрд╝реЙрд▓реНрдЯ = рд╕рднреА рдЖрдИрдкреА рдФрд░ рдкреЛрд░реНрдЯ 21)ред
# рдмрд┐рдВрдж 192.168.254.254,21

# KB / s рдореЗрдВ рдЧреБрдордирд╛рдореА рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХрддрдо рдЧрддрд┐
# рдмреЗрдирд╛рдореА рдмреИрдВрдбрд╡рд┐рдбреНрде 8

# рдХреЗрдмреА / рдПрд╕ рдореЗрдВ рд╕рднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ (рдЕрдирд╛рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рд╕рд╣рд┐рдд) рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХрддрдо рдЧрддрд┐
# рдмреЗрдирд╛рдореА рдмреИрдВрдбрд╡рд┐рдбреНрде рдпрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдмреИрдВрдбрд╡рд┐рдбреНрде рдХрд╛ рдЙрдкрдпреЛрдЧ, рджреЛрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ,
# рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИред
# рдпреВрдЬрд░рдмреИрдВрдб 8

# рдмрдирд╛рдИ рдЧрдИ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдорд╛рд╕реНрдХред <umask рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП>: <umask рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдХреЗ рд▓рд┐рдП>ред
# 177: 077 - рдЕрдЧрд░ рдЖрдк рдкрд╛рдЧрд▓ рд╣реИрдВ :)
# umask рдПрдХ рд╕рдВрдЦреНрдпрд╛ рд╣реИ рдЬрдм рдЕрдзрд┐рдХрддрдо (777) рд╕реЗ рдШрдЯрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░
# рд╕рд╣реА рдорд╛рд╕реНрдХ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред рдпрд╛рдиреА рдиреАрдЪреЗ рдХреЗ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП, рдореБрдЦреМрдЯреЗ рдХреНрд░рдорд╢рдГ рд╣реЛрдВрдЧреЗ:
# 644 рдлрд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП, рдФрд░ 755 рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛рдУрдВ рдХреЗ рд▓рд┐рдП
рдЙрдорд╕реНрдХ 133: 022

# рдиреНрдпреВрдирддрдо рдпреВрдЖрдИрдбреА рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред
# (рдореВрд▓ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ 100 рдереЗред рдореИрдВрдиреЗ рдПрдХ рд╣рдЬрд╛рд░ рд╕реЗрдЯ рдХрд┐рдпрд╛)
рдиреНрдпреВрдирддрдо 1000

# рдЕрдзрд┐рдХреГрдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдПрдлрдПрдХреНрд╕рдкреА рд╣рд╕реНрддрд╛рдВрддрд░рдг рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдВред
AllowUserFXP рд╕рдВ

# рдЕрдирд╛рдо рдФрд░ рдЧреИрд░-рдЕрдирд╛рдо рдХреЗ рд▓рд┐рдП рдПрдлрдПрдХреНрд╕рдкреА рд╣рд╕реНрддрд╛рдВрддрд░рдг рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдВ
AllowAnonymousFXP рдирдВ

# рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдПрдХ рдЕрд╡рдзрд┐ ('') рд╕реЗ рд╢реБрд░реВ рд╣реЛрдиреЗ рд╡рд╛рд▓реА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╣рдЯрд╛ рдФрд░ рд╕рдВрд╢реЛрдзрд┐рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
# рднрд▓реЗ рд╣реА рд╡реЗ рдЙрдирдХреЗ рдорд╛рд▓рд┐рдХ рд╣реЛрдВред рдпрджрд┐ TrustedGID рд╕рдХреНрд╖рдо рд╣реИ, рддреЛ рдЗрд╕ рд╕рдореВрд╣ рдХреЗ рдкрд╛рд╕ рд╣реИ
# рдЗрди рдлрд╝рд╛рдЗрд▓реЛрдВ рддрдХ рдкрд╣реБрдБрдЪред
ProhibitDotFiles рдХреЛрдИ рднреА рдирд╣реАрдВ

# рдПрдХ рдЕрд╡рдзрд┐ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рд╣реЛрдиреЗ рд╡рд╛рд▓реА рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рдкрдврд╝рдирд╛ рд░реЛрдХреЗрдВ
ProhibitDotFilesRead no

# рдХрднреА рднреА рдлрд╛рдЗрд▓реЛрдВ рдХреЛ рдЕрдзрд┐рд▓реЗрдЦрд┐рдд рди рдХрд░реЗрдВред рдЬрдм рдЕрдкрд▓реЛрдб рдХреА рдЧрдИ рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдирд╛рдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╣реИ
# рдореМрдЬреВрдж рд╣реИ, рдЗрд╕реЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдирд╛рдо рдмрджрд▓рдХрд░ file.1, file.2, file.3, ...
рдСрдЯреЛрдирд╛рдо рдирдВ

# рдЧреБрдордирд╛рдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдирдИ рдлрд╛рдЗрд▓реЗрдВ рдЕрдкрд▓реЛрдб рдХрд░рдиреЗ рд╕реЗ рд░реЛрдХреЗрдВ (рдирд╣реАрдВ = рдЕрдкрд▓реЛрдб рдХреА рдЕрдиреБрдорддрд┐)
рдмреЗрдирд╛рдореАрдХрдВрдЯ рд▓реЛрдб рдирдВ

# рдЗрд╕ рдЖрдИрдкреА рдкрддреЗ рдХреЗ рдХреЗрд╡рд▓ рдХрдиреЗрдХреНрд╢рди рдЕрдирд╛рдо рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред рдЖрдк
# рдХрдИ рдЖрдИрдкреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рдирд┐рд░реНрджреЗрд╢ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
# рдЧреБрдордирд╛рдо FTP рдХреЗ рд▓рд┐рдП, рдФрд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдирд┐рдЬреА, рд╕реБрд░рдХреНрд╖рд┐рдд рдЖрдИрдкреА рдЫреЛрдбрд╝ рджреЗрдВ
# рджреВрд░рд╕реНрде рдкреНрд░рд╢рд╛рд╕рдиред рднреА рдЖрдк рдЕрд╕реНрдерд┐рд░ рдЕрдиреБрдорддрд┐ рджреЗ рд╕рдХрддреЗ рд╣реИрдВ
# рд╕реНрдерд╛рдиреАрдп рдЖрдИрдкреА (10.xxx рдкреНрд░рдХрд╛рд░) рдкреНрд░рдорд╛рдгреАрдХрд░рдг рдХреЗ рд▓рд┐рдП рдФрд░ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдЫреЛрдбрд╝ рджреЗрдВ
# (рдЕрдирд╛рдо рдХреЗ рд▓рд┐рдП) рдПрдХ рдЕрд▓рдЧ рдЖрдИрдкреА рдкрд░ рдПрдлрд╝рдЯреАрдкреА рд╕рд░реНрд╡рд░ред
#TrustedIP 10.1.1.1

# рдпрджрд┐ рдЖрдк рдЪрд╛рд╣рддреЗ рд╣реИрдВ рдХрд┐ PID рдХреЛ рд▓реЙрдЧ рдХреА рдкреНрд░рддреНрдпреЗрдХ рдкрдВрдХреНрддрд┐ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдП,
# рдЗрд╕рдХреЗ рдмрд╛рдж рдЕрдЧрд▓реА рд▓рд╛рдЗрди рдХреЛ рдЕрдирдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░реЗрдВред
#LogPID рд╣рд╛рдБ

# "рдЕрдкрд╛рдЪреЗ" рдкреНрд░рдХрд╛рд░ рдХреЗ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдПрдХ рд▓реЙрдЧ рдХреЗ рд╕рд╛рде рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рд▓реЙрдЧ рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдВ:
# fw.c9x.org - jedi [13 / рджрд┐рд╕рдВрдмрд░ / 1975: 19: 36: 39] "GET /icap.tar.bz2" 200 21808
# рдЗрд╕ рд▓реЙрдЧ рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рджреНрд╡рд╛рд░рд╛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ
# рдЕрдкрд╛рдЪреЗ рд▓реЙрдЧ рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдгред
# AltLog clf: /var/log/pureftpd.log

# рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓рд┐рдд рдПрдХ рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рд▓реЙрдЧ рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдБ
# рд╕рд╛рдВрдЦреНрдпрд┐рдХреАрдп рд░рд┐рдкреЛрд░реНрдЯ (рдЗрд╕ рддрд░рд╣ hzред рдореБрдЭреЗ рджреЗрдЦрдирд╛ рд╣реЛрдЧрд╛)
# AltLog рдЖрдБрдХрдбрд╝реЗ: /var/log/pureftpd.log

# W3C рдорд╛рдирдХ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдФрд░ рд▓реЙрдЧ рдмрдирд╛рдПрдВ
# (рдХрдИ рд╡рд╛рдгрд┐рдЬреНрдпрд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдХ рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд)
# AltLog w3c: /var/log/pureftpd.log

# CHMOD рдХрдорд╛рдВрдб рдХреЛ рдЕрдХреНрд╖рдо рдХрд░реЗрдВред рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдиреБрдорддрд┐рдпрд╛рдВ рдирд╣реАрдВ рдмрджрд▓ рдкрд╛рдПрдВрдЧреЗ
# рдлрд╛рдЗрд▓реЛрдВ рдХреЛред
# рдиреЛрдЪрдореЙрдб рд╣рд╛рдВ

# рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЕрдкрд▓реЛрдб рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдВ, рд▓реЗрдХрд┐рди рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЛ рд╣рдЯрд╛рдПрдВ рдирд╣реАрдВред
#KeepAllFiles рд╣рд╛рдБ

# рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдк рд╕реЗ рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдШрд░ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП,
# рдЕрдЧрд░ рдпрд╣ рдЕрдиреБрдкрд╕реНрдерд┐рдд рд╣реИ
#CreateHomeDir рд╣рд╛рдБ

# рд╡рд░реНрдЪреБрдЕрд▓ рдХреЛрдЯрд╛ рд╕рдХреНрд╖рдо рдХрд░реЗрдВред рдкрд╣рд▓реА рд╕рдВрдЦреНрдпрд╛ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рдЕрдзрд┐рдХрддрдо рд╕рдВрдЦреНрдпрд╛ рд╣реИред
# рдореЗрдЧрд╛рдмрд╛рдЗрдЯ рдореЗрдВ рджреВрд╕рд░рд╛ рдирдВрдмрд░ рдЕрдзрд┐рдХрддрдо рдЖрдХрд╛рд░ рд╣реИред
# рддреЛ 1000: 10 рдкреНрд░рддреНрдпреЗрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ 1000 рдлрд╝рд╛рдЗрд▓реЛрдВ рдФрд░ 10 megs рддрдХ рд╕реАрдорд┐рдд рдХрд░рддрд╛ рд╣реИред
# рдХреЛрдЯрд╛ 1000: 10

# рдпрджрд┐ рд╢реБрджреНрдз-рдПрдлрдкреАрдбреА рдХреЛ рд╕реНрдЯреИрдВрдбрдЕрд▓реЛрди рдореЛрдб рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЖрдк рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ
# рдкреАрдЖрдИрдбреА тАЛтАЛрдлрд╝рд╛рдЗрд▓ рдХрд╛ рд╕реНрдерд╛рдиред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд╕реНрдерд┐рддрд┐ - /var/run/pure-ftpd.pid
#PIDFile /var/run/pure-ftpd.pid

# рдпрджрд┐ рд╢реБрджреНрдз- ftpd рдХреЛ рд╢реБрджреНрдз-рдЕрдкрд▓реЛрдбрд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ,
# рдлрд┐рд░ рдпрд╣ рдЖрдЗрдЯрдо рдЖрдкрдХреЛ рдирдП рдбрд╛рдЙрдирд▓реЛрдб рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рд▓рд┐рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ
# рдлрд╝рд╛рдЗрд▓реЗрдВ /var/run/pure-ftpd.upload.pipe рдореЗрдВ рдЗрддрдиреА рд╢реБрджреНрдз-рдЕрдкрд▓реЛрдбрд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
# рдЙрдиреНрд╣реЗрдВ рдкрдврд╝реЗрдВ рдФрд░ рдбрд╛рдЙрдирд▓реЛрдб рдХреА рдЧрдИ рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░реЗрдВред
#CallUploadScript рд╣рд╛рдБ

# рдпрд╣ рд╡рд┐рдХрд▓реНрдк рд╕рд░реНрд╡рд░реЛрдВ рдкрд░ рдЙрдкрдпреЛрдЧреА рд╣реИ, рдЬрд╣рд╛рдВ рдЕрдкрд▓реЛрдб рдЧреБрдордирд╛рдо рд░реВрдк рд╕реЗ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рд╣реИред
# рдпрджрд┐ / var / ftp рдПрдХ рдЕрд▓рдЧ / var рд╕реЗрдХреНрд╢рди рдореЗрдВ рд╣реИ, рддреЛ рдпрд╣ рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ
# рдореБрдХреНрдд рд╕реНрдерд╛рди рдмрдЪрд╛рдиреЗ рдФрд░ рд▓реЙрдЧ рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреА рд░рдХреНрд╖рд╛ред рдЬрдм рдкреНрд░рддрд┐рд╢рдд
# рдпрд╣рд╛рдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╕реЗ рдЕрдзрд┐рдХ рднрд░рдирд╛, рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдЕрдкрд▓реЛрдб рдирд┐рд╖рд┐рджреНрдз рд╣реИред
рдореИрдХреНрд╕рдбрд┐рд╕реНрдХрдпреВрдЬ 99

# рдпрджрд┐ рдЖрдк рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдЕрдиреБрдорддрд┐ рджреЗрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рддреЛ рдЗрд╕ рд╡рд┐рдХрд▓реНрдк рдореЗрдВ 'рд╣рд╛рдВ' рд╕реЗрдЯ рдХрд░реЗрдВ
# рдлрд╝рд╛рдЗрд▓реЛрдВ рдХрд╛ рдирд╛рдо рдмрджрд▓реЗрдВред
# рдиреЛрдирд╛рдореЗрди рд╣рд╛рдБ

# 'рдЧреНрд░рд╛рд╣рдХ рдкреНрд░рдорд╛рдг рд╕рдХреНрд╖рдо рдХрд░реЗрдВ': 'chmod 0 public_html' рдЬреИрд╕реА рдХрд┐рд╕реА рдкреНрд░рдХрд╛рд░ рдХреА рддреНрд░реБрдЯрд┐,
# рдЬрдм рдПрдХ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВ, chtol ... рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ, рдпрд╣ рдПрдХ рдмрдЧ рдирд╣реАрдВ рдмрд▓реНрдХрд┐ рдПрдХ рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИ ... :) рдФрд░ рдЗрд╕реА рддрд░рд╣
# рдмреЗрд╡рдХреВрдл рдЧреНрд░рд╛рд╣рдХреЛрдВ рдиреЗ рдЖрдкрдХреЗ рд╕рдорд░реНрдерди рдХреЛ рдирд╣реАрдВ рдмрдврд╝рд╛рдпрд╛, рдЖрдкрдХреЛ рдЗрд╕рдореЗрдВ 'рд╣рд╛рдВ' рд╕реЗрдЯ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ
# рдкреИрд░рд╛рдЧреНрд░рд╛рдлред рдЕрдЧрд░ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЛ рдпреВрдирд┐рдХреНрд╕ рдХрд╛ рдереЛрдбрд╝рд╛ рдЬреНрдЮрд╛рди рд╣реИ рддреЛ рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рд╣реИ
# рдмреЗрдХрд╛рд░ред рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рдПрдХ рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рд╣реИ - рдЗрд╕реЗ рдЪрд╛рд▓реВ рдХрд░реЗрдВред
# (рдЕрдиреБрд╡рд╛рдж рд▓рдЧрднрдЧ рд╢рдмреНрджрд╢рдГ рд╣реИ - рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдХреНрдпрд╛ рдХрд┐рдпрд╛, рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛ рд╕рдордЭрд╛ ...)
CustomerProof рд╣рд╛рдБ

# рд╕рдорд╛рдирд╛рдВрддрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ред рдпрджрд┐ рд╕рд░реНрд╡рд░ рдерд╛ рддреЛ рдХрд░рдВрдЯ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ
# рд╡рд┐рдХрд▓реНрдк рдХреЗ рд╕рд╛рде рд╕рдВрдХрд▓рд┐рдд '- рд╕рд╛рде-рдкреЗрд░реБрд╕рд░рд▓реАрдорд┐рдЯреНрд╕' (рдпрд╣рд╛рдБ рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдмрддрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐
# рдЕрдзрд┐рдХрд╛рдВрд╢ рдмрд╛рдЗрдирд░реА рд╡рд┐рддрд░рдХреЛрдВ рдореЗрдВ рдЬрд┐рд╕ рддрд░рд╣ рд╕реЗ рдпрд╣ рд╣реИ)ред
# рдкреНрд░рд╛рд░реВрдк: <рдЕрдзрд┐рдХрддрдо рд╕рддреНрд░ рдкреНрд░рддрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛>: <рдЕрдзрд┐рдХрддрдо рд╕рддреНрд░ рдЕрдирд╛рдорд┐рдХрд╛>
# рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, 3:20 рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдПрдХ рдкреНрд░рдорд╛рдгрд┐рдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдкрд╛рд╕ рддреАрди рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ
# рд╕рдХреНрд░рд┐рдп рд╕рддреНрд░ред рдФрд░ рд╕рднреА рдЧреБрдордирд╛рдо рдЦрд╛рддреЛрдВ рдХреЗ рд▓рд┐рдП - рдЕрдзрд┐рдХрддрдо 20 рд╕рддреНрд░ред
#PerUserLimits 3:20

# рдЬрдм рдПрдХ рдлрд╝рд╛рдЗрд▓ рд╕рд░реНрд╡рд░ рдкрд░ рдЕрдкрд▓реЛрдб рдХреА рдЬрд╛рддреА рд╣реИ, рдФрд░ рдПрдХ рдкрд┐рдЫрд▓рд╛ рд╕рдВрд╕реНрдХрд░рдг рд╣реЛрддрд╛ рд╣реИ (рдЙрд╕реА рдирд╛рдо рд╕реЗ),
# рдлрд┐рд░ рдкреБрд░рд╛рдиреА рдлрд╝рд╛рдЗрд▓ рдХреЛ рд╣рдЯрд╛рдпрд╛ рдпрд╛ рдЫреЛрдЯрд╛ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛
# рдПрдХ рдЕрд╕реНрдерд╛рдпреА рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдФрд░ рд▓реЛрдбрд┐рдВрдЧ рдкрд░рдорд╛рдгреБ рдХреЗ рдкреВрд░рд╛ рд╣реЛрдиреЗ рдкрд░
# рдлрд╝рд╛рдЗрд▓ рдХреЗ рдирдП рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рд╕реНрд╡рд┐рдЪ рдХрд░реЗрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдмрдбрд╝реЗ PHP рд▓реЛрдб рдХрд░рддреЗ рд╕рдордп
# рд╕реНрдХреНрд░рд┐рдкреНрдЯ, рдЕрдкрд╛рдЪреЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд▓реЛрдб рд╣реЛрдиреЗ рддрдХ рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдЧреА
# рдФрд░ рддреБрд░рдВрдд рдПрдХ рдирдП рдкрд░ рд╕реНрд╡рд┐рдЪ рдХрд░рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рд╣реЛ рдЬрд╛рдПрдЧрд╛
# рдпрд╣ рд╡рд┐рдХрд▓реНрдк рдЖрднрд╛рд╕реА рдХреЛрдЯрд╛ рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд рдирд╣реАрдВ рд╣реИред
#NoTruncate рд╣рд╛рдВ

# рдпрд╣ рд╡рд┐рдХрд▓реНрдк рддреАрди рдорд╛рди рд▓реЗ рд╕рдХрддрд╛ рд╣реИ:
# 0 - рдПрд╕рдПрд╕рдПрд▓ / рдЯреАрдПрд▓рдПрд╕ рдПрдиреНрдХреНрд░рд┐рдкреНрд╢рди рдХреЛ рдЕрдХреНрд╖рдо рдХрд░реЗрдВ (рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ)ред
# 1 - рдПрдиреНрдХреНрд░рд┐рдкреНрдЯреЗрдб рдФрд░ рдирд┐рдпрдорд┐рдд рдХрдиреЗрдХреНрд╢рди рджреЛрдиреЛрдВ рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░реЗрдВред
# 2 - рдЙрди рдХрдиреЗрдХреНрд╢рдиреЛрдВ рдХреЛ рдЕрд╕реНрд╡реАрдХрд╛рд░ рдХрд░реЗрдВ рдЬреЛ рдПрд╕рдПрд╕рдПрд▓ / рдЯреАрдПрд▓рдПрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ,
# рдЕрдирд╛рдо рдХрдиреЗрдХреНрд╢рди рд╕рд╣рд┐рддред
# рдЗрд╕ рдкрд░ рдЖрдБрдЦ рдмрдВрдж рдХрд░рдХреЗ рдЯрд┐рдкреНрдкрдгреА рди рдХрд░реЗрдВред рд╡рд╣ рдЬрд╛рдВрдЪреЗрдВ:
# 1) рдПрд╕рдПрд╕рдПрд▓ / рдЯреАрдПрд▓рдПрд╕ рд╕рдорд░реНрдерди рдХреЗ рд╕рд╛рде рд╕рдВрдХрд▓рд┐рдд рд╕рд░реНрд╡рд░ (- tls),
# 2) рдПрдХ рд╡реИрдз рдкреНрд░рдорд╛рдгрдкрддреНрд░ рд▓рдЧрд╛рдПрдВ,
# 3) рдХреЗрд╡рд▓ рд╕рдВрдЧрдд рдЧреНрд░рд╛рд╣рдХ рд▓реЙрдЧ рдЗрди рд╣реИрдВред
# рдЯреАрдПрд▓рдПрд╕ 1

# рдПрд╕рдПрд╕рдПрд▓ / рдЯреАрдПрд▓рдПрд╕ рдХрдиреЗрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рд╕реНрд╡реАрдХрд╛рд░ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╕рд┐рдлрд░ рдХреА рд╕реВрдЪреА
# рдЙрдкрд╕рд░реНрдЧ -S: SSL рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдХреНрд╖рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд▓реЗрдХрд┐рди TLS рдирд╣реАрдВред
# TLSCipherSuite High: MEDIUM: + TLSv1:? SSLv2: + SSLv3

# рд╕реНрдЯреИрдВрдбрдЕрд▓реЛрди рдореЛрдб рдореЗрдВ рд╡рд░реНрддрдорд╛рди IPv4 рдкрддреЗ рдХреЛ рд╕реВрдЪреАрдмрджреНрдз рдХрд░рддрд╛ рд╣реИ (рдпрд╛рдиреА IPv6 рдЕрдХреНрд╖рдо рд╣реИ)
# рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, IPv4 рдФрд░ IPv6 рд╢рд╛рдорд┐рд▓ рд╣реИрдВред
IPV4Only рд╣рд╛рдБ

# рд╕реНрдЯреИрдВрдбрдЕрд▓реЛрди рдореЛрдб рдореЗрдВ рд╡рд░реНрддрдорд╛рди IPv6 рдкрддреЗ рдХреЛ рд╕реВрдЪреАрдмрджреНрдз рдХрд░рддрд╛ рд╣реИ (рдпрд╛рдиреА IPv4 рдЕрдХреНрд╖рдо рд╣реИ)
# рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ, IPv4 рдФрд░ IPv6 рд╢рд╛рдорд┐рд▓ рд╣реИрдВред
# IPV6Only рд╣рд╛рдБ

# рдлрд╝рд╛рдЗрд▓ рдирд╛рдореЛрдВ рдХреЗ рд▓рд┐рдП UTF-8 рд╕рдорд░реНрдерди (RFC 2640)
# рд╕рд░реНрд╡рд░ рдлрд╛рдЗрд▓ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░реЗрдВ рдФрд░ рд╡реИрдХрд▓реНрдкрд┐рдХ рд░реВрдк рд╕реЗ,
# рдЙрди рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдЬреЛ UTF-8 рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред
# рд╡рд░реНрддрдорд╛рди рдХрд╛рд░реНрдп рдпрджрд┐ рд╢реБрджреНрдз-рдлреБрдЯрдкрд╛рде '--with-rfc2640' рдХреЗ рд╕рд╛рде рд╕рдВрдХрд▓рд┐рдд рд╣реИ
FileSystemCharset utf-8
ClientCharset cp1251

рд╕рд╛рде рд╣реА рд╕рд╛рде MySql рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде Pure-FTPd рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди
рд╢реБрджреНрдз ftpd.conf
# Pureftpd рдХреЗ рд▓рд┐рдП MySQL рдХреЙрдиреНрдлрд┐рдЧ

# рд╡реИрдХрд▓реНрдкрд┐рдХ: MySQL рд╕рд░реНрд╡рд░ рдХрд╛ рдирд╛рдо рдпрд╛ IPред рдпрд╣ рдордд рдкреВрдЫреЛ
# рдЖрдЗрдЯрдо рдпрджрд┐ рд╕реНрдерд╛рдиреАрдп рдпреВрдирд┐рдХреНрд╕ рд╕реЙрдХреЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
#MYSQLServer 127.0.0.1

# рд╡реИрдХрд▓реНрдкрд┐рдХ: рд╡рд╣ рдкреЛрд░реНрдЯ рдЬрд┐рд╕ рдкрд░ MySQL рд▓рдЯрдХрд╛ рд╣реБрдЖ рд╣реИред рдпрд╣ рдордд рдкреВрдЫреЛ
# рдЖрдЗрдЯрдо рдпрджрд┐ рд╕реНрдерд╛рдиреАрдп рдпреВрдирд┐рдХреНрд╕ рд╕реЙрдХреЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
#MYSQLPort 3306

# рд╡реИрдХрд▓реНрдкрд┐рдХ: рдпрджрд┐ MySQL рдПрдХ рд╣реА рд╣реЛрд╕реНрдЯ рдкрд░ рд╣реИ рддреЛ mysql.sock рд╕реЙрдХреЗрдЯ рдирд╛рдо рд╕реЗрдЯ рд╣реИред
MYSQLSocket /tmp/mysql.sock

# рдЕрдирд┐рд╡рд╛рд░реНрдп: рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЬреЛ рд╣рдо рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред
MYSQLUser рд╢реБрджреНрдз-ftpd

# рдЕрдирд┐рд╡рд╛рд░реНрдп: рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХрд╛ рдкрд╛рд╕рд╡рд░реНрдб рдЬрд┐рд╕рд╕реЗ рд╣рдо MySQL рдореЗрдВ рдЪрдврд╝рддреЗ рд╣реИрдВред
MYSQLPassword рд╢реБрджреНрдз-ftpd

# рдЕрдирд┐рд╡рд╛рд░реНрдп: рд╡рд╣ рдбреЗрдЯрд╛рдмреЗрд╕ рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рд╣рдо рдХрд╛рдо рдХрд░ рд░рд╣реЗ рд╣реИрдВред
MYSQLDatabase Pureftpd

# рдЕрдирд┐рд╡рд╛рд░реНрдп: рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдкрд╛рд╕рд╡рд░реНрдб рдХреИрд╕реЗ рд╕рд╣реЗрдЬрд╛ рдЬрд╛рддрд╛ рд╣реИ
# рд╕рдВрднрд╛рд╡рд┐рдд рдорд╛рди: "рдХреНрд▓реАрдпрд░рдЯреЗрдХреНрд╕реНрдЯ", "рдХреНрд░рд┐рдкреНрдЯ", "рдПрдордбреА 5" рдФрд░ "рдкрд╛рд╕рд╡рд░реНрдб"
# ("рдкрд╛рд╕рд╡рд░реНрдб" = MySQL рдкрд╛рд╕рд╡рд░реНрдб () рдлрд╝рдВрдХреНрд╢рди)
# "рдХреНрд░рд┐рдкреНрдЯ", "md5" рдФрд░ "рдкрд╛рд╕рд╡рд░реНрдб" рдЖрдЬрд╝рдорд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрдк "рдХрд┐рд╕реА рднреА" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
MYSQLCrypt cleartext

# рдмрд╛рдж рдХреЗ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдореЗрдВ, рд▓рд╛рдЗрдиреЛрдВ рдХреЗ рдХреБрдЫ рд╣рд┐рд╕реНрд╕реЛрдВ рдХреЛ рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
# рдХреНрд╡реЗрд░реА рдирд┐рд╖реНрдкрд╛рджрди:
#
# L рдХреЛ рдЙрд╕ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рд╕реЗ рдмрджрд▓рд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рд▓реЙрдЧ рдЗрди рдХрд░рддрд╛ рд╣реИред
# \ _ рдореИрдВ рдЙрд╕ рд╕рд░реНрд╡рд░ рдХреЗ рдЖрдИрдкреА рдкрддреЗ рд╕реЗ рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕ рдкрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреНрд░реЙрд▓ рдХрд░рддрд╛ рд╣реИ
# P рдХреЛ рдкреЛрд░реНрдЯ рдирдВрдмрд░ рд╕реЗ рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрд┐рд╕рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЬреБрдбрд╝рд╛ рд╣реЛрддрд╛ рд╣реИред
# # R рдХреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдЖрдИрдкреА рдкрддреЗ рд╕реЗ рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
# D рдХреЛ рдПрдХ рд▓рдВрдмреЗ рджрд╢рдорд▓рд╡ рд╕рдВрдЦреНрдпрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдЖрдИрдкреА рдкрддреЗ рд╕реЗ рдмрджрд▓ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
# (рдЬреИрд╕реЗ 192.168.254.1 == 3232300545)ред
#
# рдЖрдк рдПрдХ рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдЬрдЯрд┐рд▓ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреНрд╡реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдпреЛрдЬрдирд╛ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВ
# рдЪрд░ рдХрд╛ рдпрд╣ рд╕реЗрдЯред рдпрджрд┐ рдПрдХ рдбреЗрдЯрд╛рдмреЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрдИ рд╕рд░реНрд╡рд░реЛрдВ рдкрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ,
# рдХрд┐ "\ I" рдЖрдкрдХреЛ рдпрд╣ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рд░реНрд╡рд░ рдкрд░ рдЯреВрдЯ рд░рд╣рд╛ рд╣реИ рдпрд╛ рдирд╣реАрдВред

# рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдкрд╛рд╕рд╡рд░реНрдб рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдХреНрд╡реЗрд░реА:
MYSQLGetPW рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ `рдкрд╛рд╕рд╡рд░реНрдб` FROM` рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ `рдЬрд╣рд╛рдВ` рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛` = "\ L" рдФрд░ `рд╕рдХреНрд░рд┐рдп` = 1 '

# рд╕рд┐рд╕реНрдЯрдо рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо, рдпрд╛ UID рдкрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреНрд╡реЗрд░реА
MYSQLGetUID рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ `uid` FROM` рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛` рдЬрд╣рд╛рдВ `рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛` = "рдПрд▓"

# рд╡реИрдХрд▓реНрдкрд┐рдХ: рдбрд┐рдлрд╝реЙрд▓реНрдЯ UID - рдЗрд╕реЗ MYSQLGetUID рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рдиреЗ рдХреЗ рдмрдЬрд╛рдп
#MYSQLDefaultUID 1000

# рд╕рдореВрд╣ рдпрд╛ gid рдХрд╛ рдирд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реЗ рдЕрдиреБрд░реЛрдз рдХрд░реЗрдВ
MYSQLGetGID рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ `gid` FROM` рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛` рдЬрд╣рд╛рдВ `рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛` = "L"

# рд╡реИрдХрд▓реНрдкрд┐рдХ: рдХреНрд╡реЗрд░реА MYSQLGetGID рдХреЗ рдмрдЬрд╛рдп рдбрд┐рдлрд╝реЙрд▓реНрдЯ GID -
#MYSQLDefaultGID 1000

# рд╣рдореНрд╕рдЯрд░ рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдз
MYSQLGetDir рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ 'home' FROM` рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ, рдЬрд╣рд╛рдВ `user` =" \ L "

# рд╡реИрдХрд▓реНрдкрд┐рдХ: рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕реЗ рдЕрдзрд┐рдХрддрдо рдлрд╝рд╛рдЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдз
# - рдореБрдЭреЗ рдЖрд╢реНрдЪрд░реНрдп рд╣реИ рдХрд┐ рдЗрд╕рдХрд╛ рдЧрд╣рд░рд╛ рдЕрд░реНрде рдХреНрдпрд╛ рд╣реИ?
# рд╕рд░реНрд╡рд░ chtol рд╢реБрд░реВ рдирд╣реАрдВ рдХрд┐рдпрд╛? :))
# 'рдЖрднрд╛рд╕реА рдХреЛрдЯрд╛ рд╕рдорд░реНрдерди' рдХреЗ рд╕рд╛рде рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
MySQLGetQTAFS рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ 'QuotaFiles` FROM` рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ `рдЬрд╣рд╛рдВ` рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ `=" рдПрд▓ "

# рд╡реИрдХрд▓реНрдкрд┐рдХ: рдХреЛрдЯрд╛ рдЕрдиреБрд░реЛрдз (рдбрд┐рд╕реНрдХ рдЙрдкрдпреЛрдЧ)
# рд╕рдВрдЦреНрдпрд╛, рдореЗрдЧрд╛рдмрд╛рдЗрдЯ рдореЗрдВред
# рдкреНрдпреЛрд░-рдПрдлрд╝рдЯреАрдкреА рдХреЛ `рд╡рд░реНрдЪреБрдЕрд▓ рдХреЛрдЯрд╛ рд╕рдкреЛрд░реНрдЯ` рдХреЗ рд╕рд╛рде рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
MySQLGetQTASZ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ 'QuotaSize` FROM` рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ `рдЬрд╣рд╛рдВ` рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ `=" L "

# рд╡реИрдХрд▓реНрдкрд┐рдХ: рд╕рдВрдмрдВрдзред рдбрд╛рдЙрдирд▓реЛрдб / рдЕрдкрд▓реЛрдб рдЕрдиреБрдкрд╛рдд рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдзред
# рдбреЛрд▓; рдЗрд╕реЗ рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╕рд╛рде рд╕рдВрдХрд▓рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
MySQLGetRatioUL 'ULRatio` FROM` рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ, рдЬрд╣рд╛рдВ `рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛` = "L"
MySQLGetRatioDL рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ `DLRatio` FROM` рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛` рдХрд╣рд╛рдБ `рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛` = \ L тАЭ

# рд╡реИрдХрд▓реНрдкрд┐рдХ: рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдЪреИрдирд▓ рдХреА рдЪреМрдбрд╝рд╛рдИред рд╕рд░реНрд╡рд░ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП
# рдЗрд╕ рд╡рд┐рдХрд▓реНрдк рдХреЗ рд╕рд╛рде рд╕рдВрдХрд▓рд┐рддред рдХреЗрдмреА / рдПрд╕ рдореЗрдВ рдореВрд▓реНрдпред
MySQLGetBandwidthUL 'ULBandwidth' рд╕реЗ 'рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ' рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ, рдЬрд╣рд╛рдВ 'рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛' = "L"
MySQLGetBandwidthDL рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ `DLBandwidth` рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рд╕реЗ рдЬрд╣рд╛рдВ `рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛` =" \ L "

# рд╣рдореНрд╕рдЯрд░ (~) рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдореБрдХреНрдд рдХрд░реЗрдВред рдРрд╕рд╛ рдХрднреА рди рдХрд░реЗрдВ рдЕрдЧрд░:
# 1) рдЖрдк рдмрд┐рд▓реНрдХреБрд▓ рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдЖрдк рдХреНрдпрд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВред
# 2) рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдФрд░ рдЖрднрд╛рд╕реА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдореЗрд▓ рдЦрд╛рддреЗ рд╣реИрдВред
#MySQLForceTildeExpansion 1

# рдпрджрд┐ рдЖрдкрдиреЗ рдЯреЗрдмрд▓ рдХреЛ рд▓реЗрди-рджреЗрди рдХреЗ рд▓рд┐рдП рдЕрджреНрдпрддрди рдХрд┐рдпрд╛ рд╣реИ (рдорд┐рдереБрди,
# рдмрд░реНрдХрд▓реЗрдмреАрдбреА, рдЗрдиреЛрдмреЗрд╕ ...), рдЖрдк рдПрд╕рдХреНрдпреВрдПрд▓ рд▓реЗрдирджреЗрди рдХреЛ рд╕рдХреНрд╖рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ
# MyISAM рдбреЗрдЯрд╛рдмреЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП рдЯрд┐рдкреНрдкрдгреА рдЫреЛрдбрд╝ рджреЗрдВ,
# рдпрд╛ MySQL рдХрд╛ рдкреБрд░рд╛рдирд╛ рд╕рдВрд╕реНрдХрд░рдг (<3.23.x)ред
#MySQLTransactions рдкрд░

рдЗрд╕рдХреЗ рдмрд╛рдж, рд╣рдо рд╕реНрд╡рдпрдВ рдбреЗрдЯрд╛рдмреЗрд╕ ( рдкреНрдпреЛрд░рдлрд╝реЗрдЯрдкреИрдб ) рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ ( рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ ) рдХреЗ рд╕рд╛рде рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рдмрдирд╛рддреЗ рд╣реИрдВ
 CREATE TABLE `users` ( `User` varchar(50) NOT NULL DEFAULT '', `Password` varchar(250) DEFAULT '', `Uid` int(11) DEFAULT '10000', `Gid` int(11) DEFAULT '10000', `Dir` varchar(250) DEFAULT '', `QuotaFiles` int(11) DEFAULT NULL, `QuotaSize` int(11) DEFAULT '0', `ULRatio` int(11) DEFAULT '0', `DLRation` int(11) DEFAULT NULL, `ULBandwidth` int(11) DEFAULT '0', `DLBandwidth` int(11) DEFAULT '0', `Comment` tinytext, `active` int(11) DEFAULT '0', PRIMARY KEY (`User`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; 

/Etc/rc.conf рдореЗрдВ рдЬреЛрдбрд╝реЗрдВ
 pureftpd_enable="YES" 

рдФрд░ рд╣рдорд╛рд░реЗ рдПрдлрд╝рдЯреАрдкреА рд╕рд░реНрд╡рд░ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ
 /usr/local/etc/rc.d/pure-ftpd start Starting pureftpd. Running: /usr/local/sbin/pure-ftpd -g/var/run/pure-ftpd.pid -A -c50 -B -C10 -D -fftp -I15 -lmysql:/usr/local/etc/pureftpd-mysql.conf -L10000:8 -m4 -s -U133:022 -u80 -k99 -Z -8utf-8 -9cp1251 

рд╡рд╣ рд╕рдм рд╣реЛрдЧрд╛ред рдпрд╣ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рджрд░реНрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛ рд░рд╣рддрд╛ рд╣реИ (рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо, рдкрд╛рд╕рд╡рд░реНрдб, рд╣реЛрдо рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ) рдФрд░ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред рд▓реЗрдХрд┐рди рдореИрдВ рдЕрдкрдиреЗ рдЖрдИрдкреА рдкрддреЗ рдХреЗ рджреНрд╡рд╛рд░рд╛ рдХрд┐рд╕реА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рддрдХ рдкрд╣реБрдБрдЪ рдХреЛ рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рдореБрджреНрджреЗ рд╕реЗ рдЖрд╣рдд рдерд╛ред рдХреНрд▓рд╛рд╕рд┐рдХ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЖрдИрдкреА рдлрд╝реАрд▓реНрдб рдХреЛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ Pureftpd-mysql.conf рдореЗрдВ MYSQLGetPW рдХреЗ рд▓рд┐рдП sql рдХреНрд╡реЗрд░реА рдирд┐рдореНрди рд░реВрдк рд▓реЗрддреА рд╣реИ

 SELECT Password FROM users WHERE User='\L' AND ip='\R' 

рд▓реЗрдХрд┐рди рд╡рд╣ рдореБрдЭреЗ рд╢реЛрднрд╛ рдирд╣реАрдВ рджреЗрддрд╛ред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдкреНрд░рддреНрдпреЗрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЖрдИрдкреА рдкрддреЗ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдирд╛ рд╣реЛрдЧрд╛ рдЬрд┐рд╕рд╕реЗ рд╡реЗ рдХрдиреЗрдХреНрдЯ рд╣реЛрдВрдЧреЗ, рдФрд░ рджреВрд╕рд░реА рдмрд╛рдд, рдЖрдк рдХреЗрд╡рд▓ рдПрдХ рдПрдХрд▓ рдЖрдИрдкреА рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЬреАрд╡рди рдореЗрдВ, рдЖрдкрдХреЛ рдХреЗрд╡рд▓ рдХреБрдЫ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП IP рдХреЗhnik рд╕реЗ рдмрдВрдзрдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ, рдФрд░ рдПрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рдЖрдИрдкреА рдкрддреЗ рдХреА рдиреМрд╡реАрдВ рд╕рдВрдЦреНрдпрд╛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╣реИред

MySql рдХреЗ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдореЗрдВ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрдВрдЯреНрд░реЛрд▓ рдлреНрд▓реЛ рдлрд╝рдВрдХреНрд╢рди рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдЬрд┐рдирдХреЗ рдмреАрдЪ рд╣рдореЗрдВ IF рдлрд╝рдВрдХреНрд╢рди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ

рдПрдХ рдЖрдИрдкреА рддрд╛рд▓рд┐рдХрд╛ рдмрдирд╛рдПрдБ
 CREATE TABLE `ip` ( `user` varchar(200) DEFAULT NULL, `ip` varchar(16) DEFAULT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8; 

рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдлреЙрд░реНрдо рдХреЗ рд▓рд┐рдП MYSQLGetPW рдХреЗ рд▓рд┐рдП sql рдХреНрд╡реЗрд░реА рд▓рд╛рддреЗ рд╣реИрдВ:
  SELECT IF((SELECT COUNT(`user`) FROM ip WHERE user='\L')=0, (SELECT Password FROM users WHERE User='\L'), (SELECT users.Password FROM users,ip WHERE users.User='\L' AND ip.ip='\R' AND ip.user='\L')) 

рдЕрдВрддрд┐рдо рдкрд░рд┐рдгрд╛рдо рдореЗрдВ, рд╕рднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЬрд┐рдирдХреЗ рд▓рд┐рдП IP рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпрд╛рдВ рд╕реЗрдЯ рдирд╣реАрдВ рд╣реИрдВ, рдЙрдиреНрд╣реЗрдВ IP рдкрддреЗ рдХреЗ рд▓рд┐рдП рдЬрд╛рдБрдЪ рдХрд┐рдП рдмрд┐рдирд╛ рдкреНрд░рдорд╛рдгрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдФрд░ рдЙрди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЬреЛ IP рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдкрдВрдЬреАрдХреГрдд рд╣реИрдВ, рдЙрдирдХреА рдЬрд╛рдБрдЪ рдХреА рдЬрд╛рдПрдЧреА рдХрд┐ рд╡реЗ рдХрд┐рд╕ IP рдкрддреЗ рд╕реЗ рдЬреБрдбрд╝рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рдФрд░ рдЖрдк рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдПрдХ рд▓реЙрдЧрд┐рди рдХреЗ рд▓рд┐рдП рдЕрд╕реАрдорд┐рдд рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдЖрдИрдкреА рдкрддреЗ

Source: https://habr.com/ru/post/In183170/


All Articles