歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> RedHat9.0vs-ftp基本設置

RedHat9.0vs-ftp基本設置

日期:2017/2/25 10:39:08   编辑:Linux教程
  FTP,file transfer protocol,這是檔案傳輸的通訊協議,也是一般最常用來傳送檔案的方式。讀者在使用RedHat9 的時候,可能會感受到ftp server 有一些改變:第一,就是ftp server 只剩下vsftp,原有的wuftp 等都沒放入 第二,就是vsftp 從XINETD 中獨立出來,並將設定檔從/etc/vsftpd.conf 之中移到/etc/vsftpd/vsftpd.conf。 為什麼做這樣的改變?可以想見的是vsftp 已有獨立運作的能力,不需要XINETD 來做更進一步的管控,並且類似sendmail、httpd、ssh、samba 等,將設定文件的放入/etc 下獨立的目錄。 FTP 分為兩類,一種為PORT FTP,也就是一般的FTP 另一類是PASVFTP,分述如下:PORT FTP 這是一般形式的FTP,首先會建立控制頻道,默認值是port 21,也就是跟port 21 建立聯機,並透過此聯機下達指令。第二,由FTP server 端會建立數據傳輸頻道,默認值為20,也就是跟port 20 建立聯機,並透過port 20 作數據的傳輸。 PASV FTP 跟PORT FTP 類似,首先會建立控制頻道,默認值是port 21,也就是跟port 21 建立聯機,並透過此聯機下達指令。第二,會由client 端做出數據傳輸的請求,包括數據傳輸port 的數字。 這兩者的差異為何?PORT FTP 當中的數據傳輸port 是由FTP server 指定,而PASV FTP 的數據傳輸port 是由FTP client 決定。通常我們使用PASV FTP,是在有防火牆的環境之下,透過client 與server 的溝通,決定數據傳輸的port。3.2.2 范例 3.2.1. 直接啟動VSFTP 服務 這個范例是套用RedHat 的預設范例,直接啟動vsftp。 [root@relay vsftpd]# /sbin/service vsftpd start Starting vsftpd for vsftpd: OK ] 3.2.2. 更換port 提供服務:將預設的port 21 更換為2121為了安全,或是以port 來區隔不同的ftp 服務,我們可能會將ftp port 改為21 之外的port,那麼,可參考以下步驟。 Step1. 修改/etc/vsftpd/vsftpd.conf 新增底下一行 listen_port=2121 Step2. 重新啟動vsftpd [root@home vsftpd]# /sbin/service vsftpd restart Shutting down vsftpd: OK ] Starting vsftpd for vsftpd: OK ] 3.2.3. 特定使用者peter、john 不得變更目錄 使用者的預設目錄為/home/username,若是我們不希望使用者在ftp 時能夠 切換到上一層目錄/home,則可參考以下步驟。 Step1. 修改/etc/vsftpd/vsftpd.conf 將底下三行 #chroot_list_enable=YES # (default follows) #chroot_list_file=/etc/vsftpd.chroot_list 改為 chroot_list_enable=YES # (default follows) chroot_list_file=/etc/vsftpd/chroot_list Step2. 新增一個檔案: /etc/vsftpd/chroot_list 內容增加兩行: peter john Step3. 重新啟動vsftpd [root@home vsftpd]# /sbin/service vsftpd restart Shutting down vsftpd: OK ] Starting vsftpd for vsftpd: OK ] 若是peter 欲切換到根目錄以外的目錄,則會出現以下警告: ftp cd /home 550 Failed to change directory. 3.2.4. 取消anonymous 登入 若是讀者的主機不希望使用者匿名登入,則可參考以下步驟。Step1. 修改/etc/vsftpd/vsftpd.conf 將 anonymous_enable=YES 改為 anonymous_enable=NO Step2. 重新啟動vsftpd [root@home vsftpd]# /sbin/service vsftpd restart Shutting down vsftpd: OK ] Starting vsftpd for vsftpd: OK ] 3.2.5. 安排歡迎話語若是我們希望使用者在登入時,能夠看到歡迎話語,可能包括對該主機的說明,或是目錄的介紹,可參考以下步驟。首先確定在/etc/vsftpd/vsftpd.conf 當中是否有底下這一行 dirmessage_enable=YES RedHat9 的默認值是有上面這行的。 接著,在各目錄之中,新增名為.message 的檔案,再這邊假設有一個使用者test1,且此使用者的根目錄下有個目錄名為abc,那首先我們在/home/test1 之下新增.message,內容如下: Hello~ Welcome to the home directory This is for test only... 接著,在/home/test1/abc 的目錄下新增.message,內容如下: Welcome to abc‘s directory This is subdir... 那麼,當使用者test1 登入時,會看到以下訊息: 230- Hello~ Welcome to the home directory 230- 230- This is for test only... 230- 若是切換到abc 的目錄,則會出現以下訊息: 250- Welcome to abc‘s directory 250- 250- This is subdir ... 3.2.6. 對於每一個聯機,以獨立的process 來運作一般啟動vsftp 時,我們只會看到一個名為vsftpd 的process 在運作,但若是讀者希望每一個聯機,都能以獨立的process 來呈現,則可執行以下步驟。Step1. 修改/etc/vsftpd/vsftpd.conf 新增底下一行 setproctitle_enable=YES Step2. 重新啟動vsftpd [root@home vsftpd]# /sbin/service vsftpd restart Shutting down vsftpd: OK ] Starting vsftpd for vsftpd: OK ] 使用ps -ef 的指令,可以看告不同使用者聯機的情形,如下圖所示: [root@home vsftpd]# ps -ef
Copyright © Linux教程網 All Rights Reserved