廣告廣告
  加入我的最愛 設為首頁 風格修改
首頁 首尾
 手機版   訂閱   地圖  簡體 
您是第 9476 個閱讀者
 
發表文章 發表投票 回覆文章
  可列印版   加為IE收藏   收藏主題   上一主題 | 下一主題   
love104 手機
個人頭像
個人文章 個人相簿 個人日記 個人地圖
小人物
級別: 小人物 該用戶目前不上站
推文 x0 鮮花 x4
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片
推文 x0
[Linux] FTP 教學分享
出處:鳥哥的 Linux 新手討論區 http://phorum.....org

這是我跟同學一起整理的ftp教學
有錯ㄉ話請指正喔!!!...^^

10-0 FTP SERVER摘要
FTP(File Transfer Protocol)檔案傳輸協定,是目前Internet最常被用來傳輸檔案的方法,它可以提供使用者上傳或下載檔案。由於FTP伺服器的服務功能相當好用,所以Linux在安裝光碟中就有WU-FTP Server,另外還有相當好用的PROFTP Server可在網路上下載供使用者安裝,使用者可在Linux文字模式下直接以ftp指令連接伺服器。
FTP伺服器除了提供擁有專屬帳號的使用者連接外,更提供了匿名式的檔案下載服務,使用者只要在帳號中填入anonymous,密碼則鍵入電子郵件地址,就能以匿名方式登入FTP伺服器來上傳或下載檔案,這也是FTP通訊協定得以盛行的原因之一。



10-1 WU-FTP 簡介
WU-FTPD 為 Washington Univ. in Saint Louis 所寫的FTP server程式。除了它原有 ftp server 的功能,主要地也增加了下列數項功能︰
1.可將使用者區分成不同的class,給予一些權限上的限制。
2.記錄 (log) 使用者所下的命令及傳送檔案的名稱。
3.可對不同網域做不同存取權限和可存取的時段。
4.提供user在下載檔案的時,可自動壓縮或解壓。
5.可記錄FTP Server使用情形。
6.可限定最多連線人數,以符合整體運作效能。
7.顯示相關訊息,讓使用者瞭解接收狀態。
8.可將FTP Server暫停,便於系統維護。
9.支援虛擬FTP主機(Virtual FTP Servers)。

10-2 WU-FTP 安裝與啟動
WU-FTP的安裝套件在Linux的安裝光碟就有,在安裝Linux系統時選取即可安裝WU-FTP。若是當初安裝系統時沒有安裝WU-FTP,則可經由下列的方式安裝。
[root@linux root]# mount /mnt/cdrom 將光碟機掛入/mnt/cdrom
[root@linux root]# cd /mnt/cdrom/RedHat/RPMS 切換到放置RPM檔案的目錄
[root@linux root]# rpm –ivh wu-ftpd-2.6.1-18.i386.rpm
如要從舊版升級至新版,請將參數-i改成-U即可
[root@linux root]# /etc/rc.d/init.d/xinetd reload 啟動FTP
要確認 FTP伺服器是否已啟動可利用telnet指令來測試:



WU-FTP Ver. 2.6.1-18有安全漏洞,可以讓hacker讀取Server上所有文件。必須升級至Ver. 2.6.1-20以修正漏洞。我們可以在http://www.redhat.com/apps/support/errata下載修正程式,執行
rpm –Fvh wu-ftpd-2.6.1-20.i386.rpm

安裝完成後修改/etc/xinetd.d/wu-ftpd檔,將disable設為no
service ftp{
disable = no ←改為no
socket_type = stream
wait = no
user = root
server = /usr/sbin/in.ftpd
server_args = -l -a
log_on_success += DURATION USERID
log_on_failure += USERID
nice = 10
}


存檔後,要求xinetd重新讀取設定檔

[root@linux root]# /etc/rc.d/init.d/xinetd reload

經過以上步驟,WU-FTP安裝啟動完成。

