华南俳烁实业有限公司

考試首頁(yè) | 考試用書 | 培訓(xùn)課程 | 模擬考場(chǎng) | 考試論壇  
  當(dāng)前位置:操作系統(tǒng) > Unix > 文章內(nèi)容
  

Unix系統(tǒng):FreeBSDFTP的架設(shè)教程

 [ 2017年6月21日 ] 【

  當(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)容:


#!/bin/sh

ftpd_flag="-l -l -S"
ftpd="/usr/libexec/ftpd"

case "$1" in
start)
[ -x ${ftpd} ] && ${ftpd} -D ${ftpd_flag} > /dev/null && echo -n ' ftpd
;;
stop)
/usr/bin/killall ftpd > /dev/null && echo -n ' ftpd'
;;
*)
echo "Usage: `basename $0` {start|stop}" >&2
;;
esac

exit 0

  存好檔後再更改一下檔案的權(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)。

首頁(yè) 1 2 3 4 尾頁(yè)
本文糾錯(cuò)】【告訴好友】【打印此文】【返回頂部
將考試網(wǎng)添加到收藏夾 | 每次上網(wǎng)自動(dòng)訪問(wèn)考試網(wǎng) | 復(fù)制本頁(yè)地址,傳給QQ/MSN上的好友 | 申請(qǐng)鏈接 | 意見(jiàn)留言 TOP
關(guān)于本站  網(wǎng)站聲明  廣告服務(wù)  聯(lián)系方式  站內(nèi)導(dǎo)航  考試論壇
Copyright © 2007-2013 中華考試網(wǎng)(Examw.com) All Rights Reserved
丹东市| 吉木萨尔县| 无棣县| 巧家县| 三亚市| 凤翔县| 镇安县| 大方县| 淮南市| 乌兰浩特市| 天镇县| 阜平县| 施秉县| 如皋市| 双流县| 大兴区| 黄浦区| 南充市| 山东| 昌乐县| 肇庆市| 宜兰市| 稷山县| 崇义县| 青冈县| 德州市| 仙居县| 双鸭山市| 彩票| 沙坪坝区| 禹州市| 诏安县| 清水县| 浪卡子县| 陇川县| 尼木县| 双江| 仁寿县| 香格里拉县| 大洼县| 鄂尔多斯市|