centos 安裝proftpd

http://proftpd.org/docs/howto/index.html 官網地址html

1、安裝node

一、wget ftp://ftp.proftpd.org/distrib/source/proftpd-1.3.5.tar.gz mysql

     tar -zxf proftpd-1.3.5.tar.gz sql

      cd proftpd-1.3.5shell

  ./configure --prefix=/usr/local/proftpd --with-modules=mod_sql:mod_sql_mysql:mod_quotatab:mod_quotatab_sql:mod_tls   --with-includes=/usr/local/mysql/include/mysql --with-libraries=/usr/local/mysql/bin/ ide

 make && make installui

    #注意:--with-modules=後面能夠加要使用的模塊(多個)用‘:’隔開,若是用2個以上--with-modules會致使只編譯最後一個模塊;--with-includes= 指msyql模塊的頭文件,yum裝的mysql(/usr/include/mysql);--with-libraries指mysql的庫文件yum裝的mysql(/usr/lib64/mysql),加密

     源碼安裝的mysql,proftpd 啓動會報 libmysqlclient.so.18 不存在,spa

ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib/.net

ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib64/

2、mysql 重建數據及表,這裏我只建了用戶和組,沒有建立配額表

create database proftpd;

grant all privileges on proftpd.* to proftpd@localhost  identified by '123456';

  CREATE TABLE `ftpUser` (

  `idno` int(11) NOT NULL AUTO_INCREMENT,

  `userid` varchar(100) NOT NULL DEFAULT '',

  `uid` int(11) DEFAULT NULL,

  `gid` int(11) DEFAULT NULL,

  `passwd` varchar(200) NOT NULL DEFAULT '',

  `shell` varchar(150) NOT NULL DEFAULT '/bin/false',

  `homedir` varchar(250) DEFAULT NULL,

  `regtime` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',

  `expire_date` date NOT NULL DEFAULT '2100-01-01',

  `active` enum('Y','N') NOT NULL DEFAULT 'Y',

  `count` int(11) DEFAULT '0',

  `memo` varchar(250) DEFAULT NULL,

  `agent` varchar(30) NOT NULL DEFAULT '111',

  PRIMARY KEY (`idno`),

  KEY `userid` (`userid`)

) ;

CREATE TABLE `ftpGroups` (

  `gidno` int(11) NOT NULL AUTO_INCREMENT,

  `groupname` varchar(100) NOT NULL DEFAULT '',

  `gid` int(11) NOT NULL DEFAULT '0',

  `members` varchar(200) NOT NULL DEFAULT '',

  PRIMARY KEY (`gidno`),

  KEY `groupname` (`groupname`)

) ;

3、配置文件

一、ServerName "FTP Server"

ServerType standalone

DefaultServer on

Port 21

Umask 022

MaxInstances 50

User nobody

Group nobody

DefaultRoot ~

AllowOverwrite on

AllowRetrieveRestart on

AllowStoreRestart on

<Limit SITE_CHMOD>

</Limit>

#加密模塊tls

<IfModule mod_tls.c>

 TLSEngine on

 TLSLog /var/log/proftpd-tls.log

 TLSProtocol SSLv23

        TLSRequired ctrl

#生成證書及key值(瞭解openssl 加密技術)

#openssl req -new -x509 -nodes -out proftpd.crt -keyout proftpd.key 一路回車便可

 TLSRSACertificateFile /usr/local/proftpd/etc/proftpd.crt

 TLSRSACertificateKeyFile /usr/local/proftpd/etc/proftpd.key

 TLSVerifyClient off

</IfModule>

ServerIdent off

PassivePorts 55000 60000

TimesGMT off

UseReverseDNS off

IdentLookups off

#mysql 虛擬用戶配置

SQLConnectInfo proftpd@localhost :3306 proftpd 123456

SQLAuthTypes Crypt #使用mysqld encrypt 模式加密,還有其餘passwd、md5加密方式,針對不一樣認證模式

SQLUserInfo ftpUser userid passwd uid gid homedir shell

SQLGroupInfo ftpGroups groupname gid members

RequireValidShell off

SQLAuthenticate users groups usersetfast groupsetfast

SQLUserWhereClause " active='Y' AND agent='111' AND expire_date > CURDATE() "

SQLLogFile /var/log/proftpd-sql.log

SQLLog PASS updatecount

SQLNamedQuery updatecount UPDATE "count=count+1 WHERE userid='%u'" ftpUser

二、

useradd nobody

groupadd nobody

touch /var/log/proftpd-tls.conf

touch /var/log/proftpd-sql.conf

chown -R nobody:nobody /var/log/proftpd.conf /var/log/proftpd-tls.conf

chown -R nobody:nobody /var/log/proftpd.conf /var/log/proftpd-sql.conf

三、插入數據

insert into ftpuser(userid,uid,gid,passwd,homedir) VALUES('test2',1001,1001,ENCRYPT('test'),'/www/test_ksgw')

4、客戶端登陸(FileZilla)

選擇登陸模式,

協議:ftp -文件傳輸協議

加密:要求顯示的FTP over TLS

相關文章
相關標籤/搜索