10-3 WU-FTP 設定
設定檔/etc/ftpaccess

l 拒絕登入的Unix使用者與UID
deny-uid <使用者ID>

l 拒絕登入的Unix群組與GID
deny-gid <群組ID>

l 不拒絕的Unix使用者與UID
allow-uid <使用者ID>

l 不拒絕的Unix群組與GID
allow-gid <群組ID>

l 當作訪客Unix使用者與UID
guestuser <使用者ID>

l 當作訪客Unix群組與GID
guestgroup <群組ID>

l 允許登入時帳號或密碼輸入錯誤的次數,這個值設越小越好,以避免被hacker攻擊
loginfails 3

登入成功後顯示歡迎訊息
message <訊息檔> login

例如我們編寫一個訊息內容如下:
////////////////////////////////////////////////////////////////////////// WELCOME TO FTP site !!!
請大家多分享好用的軟體----^_^---thx!!/////////////////////////////////////////////////////////////////////////
你的來源IP是 %R
您是目前站上第 %N 位使用者
系統時間是: %T
主目錄為: %C


將此內容存成welcome.msg放在根目錄下,設定歡迎訊息

message /welcome.msg login

則登入成功後會顯示歡迎訊息


訊息檔中使用的參數:
%T FTP Server系統的時間
%C 目前所在目錄名稱
%E 管理員的E-Mail
%R FTP Client的主機名稱
%L FTP Server的主機名稱
%U Client登入的帳號
%M 最大連線人數
%N 目前連線人數

l上傳設定
upload /var/ftp/guestftp /upload yes guest guest dirs
說明:/var/ftp/guestftp FTP 所在目錄
/upload 上傳目錄
Yes 允許上傳
guest guest owner group
dirs 允許建立目錄


密碼檢查
passwd-check <none|trivial|rfc822> <enforce|warn>


檢查方式:
none 不檢查密碼
trivial 密碼中需有”@”
rfc822 要符合rfc822規定

回應:
enforce 中斷與client的連線
warn 顯示警告訊息

l 匿名FTP根目錄
anonymous-root <目錄>

l 訪客根目錄
guest-root <目錄>
l 限制 user 只能在 /home 目錄下活動
guest-root <FTP目錄>
restricted-uid

l 拒絕某IP或DomainName進入
deny <IP> <訊息檔>
ex: deny *.*.edu.tw /msgdeny
deny 140.92.0.0/16 /msgdeny

l利用real, guest, anonymous三種身分與client來源IP/HostName來定義群組,以便於管理。
class <class> <typelist> <addrglob>
ex: class admin real *.pccu.edu.tw
class local real, guest, anonymous *.pccu.edu.tw
class remote real, guest, anonymous

l 紀錄檔
log commands <類別>
ex: log command real,anonymous
將類別為real與anonymous的連線時所下的指令,紀錄到紀錄檔去。

log transfers <類別> <directions>
ex: log transfers real inbound,outbound
將類別為real的連線所下載/上傳的檔案全部紀錄到紀錄檔去。

l 限定某個類別在某時間的最大登入人數
limit <類別> <n> <times> <訊息檔>
ex: limit local 100 Any1800-0100 /msgtoomany

l 對類別設定其對於可否使用chmod, delete, overwrite, rename, umask等權限
chmod <yes|no> <類別>
delete <yes|no> <類別>
overwrite <yes|no> <類別>
rename <yes|no> <類別>
umask <yes|no> <類別>
ex: chmod yes class=admin
delete no anonymous, real
overwrote no class=remote

設定檔/etc/ftphost

l 允許某使用者從某個IP登入
allow <使用者ID> <IP>
ex: allow John 140.137.161.86

l 不允許某使用者從某個IP登入
deny <使用者ID> <IP>
ex: deny Mary 140.137.161.80

