天天看點

LINUX下的FTP配置管理

vsftpd是UNIX類作業系統上運作的伺服器名稱,它的名字代表“very secure FTP daemon”,安全性是其設計與開發的一個重要目标。它可運作在Linux、Solaris等系統中,支援很多其他的FTP 伺服器不支援的特征:

 非常高的安全性需求 
 帶寬限制 
 良好的可伸縮性 
 建立虛拟使用者的可能性 
 配置設定虛拟IP位址的可能性
一、vsftpd的啟動
#service vsftpd start
如果允許使用者匿名通路,需建立使用者ftp和目錄/var/ftp
# mkdir /var/ftp
# useradd –d /var/ftp ftp

二、vsftpd的配置
Vsftpd的配置檔案存放在/etc/vsftpd/vsftpd.conf  我們可根據實際數要對如下資訊進行配置:
1. 連接配接選項
☆監聽位址和控制端口
(1) listen_address=ip address
定義主機在哪個IP 位址上監聽FTP請求。即在哪個IP位址上提供FTP服務。

(2) listen_port=port_value
指定FTP伺服器監聽的端口号。預設值為21。

2. 性能與負載控制
☆逾時選項
(1) idle_session_timeout=
空閑使用者會話的逾時時間,若是超過這段時間沒有資料的傳送或是指令的輸入,則會被迫斷線。預設值是300s

(2) accept_timeout=numerical value
接受建立聯機的逾時設定。預設值為60s

☆負載選項
(1) max_clients= numerical value
定義FTP伺服器最大的兵法連接配接數。當超過此連接配接數時,伺服器拒絕用戶端連接配接。預設值為0,表示不限最大連接配接數。

(2) max_per_ip= numerical value
定義每個IP位址最大的并發連接配接數目。超過這個數目将會拒絕連接配接。此選項的設定将會影響到網際快車、迅雷之類的多線程下載下傳軟體。預設值為0,表示不限制。

(3) anon_max_rate=value
設定匿名使用者的最大資料傳輸速度,以B/s為機關。預設無。

(4) local_max_rate=value
設定使用者的最大資料傳輸速度。以B/s為機關。預設無。此選項對所有的使用者都生效。

3. 使用者選項
vsftpd的使用者分為3類:匿名使用者、本地使用者(local user)及虛拟使用者(guest)
☆ 匿名使用者
(1) anonymous_enable=YES|NO
控制是否允許匿名使用者登入

(2) ftp_username=
匿名使用者使用的系統使用者名。預設情況下,值為ftp

(3) no_anon_password= YES|NO
控制匿名使用者登入時是否需要密碼。

(4) anon_root=
設定匿名使用者的根目錄,即匿名使用者登入後,被定位到此目錄下。主配置檔案中預設無此項,預設值為/var/ftp/

(5) anon_world_readable_only= YES|NO
控制是否隻允許匿名使用者下載下傳可閱讀的文檔。YES,隻允許匿名使用者下載下傳可閱讀的檔案。NO,允許匿名使用者浏覽整個伺服器的檔案系統。

(6) anon_upload_enable= YES|NO
控制是否允許匿名使用者上傳檔案。除了這個參數外,匿名使用者要能上傳檔案,還需要兩個條件,write_enable參數為YES;在檔案系統上,FTP匿名使用者對某個目錄有寫權限。

(7) anon_mkdir_wirte_enable= YES|NO
控制是否允許匿名使用者建立新目錄。在檔案系統上,FTP匿名使用者必須對新目錄的上層目錄擁有寫權限。

(8) anon_other_write_enbale= YES|NO
控制匿名使用者是否擁有除了上傳和建立目錄之外的其他權限。如删除、更名等。

(9) chown_uploads= YES|NO
是否修改匿名使用者所上傳檔案的所有權。YES,匿名使用者上傳得檔案所有權改為另一個不同的使用者所有,使用者由chown_username參數指定。

