zoukankan      html  css  js  c++  java
  • Debian+Pure-ftpd+MySQL+User manager for PureFTPd

    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 password
    
    MYSQLGetPW      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 uid
    
    MYSQLGetUID     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 gid
    
    MYSQLGetGID     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 directory
    
    MYSQLGetDir     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

  • 相关阅读:
    电机驱动MCU通用功能和技术点解析
    串行SPI NOR闪存VS并行NOR闪存
    非易失性存储器Flash和EEPROM之间的差异与优缺点
    为何要使用MCU
    MRAM实现对车载MCU中嵌入式存储器的取代
    ​弥补现有MRAM的不足
    将赛普拉斯nvSRAM替换为MRAM
    PSRAM在数据缓冲应用中可以取代SRAM或SDRAM
    数据库建表语句备份(二)
    数据库建表语句备份(一)
  • 原文地址:https://www.cnblogs.com/jiangu66/p/3249281.html
Copyright © 2011-2022 走看看