其他管理指令:
ftpwho :查閱目前登入FTP_Server的使用者。
ftpcount:計算目前登入的人數。
ftpshut :關閉FTP_Server。單純關閉ftp,當該Server同時提供其他服務時,可以選擇僅關避FTP SERVER,以保留其他服務。
ftpshut:<-l 分鐘><-d 分鐘><絕對時間><警告訊息>



10-4 ProFTP簡介
目前大多數站台的 FTP 服務,以採用 WU-FTPD 伺服器程式架設者居多,而且WU-FTPD 在效能上,一直有不錯的表現,程式版本更新的速度也不慢,不過,它卻不是一個夠安全的系統。
如果想找一個不錯的 FTP 伺服程式來取代 WU-FTPD, ProFTPD是另一個不錯得選擇!ProFTPD 的發展,一開始,便是定位在:成為一個安全且容易設定的 FTP 伺服器程式。

以下是 ProFTPD 的特點:
· 單一設定檔,設定風格接近 Apache 設定檔
· 每一目錄可用 .ftpaccess 來控制(類似 Apache 的 .htaccess)
· 易於設定多重虛擬主機以及匿名FTP
· 可讓管理人員選擇 standalone 或 inetd 的執行方式
· 匿名FTP不需要額外的目錄結構
· 原始碼開放,沒有 SITE EXEC 指令,安全性可受監控
· 根據系統檔案權限,可隱藏目錄或檔案
· 以較低權限的身份來執行,降低萬一被攻入的危險
· 記錄檔支援 utmp/wtmp,並和 wu-ftpd 相容,記錄格式也可擴充
支援 shadow password


10-5 開始安裝
1.以proftpd-1.2.4.tar.gz安裝為範例
步驟:
[root@linux root]#tar –zxvf proftpd-1.2.4.tar.gz
[root@linux proftpd-1.2.4]#cd proftpd-1.2.4
[root@linux proftpd-1.2.4]#./configure 執行組態設定檔make
[root@linux proftpd-1.2.4]#make install

2. ProFTPD 設定檔的位罝
用 RPM 檔安裝的 ProFTPD 設定檔在 /etc/proftpd.conf
若抓 tar.gz 檔回來安裝的,則設定檔在 /usr/local/etc/proftpd.conf
.
3. 啟動ProFTP
ProFTP啟動方式有兩種,一種是standalone,另一種則為inetd,若此Server為專門之FTP則建議採用Standalone方式啟動,若還有其他服務則建議採inetd啟動其效能較佳。
以下為inetd方式作為範例:
修改 /usr/local/etc/proftpd.conf

ServerType inetd

在 /etc/xinedtd.d/ 下建立 proftpd 檔,內容為 :




Service ftp {
disable = no ←預設為 yes,請改為 no
socket_type = stream
wait = no
user = root
server = /usr/local/sbin/proftpd
}






10-6 proftpd.conf 的設定範例:

# ServerName : 設定您的站台名稱 (”# ”號為註解)
ServerName "MY FTP SITE"

# ServerType : 設定 ProFTPD 的執行方式,可以是 standalone 或 inetd
# 此處是 inetd
ServerType inetd

# DefaultServer 用來設定 unknown 的連接是否由預設的主機來處理
DefaultServer on

# Port 21 是 FTP 標準的通道,inetd啟動的話無法變更port
Port 21

# 檔案安全濾網值設為022
Umask 022

# 可避免 Dos 攻擊的設定
MaxInstances 30

# 執行時的身份/組別權限
User nobody
Group nobody

