![]() |
||
|
如果像上面那行一樣,開頭是井字號,表示現在FTP服務預設是被關閉的。井字號表示註解,不使用,只要把井字號去掉改成下面的樣子: | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||
存檔後執行下面的指令:
kill-HUP`cat/var/run/inetd.pid`
讓inetd重新抓取/etc/inetd.conf設定檔就好了
如果要停止FTP服務,看之前是以daemon模式啟動還是inetd模式啟動而有所不同。
daemon模式可以執行下列指令來終止ftpd的程序:
killallftpd
如果之前是將ftpd放在/etc/rc.local中來由系統在開機時自動啟動,可以用下面的方法來停止自動提供FTP服務。
先打開/etc/rc.local來編輯,執行:
ee/etc/rc.local 將檔案中,執行ftpd那行的最前面加個井字號,儲存好即可。
當初是以inetd模式來提供服務的,則要修改inetd的設定檔/etc/inetd.conf,並讓inetd重新讀取設定。
先打開/etc/inetd.conf來編輯,執行:
ee/etc/inetd.conf
將設定檔中,有ftpd那行的前面加上井字號後,儲存設定檔。
讓inetd重讀設定檔,執行下面指令:
kill-HUP`cat/var/run/inetd.pid`
如果要確認FTP服是否已經停止了,可以執行:
netstat-na
看看下面這行是不是已經消失了:
tcp400*.21*.*LISTEN
如果沒有特殊設定,使用者用自己的帳號FTP到主機後,可以自由的切換任意目錄的,如果不想讓它亂跑則要做以下設定。
FreeBSD的ftpd以/etc/ftpchroot來控制哪些人或群組要如何chroot,所以我們開啟/新增這個設定檔來編輯。
ee/etc/ftpchroot
在檔案裡面放入我們要管制的人或群組:
上面的設定使得gsyan,foo及屬於staff群組的人都只能在自己目錄活動。
說明:
小老鼠開頭的表示後面接的名稱為群組。
有方法可以只開放一個帳號不chroot其它全部chroot嗎?
最近FreeBSD內建的ftpd在/etc/ftpchroot又多了可設定的東東,如果
首先開啟/etc/ftpchroot來編輯:
ee/etc/ftpchroot
假設admin是管理員的帳號,讓admin可以在系統中到處游走,就裡面放入下面三行:
儲存好就可以用ftp連線看看,上面的設定有底下的效果:
第三行應用在server有apache提供使用者放網頁,而apache設定UserDir=www時,以後只要告訴使用者:『請將做好的網頁直接用自己的帳號ftp到主機即可』,以前都要解釋半天,請他ftp後把網頁放到www資料夾,不過,記得先將使用者的www目錄先建立好,不然可是會連登入都無法登入哦!!
在FreeBSD4.8R以後的/etc/ftpchroot又新增了功能,詳細的設定可以manftpchroot(不過,之前的版本沒這鍋man)。
這個方法是利用使用者資料庫(系統密碼檔/etc/master.passwd)中loginclass的欄位,來設定使用者隸於的class,然後在/etc/login.conf中設定各class在FTPchroot的動作為何,在/etc/ftpchroot不方便設定時,適用於要處理很多人的狀況。
開啟
/etc/login.conf來修改,執行: ee/etc/login.conf
然後找到下面default:開頭的哪幾行,類似下面的內容:
加下面這一行:
:ftp-chroot:\
變成:
然後執行下列這行指令,把login.conf轉成資料庫格式
cap_mkdb/etc/login.conf
這樣,所有的帳號都會做chroot,活動的範圍就限定在自己的目錄中。
想全部管制,但又想開放系統管理用的帳號不做chroot呢?
前面的方法,我們設定的是default這個loginclass要做FTP的chroot,也就是所有人共同的設定,想讓系統管理可以到處游走,就設定一個系管的class,並且將ftp-chroot的屬性去掉即可達到部份開放的目的。
開啟/etc/login.conf新增系管的loginclass叫admin,並加入ftp-chroot為否的設定:
ee/etc/login.conf
新增下面幾行(注意藍色的部份),注意:除了前面defaults:下的ftp-chroot部份,我們在下面另外新增一個loginclass叫admin:
default:\
:copyright=/etc/COPYRIGHT:\
:welcome=/etc/motd:\
...................略
admin:\
:ftp-chroot@:\
:tc=default:
...................略
然後執行下列這行指令,把login.conf轉成資料庫格式:
cap_mkdb/etc/login.conf
注意:上面在admin這個class中用的是:
:ftp-chroot
@:\ ftp-chroot多了個小老鼠哦!它代表這個值要相反的意思,也就不做ftp-chroot。
再來,我們要告訴系統,誰屬於admin這個loginclass,直接修改帳號資料庫,執行
vipw
修改管理員(不做chroot)的loginclass為admin
例如:
假設系統管理員gsyan原來的帳號資料是:
gsyan:*:1000:1000::0:0:大雄:/home/gsyan:/bin/tcsh
要將它的loginclass修改為admin,就改為下面的樣子:
gsyan:*:1000:1000:
admin:0:0:大雄:/home/gsyan:/bin/tcsh 都修改完了就儲存檔案,利用FTP軟體以不同身份登入測試看看。
說明:
FreeBSD中/etc/master.passwd密碼欄位依序為:
帳號名稱:密碼:UID:GID:class:強制換密碼的時間:有效時間:資料:家目錄:shell
所以要改的loginclass是第五個欄位。
關於密碼檔的格式可以man5passwd查看
將不同身份的使用者分為幾個loginclass,並利用/etc/login.conf來設定各身份能夠使用的系統資源是滿不錯的管制工具,非常值得好好的研究,詳細的內容可以manlogin.conf。
讓在系統中沒有帳號訪客可以下載FTP站中的檔案,這種叫匿名的FTP服務(AnonymousFTP),要提供這種服務必須有一個叫ftp的帳號並建立好相關的目錄及檔案,這部份如果不清楚,利用/stand/sysinstall來做是最輕鬆不過的。底下是設定的步驟:
1.呼叫/stand/sysinstall,執行:
/stand/sysinstall
2.當出現安裝點單『/stand/sysinstallMainMenu』,按方向鍵移到『
Configure』,然後按 空白鍵 3.進入到『FreeBSDConfigurationMenu』後,按方向鍵移到『
Networking』,然後按 空白鍵 4.進入到『NetworkServicesMenu』後,按方向鍵移到『
AnonFTP』,後按 空白鍵 5.進入到『AnonymousFTPConfiguration』後,輸入下面的資料:
6.輸入完畢後就按OK。
7.接著輸入FTP的GID(使用預設值,直接按Enter鍵就可以)。8.接著,詢問是否要產生進站歡迎詞(welcomemessage),直接按Enter鍵就可以。
9.輸入進站的歡迎詞:
10.編輯完好後按Esc鍵,再按Enter鍵兩次即可存檔離開。
11.接著都選點單最上面的Exit即可。关键字:
相关信息 用户评论
·教你制作可以随身携带的FreeBSD系统 ·FreeBSD5.3与Apache2.0建立列目录 ·FreeBSD5.3 Apache ssl认证 ·初学者入门:FreeBSD系统的安装与优化 ·FreeBSD下Apache2.0运行模型分析及性能调整 ·FreeBSDhandbook中文版12存储 ·FreeBSDhandbook中文版10安全 ·FreeBSDhandbook中文版15串口通讯 ·FreeBSDhandbook中文版14声卡 ·FreeBSDhandbook中文版11打印(1)基本设置 ·FreeBSDhandbook中文版11打印(1)基本设置 ·FreeBSDhandbook中文版11打印(2)高级打印机设置A.过滤器 ·FreeBSDhandbook中文版11打印(2)高级打印机设置B.Header ·FreeBSDhandbook中文版8用户和基本的帐户管理 ·在FREEBSD5中使用MRTG画出Packet图表 ·FreeBSDhandbook中文版5XWindow系统 ·FREEBSD下搭建支持JSP的WEBSERVER ·FreeBSD4.7 Qmail Mysql Vpopmail QmailAdmin Sq
更多评论