cd /usr/ports/ftp/pure-ftpd
make install clean



#config 部分選擇支援 MYSQL、UTF-8

cd /usr/local/etc
cp pure-ftpd.conf.sample pure-ftpd.conf


設定Pure-FTPd


cd /usr/local/etc
cp pure-ftpd.conf.sample pure-ftpd.conf
chmod u+w pure-ftpd.conf


vi /usr/local/etc/pure-ftpd.conf


pure-ftpd 可設定的功能選項非常多,下面介紹幾個常用的參數:



# 所有人都 chroot 只有屬於管理群組 GID

# (下面的設定假設開放自訂的 admin 群姐 GID=1000) 的人才不 chroot

ChrootEveryone yesTrustedGID 1000


# 最多的連線數

MaxClientsNumber 50


# 同一個 IP 能夠連線的最高數量

MaxClientsPerIP 8


# 匿名 FTP 上載/下載的比率

# AnonymousRatio 1 10


# 所有用戶 上載/下載的比率

# UserRatio 1 10


# anonymous 使用者的頻寬速限,單位 KB/s

# AnonymousBandwidth 8


# 所有使用者(包括 anonymous) 的頻寬速限, 單位 KB/s

# UserBandwidth 8


# 如果要使用 PureDB user database 來建立虛擬帳號就加入下面這行

# 詳細的說明可以參考 README.Virtual-Users

# PureDB /usr/local/etc/pureftpd.pdb




建立MySQL設定檔

vim pureftpd-mysql.conf


# If you want to use the Socket connect methode comment out the

# Lines with MMYSQLServer and MYSQLPort.

# If you want to use the Port methode comment out the MYSQLSocket line

#MYSQLSocket /var/lib/mysql/mysql.sock

MYSQLServer localhost

MYSQLPort 3306

MYSQLUser ftp #MySQL使用者 最好是設定非root

MYSQLPassword password #密碼

MYSQLDatabase pureftpd

MYSQLCrypt cleartext

MYSQLGetPW SELECT Password FROM ftpd WHERE User="\L" AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "\R")

MYSQLGetUID SELECT Uid FROM ftpd WHERE User="\L" AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "\R")

MYSQLGetGID SELECT Gid FROM ftpd WHERE User="\L"AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "\R")

MYSQLGetDir SELECT Dir FROM ftpd WHERE User="\L"AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "\R")

MySQLGetBandwidthUL SELECT ULBandwidth FROM ftpd WHERE User="\L"AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "\R")

MySQLGetBandwidthDL SELECT DLBandwidth FROM ftpd WHERE User="\L"AND status="1" AND (ipaccess = "*" OR ipaccess LIKE "\R")

MySQLGetQTASZ SELECT QuotaSize FROM ftpd WHERE User="\L"AND status="1"

MySQLGetQTAFS SELECT QuotaFiles FROM ftpd WHERE User="\L"AND status="1"



到此已設定完成,以下建立資料庫

DROP TABLE IF EXISTS ftpd;
CREATE TABLE ftpd (
User varchar(16) NOT NULL default '',
status enum('0','1') NOT NULL default '0',
Password varchar(64) NOT NULL default '',
Uid varchar(11) NOT NULL default '-1',
Gid varchar(11) NOT NULL default '-1',
Dir varchar(128) NOT NULL default '',
ULBandwidth smallint(5) NOT NULL default '0',
DLBandwidth smallint(5) NOT NULL default '0',
comment tinytext NOT NULL,
ipaccess varchar(15) NOT NULL default '*',
QuotaSize smallint(5) NOT NULL default '0',
QuotaFiles int(11) NOT NULL default 0,
PRIMARY KEY (User),
UNIQUE KEY User (User)
) TYPE=MyISAM;



設定開機自動啟動

vim /etc/rc.conf

加入pureftpd_enable="YES"





啟用ftp

/usr/local/etc/rc.d/pure-ftpd start





資料庫欄位意義:

User: 使用者名稱

status: 使用者狀態,1為可登入,0為不可登入

Password: 密碼

UID: 系統的 UID,要大於100以上(Uid,Gid會影響上傳下載權限,基本上是都設一樣)

GID: 系統的 GID,要大於100以上

Dir: 登入系統的使用者目錄

ULBandwidth: 上傳頻寬,單位 KB/s

DLBandwidth: 下載頻寬,單位 KB/s

comment: 使用者身份簡介說明

ipaccess: 連線來源 IP限制,* 為不限制

QuotaSize:家目錄的大小限制,單位 MB,0為不限制

QuotaFiles: 檔案數量限制,0為不限制
arrow
arrow
    全站熱搜

    Matt 發表在 痞客邦 留言(0) 人氣()