#設定檔案能被覆寫.
<Directory /*>
AllowOverwrite on
</Directory>

#針對特定目錄設定存取的限制,如上傳目錄
<Directory uploads/*>
#予許來源讀取
<Limt READ>
#Deny All
Allow All
</Limit>
#允許來源儲存、建立目錄
<Limit STOR MKD>
Allow All
</Limit>
</Directory>

# 以下是匿名 FTP 的設定
<Anonymous ~ftp>
User ftp
Group ftp
AnonRequirePassword off
RequireValidShell off

#將用ftp身份登入的user權限設為等同anonymous
UserAlias anonymous ftp

# 設定匿名最大連線人數
MaxClients 10

#當使用者登入時顯示歡迎訊息 , welcome.mag為歡迎訊息檔名
#DisplayFirstChdir 是當切換目錄時的提示訊息
DisplayLogin welcome.msg
DisplayFirstChdir .message

#限制匿名使用者是有能寫入資料,此處設為不允許, Allow all 為允許
<Limit WRITE>
DenyAll
</Limit>
</Anonymous>
存檔之後,重新啟動 inetd :

/etc/rc.d/init.d/inet restart

10-7其他設定

設定一般user登入與否:
<Limit Login>
AllowAll 若不允許為 DenyAll </Limit>

設定一般user登入時的home目錄:
DefaultRoot <目錄位置>

若要設定根目錄為自已的home目錄:讓使用者無法切換到別人的home目錄
DefaultRoot ~

設定支援續傳:
AllowStoreRestart on

#若想使用Root身份登入,請加上:
RootLogin On

隱藏版本訊息:
ServerIdent On “”

設定一個IP的登入個數:
MaxClientsPerHost 1

設定Log檔的位置和檔名:
TransferLog <目錄位置><檔名>

匿名FTP來源限制:
<Limit Login>
Order Deny,Allow
Deny from .evil.net , .otherevil.net
Allow from all
</Limit>

若發現使用 CuteFtp 等軟體連上FTP時,無法改變檔案屬性,在proftpd.conf加入
AllowChmod true


隱藏某Group/User的檔案:
HideUser <使用者> / HideGroup <群組>

若設定完仍無法使用匿名登入,請確定在匿名使用者中,有加入:
RequireValidShell off



獻花 x0 回到頂端 [樓 主] From:台灣數位聯合 | Posted:2005-08-05 10:11 |
graceman
數位造型
個人文章 個人相簿 個人日記 個人地圖
小人物
級別: 小人物 該用戶目前不上站
推文 x0 鮮花 x4
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

不錯的教學設定文章, thanks


獻花 x0 回到頂端 [1 樓] From:台灣中華電信 | Posted:2005-08-24 23:57 |
gtt 手機
個人頭像
個人文章 個人相簿 個人日記 個人地圖
小有名氣
級別: 小有名氣 該用戶目前不上站
推文 x0 鮮花 x50
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

大大 這篇文章 要現在有用 [Linux] 架 FTP 者 才搞得清楚 !! 表情


獻花 x0 回到頂端 [2 樓] From:台灣中華電信 | Posted:2005-09-18 21:35 |
lapklaman
個人文章 個人相簿 個人日記 個人地圖
小有名氣
級別: 小有名氣 該用戶目前不上站
推文 x3 鮮花 x427
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

感謝大大的分享


獻花 x0 回到頂端 [3 樓] From:台灣中華電信 | Posted:2010-03-13 09:19 |
mnbmnb5266
個人文章 個人相簿 個人日記 個人地圖
小有名氣
級別: 小有名氣 該用戶目前不上站
推文 x5 鮮花 x46
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片

教學是不錯,只不過我不接觸這個軟體所以暫時也是用不到,可惜啊


我的收藏
https://pan.baidu.com/s/1QUJ9lr_VzxXKRJAlBJgUQA
提取码:am2c
獻花 x0 回到頂端 [4 樓] From:加拿大Rogers | Posted:2010-08-25 19:46 |

首頁  發表文章 發表投票 回覆文章
Powered by PHPWind v1.3.6
Copyright © 2003-04 PHPWind
Processed in 0.021859 second(s),query:16 Gzip disabled
本站由 瀛睿律師事務所 擔任常年法律顧問 | 免責聲明 | 本網站已依台灣網站內容分級規定處理 | 連絡我們 | 訪客留言