安裝 pureadmin , 一併會安裝 pure-ftpd 等需要套件
sudo apt-get install pureadmin
安裝完後預設只會使用 PAM 認証也就是系統有的一般使用者。如果要使用虛擬的帳號,就必須進行下列設定。
1) 新增虛擬使用者所要對應的系統使用者(ftpuser)與其家目錄
sudo adduser --system --home /home/ftpuser --shell /dev/null --disabled-password --disabled-login ftpuser
2) 新增虛擬使用者
sudo pure-pw useradd user01 -u ftpuser -d /home/ftpuser
如果要不同使用者有不同家目錄需在 -d 指定且新增其家目錄, 如
sudo mkdir /home/ftpuser/joe; sudo chown -R ftpuser /home/ftpuser/joe
sudo pure-pw useradd joe -u mis91 -d /home/ftpuser/joe
預設會新增在 /etc/pure-ftpd/pureftpd.passwd 中,或使用 pure-pw -f your.passwd.file 指定sudo pure-pw useradd joe -u mis91 -d /home/ftpuser/joe
3) 建立 db 並確認 /etc/pure-ftpd/conf/PureDB 中資料為 /etc/pure-ftpd/pureftpd.pdb
sudo pure-pw mkdb /etc/pure-ftpd/pureftpd.pdb -f /etc/pure-ftpd/pureftpd.passwd
加入 DB 認証模式至設定中
sudo ln -s /etc/pure-ftpd/conf/PureDB /etc/pure-ftpd/auth/45puredb
4) 確認幾項設定
* 確認 /etc/pure-ftpd/conf/UnixAuthentication 中指有字串 no
* 確認 /etc/pure-ftpd/conf/MinUID 中的數值比 ftpuser 的 UID 還小(如: adduser --system 的 UID 通常會預設值) , 不然虛擬帳號無法登入
5)重新啟動 pure-ftpd service
sudo /etc/init.d/pure-ftpd restart
其他常用到的幾個設定,檔案都需寫在 /etc/pure-ftpd/conf 下
* ) echo "yes" > ChrootEveryone (使用者被限制在家目錄下)
* ) echo "no" > PAMAuthentication (不使用 PAM 認証:一般用者無法用 pure-ftpd 登入)
*) echo ",9188" > Bind (設定 ip/port )
* ) echo "yes" > KeepAllFiles (這個應該是不允許用戶端刪除文件)
* ) echo "yes" >DontResolve (不解釋主機名,可以加快登錄速度)
設定允許 symbolic links :
1) 編輯 /etc/default/pure-ftpd-common
將 VIRTUALCHROOT=false 改為 VIRTUALCHROOT=true
2) Restart service
設定允許 匿名登入
1) echo "no" > /etc/pure-ftpd/conf/NoAnonymous
2) sudo adduser --system --home /home/ftpuser --shell /sbin/nologin --disabled-password --disabled-login ftp
3) Restart service
設定 Passive mode
1) echo "29799 29899" > /etc/pure-ftpd/conf/PassivePortRange
設定最多 clients 數量
1) echo "50" > /etc/pure-ftpd/conf/MaxClientsNumber
設定 Pureftp + TLS (先確認已安裝 openssl)
1) echo "1" > /etc/pure-ftpd/conf/TLS
("2" : If you want to accept TLS sessions only (no FTP))
("0" : To not allow TLS at all (only FTP), either delete /etc/pure-ftpd/conf/TLS)
2) Creating The SSL Certificate For TLS
sudo openssl req -x509 -nodes -days 7300 -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem
sudo chmod 600 /etc/ssl/private/pure-ftpd.pem
3) Restart servicesudo chmod 600 /etc/ssl/private/pure-ftpd.pem
Reference:
http://ubuntuforums.org/showthread.php?t=91052
http://www.ivankristianto.com/os/ubuntu/howto-install-ftp-server-with-user-management-in-ubuntu/1181/
http://wiki.ubuntu.org.cn/index.php?title=Pure-ftpd%E6%9C%8D%E5%8A%A1%E5%AE%89%E8%A3%85%E8%AE%BE%E7%BD%AE&variant=zh-tw
沒有留言:
張貼留言