(10) chown_username=whoever
指定擁有匿名使用者上傳檔案所有權的使用者。

☆本地使用者
(1) local_enable= YES|NO
控制vsftpd所在的系統的使用者是否可以登入vsftpd。

(2) local_root=
定義本地使用者的根目錄。當本地使用者登入時,将被更換到此目錄下。

☆虛拟使用者
(1) guest_enable= YES|NO
啟動此功能将所有匿名登入者都視為guest

(2) guest_username=
定義vsftpd的guest使用者在系統中的使用者名。

4. 安全措施
☆使用者登入控制
(1) /etc/vsftpd.ftpusers
Vsftpd禁止列在此檔案中的使用者登入FTP伺服器。此機制是預設設定的。

(2) userlist_enable= YES|NO
此選項激活後,vsftpd将讀取userlist_file參數所指定的檔案中的使用者清單。

(3) userlist_file=/etc/vsftpd.user_list
指出userlist_enable選項生效後,被讀取的包含使用者清單的檔案。預設值是/etc/vsftpd.user_list

(4) userlist_deny= YES|NO
決定禁止還是隻允許由userlist_file指定檔案中的使用者登入FTP伺服器。userlist_enable選項啟動後才能生效。預設值為YES,禁止文中的使用者登入,同時不向這些使用者發出輸入密碼的指令。NO,隻允許在文中的使用者登入FTP伺服器。

☆目錄通路控制
(1) chroot_list_enable= YES|NO
鎖定某些使用者在自己的目錄中,而不可以轉到系統的其他目錄。

(2) chroot_list_file=/etc/vsftpd/chroot_list
指定被鎖定在主目錄的使用者的清單檔案。

(3) chroot_local_users= YES|NO
将本地使用者鎖定在主目中。

三、vsftpd伺服器的配置執行個體:
基于IP的虛拟FTP伺服器配置
假設伺服器有兩個IP位址,192.168.1.199和192.168.1.200。vsftpd是建立在192.168.1.199上的。現在在192.168.1.200上再提供一個虛拟FTP伺服器。
☆建立虛拟FTP伺服器根目錄
# mkdir –p /var/ftp2/pub
確定/var/ftp2和/var/ftp2/pub目錄的所有者群組均為root,掩碼為755
# chmod 755 /var/ftp2           # chmod 755 /var/ftp2/pub
# chown –R root /var/ftp2        # chown –R : root /var/ftp2

☆ 增加虛拟FTP伺服器的匿名使用者帳号ftp2
# useradd –d /var/ftp2 –M ftp2

☆ 建立虛拟FTP伺服器的配置檔案
複制原來的vsftpd.conf作為虛拟FTP伺服器的配置檔案,并修改相關參數
# cp /etc/vsftpd/vsftpd.conf  /etc/vsftpd/vsftpd2.conf
# vi /etc/vsftpd/vsftpd2.conf
添加或修改參數:
Listen=YES
Listen_address=192.168.1.200
ftp_username=ftp2
anon_root=/var/ftp2

并可參考vsftpd的配置部分的說明做其他配置,如:
•允許匿名使用者上傳檔案
Write_enable=YES
Anon_world_readable_only=NO
Anon_upload_enable=YES
Anon_mkdir_write_enable=YES

建立匿名使用者上傳檔案的目錄,并設定權限:
# mkdir /var/ftp/incoming         # chmod o+w /var/ftp/incoming

•取消寫權限
Write_enable=NO
Anon_upload_enable=NO
Anon_mkdir_write_enable=NO
Anon_other_write_enable=NO

•限制下載下傳速度為80KB/s
Anon_max_rate=8000

•控制并發數,以及每個IP位址的并發數
Max_clients=100
Max_per_ip=3

☆啟動虛拟FTP伺服器
# /usr/sbin/vsftpd /etc/vsftpd/vsftpd2.comf &      

繼續閱讀