Debian+Pure-ftpd+MySQL+User manager for PureFTPd

來源:互聯網
上載者:User

1. 安裝pure-ftpd、MySQL

apt-get purge vsftpd
apt-get purge pure-ftpd
apt-get purge pure-ftpd-common
apt-get purge pure-ftpd-mysql
apt-get purge pure-ftpd-ldap
apt-get install pure-ftpd-mysql mysql-server

2. 配置pure-ftpd

echo "yes" > /etc/pure-ftpd/conf/ChrootEveryone
echo "yes" > /etc/pure-ftpd/conf/CreateHomeDir

3. 添加FTP組、使用者

groupadd ftpusers
useradd -s /bin/false -d /var/ftp -c "pure ftpd user" -g ftpusers ftpuser

4. 擷取User manager for PureFTPd

wget http://machiel.generaal.net/files/pureftpd/ftp_v2.1.tar.gz
tar xvzf ftp_v2.1.tar.gz
mv ftp /var/www/
http://192.168.x.x/ftp

5. 配置pure-ftpd-mysql

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

#############################################################################                                                                          ## PureFTPd MySQL configuration file.                                       ## Generated by the installation wizard for the 'User manager for PureFTPd' ## See http://machiel.generaal.net for more info                            ## or read the README.MySQL for explanations of the syntax.                 ##                                                                          ############################################################################## Optional : MySQL server name or IP. Don't define this for unix sockets.MYSQLServer     127.0.0.1# 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# Mandatory : user to bind the server as.MYSQLUser      root# Mandatory : user password. You must have a password.MYSQLPassword   *****# Mandatory : database to open.MYSQLDatabase  ftpusers# Mandatory : how passwords are stored# Valid values are : "cleartext", "crypt", "md5" and "password"# ("password" = MySQL password() function)# You can also use "any" to try "crypt", "md5" *and* "password"MYSQLCrypt      md5# In the following directives, parts of the strings are replaced at# run-time before performing queries :## \L is replaced by the login of the user trying to authenticate.# \I is replaced by the IP address the user connected to.# \P is replaced by the 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.## Very complex queries can be performed using these substitution strings,# especially for virtual hosting.# Query to execute in order to fetch the passwordMYSQLGetPW      SELECT Password FROM users WHERE User="\L" AND Status="1" AND (Ipaddress = "*" OR Ipaddress LIKE "\R")# Query to execute in order to fetch the system user name or uidMYSQLGetUID     SELECT Uid FROM users WHERE User="\L" AND Status="1" AND (Ipaddress = "*" OR Ipaddress LIKE "\R")# Optional : default UID - if set this overrides MYSQLGetUID#MYSQLDefaultUID 1000# Query to execute in order to fetch the system user group or gidMYSQLGetGID     SELECT Gid FROM users WHERE User="\L" AND Status="1" AND (Ipaddress = "*" OR Ipaddress LIKE "\R")# Optional : default GID - if set this overrides MYSQLGetGID#MYSQLDefaultGID 1000# Query to execute in order to fetch the home directoryMYSQLGetDir     SELECT Dir FROM users WHERE User="\L" AND Status="1" AND (Ipaddress = "*" OR Ipaddress LIKE "\R")# Optional : query to get the maximal number of files# Pure-FTPd must have been compiled with virtual quotas support.# MySQLGetQTAFS  SELECT QuotaFiles FROM users WHERE User="\L"# Optional : query to get the maximal disk usage (virtual quotas)# The number should be in Megabytes.# Pure-FTPd must have been compiled with virtual quotas support.# MySQLGetQTASZ  SELECT QuotaSize FROM users WHERE User="\L"# 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" 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")# Enable ~ expansion. NEVER ENABLE THIS BLINDLY UNLESS :# 1) You know what you are doing.# 2) Real and virtual users match.# MySQLForceTildeExpansion 1# If you upgraded your tables to transactionnal tables (Gemini,# BerkeleyDB, Innobase...), you can enable SQL transactions to# avoid races. Leave this commented if you are using the# traditionnal MyIsam databases or old (< 3.23.x) MySQL versions.# MySQLTransactions On

6. 重啟pure-ftpd-mysql

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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.