天天看點

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 &

繼續閱讀