FREEBSD6.0 架設FTP 服務器

NoLoginList 的參數(shù)可以是使用者或是群組,如果是設定群組,請在群組名稱前加上 @。當要設定多個使用者或群組時,請使用逗號 , 分開。 匿名使用者「ftp」及「anonumous」會被對映到真實的使用者「ftp」,如果您要設定的是匿名的使用者「ftp」及「anonymous」,請使用「ftp」這個使用者。
例如:
NoLoginList user1,@group1,user2
表示不允許使用者 user1, user2 及群組 group1 登入。
NoLoginList user1,user2,@group1,@group2 |
TimeOut 設定聯(lián)機逾時秒數(shù)
當使用者超過這個時間沒有任何動作時,則中斷聯(lián)機。單位為秒。
TimeOut 900 |
MaxTimeOut 設定最大聯(lián)機逾時秒數(shù)
使用者可以自行設定 timeout 的時間,但我們可以在這里設定最長 timeout 的時間。預設是 2 小時。
MaxTimeOut 7200 |
15.7.3 FTP 目錄權限控制
DefaultMode 預設的權限控制模式
SmbFTPD 有二種模式,一個是 SMB mode,另一個是 Normal mode。在 SMB 模式中,SmbFTPD 會使用類似 Samba 的共享數(shù)據(jù)夾權限設定,系統(tǒng)會讀取 ShareConfPath 中的使用者目錄權限控制來設定他對于數(shù)據(jù)夾的存取權限。而 Normal 模式中,SmbFTPD 就像一般 FTP Daemon 一樣。
這個選項的值可以是 Normal 或 SMB,預設為 Normal。
DefaultMode Normal |
ExceptionList 設定不使用預設權限控制模式的使用者
您可以在 ExceptionList 中設定不要使用 DefaultMode 的使用者及群組。例如,您如果希望所有人都使用 SMB 模式,但群組 wheel 要使用一般模式,則請將 DefaultMode 設為 SMB,再在 ExceptionList 中設定 @wheel 即可。
ExceptionList 的參數(shù)可以是使用者或群組,如果是群組的話,請在群組名稱前加上 @。例如:
ExceptionList user1,user2,@group1,@group2 |
ShareConfPath 設定數(shù)據(jù)夾權限設定文件位置
設定數(shù)據(jù)夾設定的 smbftpd_share.conf 所在路徑。如果您設定 DefaultMode 為 SMB,或是 DefaultMode 為 Normal 但有 ExceptionList,則一定要指定 smbftpd_share.conf 的所在路徑。
我們會檢查 smbftpd_share.conf 中的下列關鍵詞設定:
- path:數(shù)據(jù)夾的路徑。
- rw:可以有寫入權限的使用者或群組。
- ro:可以有只讀權限的使用者或群組。
- browseable:資料夾是否要設為隱藏。若設為 no,則使用者在根目錄 ls 時,將看不到該數(shù)據(jù)夾,但依然可以 cd 到該數(shù)據(jù)夾中。
- disable_download:設定不可以下載的使用者。若使用者可以讀取該資料夾內容,您還可以設定讓它無法執(zhí)行下載的動作。
- disable_ls:設定在資料夾中執(zhí)行 ls 時,不可以看到資料夾內容的使用者及群組。
- disable_modify:設定不可以修改該資料夾中的檔案或目錄的使用者及群組。如果該使用者具有讀寫的權限,但又在此列表中,則該使用者只能上傳檔案或是建立新的目錄,而無法執(zhí)行 rename、delete、rmdir、chmod 等指令。
范例一:
這個范例是有一個數(shù)據(jù)夾名為 public,其所在目錄為 /home/public,在 samba 群組中的使用者可以有只讀的權限,而 root 可以有寫入的權限。
[public] path = /home/public rw = root ro = @samba
范例二:
數(shù)據(jù)夾名稱為 private,只有 wheel 群組的人可以寫入,而且這個數(shù)據(jù)夾是隱藏的,wheel 群組的人登入后使用 ls 看不到這個資料夾,但是可以 cd 進去資料夾中。
[private] path = /root/ftp rw = @wheel browseable = no
范例三:
數(shù)據(jù)夾名稱為 upload, 使用者「ftp」及「anonymous」只能上傳檔案或建立新目錄,但是無法看到該數(shù)據(jù)夾中的內容,也不可以下載或是修改現(xiàn)有的檔案。但在使用者「wheel」群組中的使用者可以具有全部的讀寫權限。
[upload] path=/home/upload" rw=ftp,@wheel disable_ls=ftp disable_modify=ftp disable_download=ftp
請注意,匿名使用者「ftp」及「anonumous」會被對映到真實的使用者「ftp」,如果您要設定的是匿名的使用者「ftp」及「anonymous」,請使用「ftp」這個使用者。
如果您設定某個使用者對于某個數(shù)據(jù)夾有寫入的權限,但該使用者卻無法寫入,因為除了 SmbFTPD 的權限控制外,您還必須對數(shù)據(jù)夾的 UNIX 權限做一些設定,讓該數(shù)據(jù)夾的 UNIX 權限允許該使用者寫入。
ShareConfPath /some/where/smbftpd_share.conf |
ChrootSet 設定使用 chroot 的使用者
在這個列表中的使用者或群組會被 chroot 到您所指定的路徑中,也就是讓它將您所設定的路徑做為根目錄,使用者無法到該路徑以外的地方。如果有需要,您可以同時設定多條 ChrootSet 的規(guī)則。
這個參數(shù)的第一個字段是使用者名稱或群組,如果在名稱之前加上 @,表示是群組,所有在該群組中的使用者都會被套用到群組的設定中。而另一個特別的用法是只有一個 @ 符號,表示所有使用者都會被套用到這個設定中。
請注意,被設定為 chroot 的使用者就算 DefaultMode 被歸類為 SMB mdoe 也一定會被強制使用 Normal mode。
這里有幾個設定的范例:
范例一:
使用者 ftp 登入時,將它 chroot 到 /var/spool/ftp
ChrootSet ftp /var/spool/ftp
范例二:
所有群組為 ftpgroup 的使用者都使用他們的家目錄 (home) 做為根目錄。例如,使用者 alex 的家目錄為 /home/alex,則其根目錄為 /home/alex,而 jack 則是 /home/jack。我們以 ~ 符號表示家目錄,系統(tǒng)會自動轉換為真正的路徑。
ChrootSet @ftpgroup ~
范例三:
所有 webusers 這個群組的人都以其家目錄下的 public_html 為根目錄。這對于您要開放 FTP 給某些使用者,但又不想讓他們去存取系統(tǒng)中其它路徑時十分有用。
ChrootSet @webusers ~/public_html
范例四:
所有使用者都必須以其家目錄為根目錄。
ChrootSet @ ~
ChrootSet @webusers ~/public_html ChrootSet @ ~ |
15.7.4 匿名使用者控制
AnonymousLogin 是否支持匿名使用者登入
是否允許匿名使用者登入。匿名的使用者賬號為 ftp 或 anonymous。如果您要允許匿名使用者登入,您必須先新增一個 ftp 的系統(tǒng)使用者。
這個選項的值可以是 Yes 或 No,默認值為 No。
AnonymousLogin No |
AnonymousOnly 是否只允許匿名使用者登入
是否只允許匿名使用者登入。若設為 Yes,則一般使用者無法登入。
AnonymousOnly No |
15.7.5 檔案傳輸控制
TransferLog 設定上下傳記錄文件位置
這個選項用來設定使用者上傳及下載的檔案記錄。您可以設定當使用者下載或上傳檔案時,將它所上傳或下載的檔名、傳輸時間、大小等數(shù)據(jù)寫在這個檔案中。
TransferLog /var/run/smbftpd.log |
MaxDownloadRate 設定最大下傳速度
您可以針對使用者及群組設定最大的下載頻寬。頻寬 rate 的單為是 KB/s。您也可以設定多條 MaxDownloadRate 規(guī)則。
這個選項的第一個參數(shù)可以是使用者或群組,如果是群組,則名稱開頭必須加上 @。而若只有一個 @ 符號,表示所有使用者都要套用到該規(guī)則。
MaxDownloadRate @group100 100 MaxDownloadRate ftp 20 MaxDownloadRate @friends 1000 |
MaxUploadRate 設定最大上傳速度
您可以針對使用者及群組設定最大的上傳頻寬。頻寬 rate 的單為是 KB/s。您也可以設定多條 MaxDownloadRate 規(guī)則。
這個選項的第一個參數(shù)可以是使用者或群組,如果是群組,則名稱開頭必須加上 @。而若只有一個 @ 符號,表示所有使用者都要套用到該規(guī)則。
MaxUploadRate @group100 100 MaxUploadRate ftp 20 MaxUploadRate @friends 1000 |
15.7.6 SSL/TLS 控制
SecurityPolicy 設定是否使用 SSL/TLS
這個選項可以讓您設定是否要啟用 SSL/TLS 加密。您可以 強制一定要使用加密聯(lián)機,或是關閉加密功能,或是同時允許加密及非加密模式。各種模式的說明如下:
- secure:只允許加密聯(lián)機。
- nosecure:只允許非加密聯(lián)機。
- both:同時允許加密及非加密聯(lián)機。
您可以將 SecurityPolicy 設為 secure、nosecure、或 both,默認值是同時允許加密及非加密聯(lián)機。
SecurityPolicy both |
EncryptionType 設定加密類型
當您要使用加密聯(lián)機時,您可以選擇要支持哪一種加密模式。SmbFTPD 支持二種模式:SSL 及 TLS,您可以使用下列設定值以選擇要使用另一種模式:
- TLS:只使用 RFC 2228 所定義的 FTP-TLS 模式。
- SSL:只支持 FTP-SSL 模式。
- Both:同時支持 SSL 及 TLS。
默認值是同時支持 SSL 及 TLS。
EncryptionType both |
NormalUserMustSecure 強制一般使用者使用加密聯(lián)機
當 NormalUserMustSecure 設為「Yes」時,表示一般使用者登入時一定要使用加密的聯(lián)機,否則無法登入。
我們在 FTP 服務中使用 SSL/TLS 的目的是為了避免使用者的機密數(shù)據(jù)在網絡上以明碼流傳,為了強制所有使用者都使用比較安全的模式聯(lián)機,您可以將這個選項設為「Yes」。
NormalUserMustSecure No |
AnonymDisableSecure 設定不允許匿名使用者使用加密聯(lián)機
當 AnonymDisableSecure 設為「Yes」時,系統(tǒng)將不允許匿名的使用者使用加密的聯(lián)機。
既然 SSL/TLS 的目的是避免使用者數(shù)據(jù)在網絡上流傳,而匿名使用者是任何人都可以使用,保護匿名使用者的數(shù)據(jù)似乎比較不需要。所以您可以將這個選項設為「No」,以避免匿名使用者也使用加密聯(lián)機登入,徒然耗費 CPU 的資源。
AnonymDisableSecure No |
SSLCertFile 設定公開金鑰位置
設定所要使用的憑證,這個憑證會被送到客戶端做為加密用。如果您沒有設定這個選項,預設會使用 /usr/local/etc/smbftpd/ssl.crt/server.crt。
您也可以和 Apache+SSL 共享憑證,Apache 的 SSL 憑證通常位于 /usr/local/etc/apache2/ssl.crt/server.crt。
SSLCertFile /usr/local/etc/smbftpd/ssl.crt/server.crt |
SSLKeyFile 設定私密金鑰位置
這個選項是用來設定您上述設定的憑證所對映的 private key。這個 private key 和憑證是成對的,預設是在 /usr/local/etc/smbftpd/ssl.key/server.key。
如果您使用 Apache SSL 憑證,則這里也必須設定使用 Apache 的 key,通常位于 /usr/local/etc/apache2/ssl.key/server.key。
SSLKeyFile /usr/local/etc/smbftpd/ssl.key/server.key |
SSLDebugMode 是否啟用 SSL 的除錯模式
設定是否要啟動 SSL 的除錯模式,當設為「Yes」時,您還必須要設定記錄文件位置 SSLDebugLog。
SSLDebugMode No |
SSLDebugLog 設定除錯記錄文件位置
設定 SSL 除錯模式的記錄文件要放在什么地方。
SSLDebugLog /var/log/smbftpd-ssl.log |
相關文章
Unix,BSD,Linux系統(tǒng)三者的區(qū)別小結
這篇文章主要介紹了Unix,BSD,Linux系統(tǒng)三者的區(qū)別小結,需要的朋友可以參考下2023-05-03- 一些朋友問小編FreeBSD如何添加硬盤?別擔心,今天小編就為大家分享FreeBSD添加硬盤的方法,希望對大家會有幫助,有需要的朋友一起去看看吧2017-04-06
- 今天小編為大家?guī)淼氖荈reebsd PF 安裝使用詳解,希望對大家會有幫助,有需要的朋友一起去看看吧2017-04-06
FreeBSD下zfs: failed with error 6錯誤如何解決?
最近一些朋友問小編 FreeBSD下zfs: failed with error 6錯誤如何解決?今天小編要為大家?guī)淼氖?FreeBSD下zfs: failed with error 6錯誤的解決方法,有需要的朋友一起去看2017-04-06Unix文件系統(tǒng)和pwd命令實現(xiàn)詳解
今天小編要為大家?guī)淼氖荱nix文件系統(tǒng)和pwd命令實現(xiàn)詳解,希望對大家會有幫助,有需要的朋友一起去看看吧2017-04-01- 今天小編將為大家?guī)淼氖荱nix中的dot命令詳解!希望對大家會有幫助!有需要的朋友一起去看看吧2017-03-22
- 近日!一些朋友對于freebsd時間設置小節(jié)存在疑慮!下面小編將為大家?guī)淼氖莊reebsd時間設置小節(jié)詳解!希望對大家會有幫助!有需要的朋友一起去看看吧2017-03-19
- 今天小編要為大家?guī)淼氖莋rub2引導freebsd詳解!希望對大家會有幫助,有需要的朋友一起去看看吧2017-03-19
- 下面小編為大家?guī)淼氖荈reeBSD10安裝內核源代碼方法講解!希望能夠幫助到大家!有需要的朋友一起去看看吧2017-03-19
FreeBSD下如何使GraphicsMagick支持中文字體?
最近一些朋友在問FreeBSD下如何使GraphicsMagick支持中文字體?今天小編為大家?guī)淼氖荈reeBSD下使GraphicsMagick支持中文字體的方法!有需要的朋友一起去看看吧2017-03-15