FREEBSD6.0 架設(shè)FTP 服務(wù)器

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