FTP服务器之vsFTPd搭建

在使用XEN创建虚拟机的时候,需要通过网络安装centos,那时候就简单的几个命令开启了vsftpd服务,把安装文件拷贝到/var/ftp/下面就可以通过 ftp://ip地址/ 进行访问了,可是对具体的原理和配置修改并不是十分清楚,幸好有鸟哥提供的私房菜,让我美味地重新品尝了一番。

1.chroot:
為了避免使用者離開自己的家目錄而進入到 Linux 系統的其他目錄去,FTP 可以限制使用者僅能在自己的家目錄當中活動喔!如此一來,由於使用者無法離開自己的家目錄,而且登入 FTP 後,顯示的『根目錄』就是自己家目錄的內容,這種環境稱之為 change root ,簡稱 chroot ,改變根目錄的意思啦!當一個惡意的使用者以 FTP 登入您的系統當中,如果沒有 chroot 的環境下,他可以到 /etc, /usr/local, /home 等其他重要目錄底下去察看檔案資料,尤其是很重要的 /etc/ 底下的設定檔,如 /etc/passwd 等等。如果您沒有做好一些檔案權限的管理與保護,那他就有辦法取得系統的某些重要資訊,用來『入侵』您的系統呢!所以在 chroot 的環境下,當然就比較安全一些咯!


2. FTP 的運作流程與使用到的埠口:
  1. 用戶端會隨機取一個大於 1024 以上的埠口 (port AA) 來與 FTP 伺服器端的 port 21 達成連線,這個過程當然需要三向交握了!達成連線後用戶端便可以透過這個連線來對 FTP 伺服器下達指令,包括查詢檔名、下載、上傳等等指令都是利用這個通道來下達的;

  2. FTP 伺服器的 21 埠號主要用在命令的下達,但是當牽涉到資料流時,就不是使用這個連線了。用戶端在需要資料的情況下,會告知伺服器端要用什麼方式來連線,如果是主動式 (active) 連線時, 用戶端會先隨機啟用一個埠口 (圖一當中的 port BB) ,且透過命令通道告知 FTP 伺服器這兩個資訊,並等待 FTP 伺服器的連線;

  3. FTP 伺服器由命令通道瞭解用戶端的需求後,會主動的由 20 這個埠號向用戶端的 port BB 連線,這個連線當然也會經過三向交握啦!此時 FTP 的用戶端與伺服器端共會建立兩條連線,分別用在命令的下達與資料的傳遞。 而預設 FTP 伺服器端使用的主動連線埠號就是 port 20 囉!
如此一來則成功的建立起『命令』與『資料傳輸』兩個通道!FTP 會使用到的埠號主要有:
  • 命令通道的 ftp (預設為 port 21) 與
  • 資料傳輸的 ftp-data (預設為port 20)。
再強調一次,這兩個埠口的工作是不一樣的,而且,重要的是 兩者的連線方向是不一樣的! 首先, port 21 主要接受來自用戶端的主動連線,至於 port 20 則為 FTP 伺服器主動連線至用戶端呢!


3.设定配置: /etc/vsftpd/vsftpd.conf,嚴格來說,整個 vsftpd 的設定檔就只有這個檔案!這個檔案的設定是以『 參數=設定值』來設定的,注意, 等號兩邊不能有空白喔!至於詳細的 vsftpd.conf 可以使用 『 man 5 vsftpd.conf 』來詳查。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值