當(dāng)你的 FreeBSD 安裝好後就內(nèi)建 FTP ,只是預(yù)設(shè)不啟動(dòng)它而已, 有人覺(jué)得 FreeBSD 內(nèi)建的 ftpd 太陽(yáng)春,會(huì)另外用別的 ftpd 來(lái)取代, 常見(jiàn)的替代方案有:proftpd , pureftp ......等,不過(guò)要隨時(shí)注意更新,因?yàn)?FTP 程式常常被找到有安全漏洞。
1 以 FreeBSD 內(nèi)建的 ftpd 提供服務(wù)
一般說(shuō)來(lái),當(dāng)你安裝好 FreeBSD ,F(xiàn)TP 的服務(wù)程式 /usr/libexec/ftpd 就有了
只要修改一下 /etc/inetd.conf , FTP 服務(wù)就已經(jīng)可以提供給有本機(jī)帳號(hào)的人使用
1-1 打開(kāi) FTP 服務(wù)
FreeBSD 系統(tǒng)的預(yù)設(shè) ftpd 提供 daemon 模式(stand alone)和由 inetd 啟動(dòng) ftpd 兩種方式
兩種方式比較起來(lái),daemon 的方式適合對(duì)同一時(shí)間連線使用多,負(fù)載較大的主機(jī)
1-1-1 方法一:daemon 模式 (stand alone)
1-1-1-1 立即啟動(dòng) ftpd daemon
如果只是要馬上啟動(dòng)服務(wù)只要執(zhí)行:
/usr/libexec/ftpd -D -l -l
參數(shù)說(shuō)明:
-D :讓 ftpd 以 daemon 的方式啟動(dòng)。
-l :叫 syslogd 記錄每次的連線,用兩次 -l 則可以連使用的動(dòng)作都記錄
-l 要留下連線記錄還需要配合修改 /etc/syslog.conf 才會(huì)啟動(dòng)記錄
ftpd 還有很多的參數(shù),可以 man ftpd 查看。
1-1-1-2 如何讓 FreeBSD 開(kāi)機(jī)時(shí)自動(dòng)啟動(dòng) ftpd
如果只用前面的方法啟動(dòng) ftpd daemon,下次系統(tǒng)重新開(kāi)機(jī)後就沒(méi)了,為了讓它能自動(dòng)啟動(dòng),我們可以把啟動(dòng)指令放入 /etc/rc.local 中或是仿 /usr/local/etc/rc.d 的檔案,自己寫個(gè) ftpd.sh 。
例一:
ee /etc/rc.local
在裡面放一行:
/usr/libexec/ftpd -D -l -l
例二:
仿 /usr/local/etc/rc.d 中的檔案,新增一個(gè)叫 ftpd.sh 的 script :
ee /usr/local/etc/rc.d/ftpd.sh
裡面放入下面的內(nèi)容:
|
存好檔後再更改一下檔案的權(quán)限,讓它可以執(zhí)行:
chmod 554 /usr/local/etc/rc.d/ftpd.sh
這樣,當(dāng) FreeBSD 開(kāi)機(jī)時(shí)就會(huì)自動(dòng)啟動(dòng) ftpd ,也可以利用 /usr/local/etc/rc.d/ftpd stop 來(lái)停止服務(wù),執(zhí)行時(shí)要加什麼參數(shù)就修改 ftpd_flag 那行。
1-1-2 方法二:由 inetd 來(lái)啟動(dòng) ftpd
這種方式,想當(dāng)然爾,就是要修改 /etc/inetd.conf 囉:
ee /etc/inetd.conf
先檢查一下 /etc/inetd.conf 中有沒(méi)有下面這行:
#ftp stream tcp nowait root /usr/libexec/ftpd ftpd -l |
如果像上面那行一樣,開(kāi)頭是井字號(hào),表示現(xiàn)在 FTP 服務(wù)預(yù)設(shè)是被關(guān)閉的。井字號(hào)表示註解,不使用,只要把井字號(hào)去掉改成下面的樣子:
ftp stream tcp nowait root /usr/libexec/ftpd ftpd -l |
存檔後執(zhí)行下面的指令:
kill -HUP `cat /var/run/inetd.pid`
讓 inetd 重新抓取 /etc/inetd.conf 設(shè)定檔就好了
注意:上面的 ` 是 Esc 鍵下面那鍋毛毛蟲的按鍵哦,可別打成單引號(hào)
1-2 停止 FTP 服務(wù)
如果要停止 FTP 服務(wù),看之前是以 daemon 模式啟動(dòng)還是 inetd 模式啟動(dòng)而有所不同。
1-2-1 daemon 模式
daemon 模式可以執(zhí)行下列指令來(lái)終止 ftpd 的程序:
killall ftpd
如果之前是將 ftpd 放在 /etc/rc.local 中來(lái)由系統(tǒng)在開(kāi)機(jī)時(shí)自動(dòng)啟動(dòng),可以用下面的方法來(lái)停止自動(dòng)提供 FTP 服務(wù)。
先打開(kāi) /etc/rc.local 來(lái)編輯,執(zhí)行:
ee /etc/rc.local
將檔案中,執(zhí)行 ftpd 那行的最前面加個(gè)井字號(hào),儲(chǔ)存好即可。
1-2-2 inetd 模式
當(dāng)初是以 inetd 模式來(lái)提供服務(wù)的,則要修改 inetd 的設(shè)定檔 /etc/inetd.conf ,並讓 inetd 重新讀取設(shè)定。
先打開(kāi) /etc/inetd.conf 來(lái)編輯,執(zhí)行:
ee /etc/inetd.conf
將設(shè)定檔中,有 ftpd 那行的前面加上井字號(hào)後,儲(chǔ)存設(shè)定檔。
讓 inetd 重讀設(shè)定檔,執(zhí)行下面指令:
kill -HUP `cat /var/run/inetd.pid`
如果要確認(rèn) FTP 服是否已經(jīng)停止了,可以執(zhí)行:
netstat -na
看看下面這行是不是已經(jīng)消失了:
tcp4 0 0 *.21 *.* LISTEN
1-3 限制使用者只能在自己目錄活動(dòng)(chroot)
如果沒(méi)有特殊設(shè)定,使用者用自己的帳號(hào) FTP 到主機(jī)後,可以自由的切換任意目錄的,如果不想讓它亂跑則要做以下設(shè)定。
1-3-1 方法一:利用 /etc/ftpchroot
FreeBSD 的 ftpd 以 /etc/ftpchroot 來(lái)控制哪些人或群組要如何 chroot ,所以我們開(kāi)啟/新增這個(gè)設(shè)定檔來(lái)編輯。
ee /etc/ftpchroot
在檔案裡面放入我們要管制的人或群組:
gsyan foo @staff |
上面的設(shè)定使得 gsyan, foo 及屬於 staff 群組的人都只能在自己目錄活動(dòng)。
全國(guó)職稱計(jì)算機(jī)考試速成過(guò)關(guān)系列套裝:W .. 定價(jià):¥133 優(yōu)惠價(jià):¥133.0 更多書籍 | |
全國(guó)職稱計(jì)算機(jī)考試速成過(guò)關(guān)系列套裝:W .. 定價(jià):¥124 優(yōu)惠價(jià):¥124.0 更多書籍 |