vsftpd.conf 配置

 yum install vsftpd

2.啓動/重啓/關閉vsftpd服務器
[root@localhost ftp]# /sbin/service vsftpd restart
Shutting down vsftpd: [ OK ]
Starting vsftpd for vsftpd: [ OK ]
OK表示重啓成功了.
啓動和關閉分別把restart改爲start/stop即可.
如果是源碼安裝的,到安裝文件夾下找到start.sh和shutdown.sh文件,執行它們就可以了.
3.與vsftpd服務器有關的文件和文件夾
vsftpd服務器的配置文件的是: /etc/vsftpd/vsftpd.conf
vsftpd服務器的根目錄,即FTP服務器的主目錄:
在/var/ftp處pub處
如果你想修改服務器目錄的路徑,那麼你只要修改/var/ftp到別處就行了
4.添加FTP本地用戶
有的FTP服務器需要用戶名和密碼才能登錄,就是因爲設置了FTP用戶和權限.
FTP用戶一般是不能登錄系統的,只能進入FTP服務器自己的目錄中,這是爲了安全.這樣的用戶就叫做虛擬用戶了.實際上並不是真正的虛擬用戶,只是不能登錄SHELL了而已,沒能力登錄系統.
/usr/sbin/adduser -d /opt/test_ftp -g ftp -s /sbin/nologin test
這個命令的意思是:
使用命令(adduser)添加test用戶,不能登錄系統(-s /sbin/nologin),自己的文件夾在(-d /opt/test_ftp)),屬於組ftp(-g ftp)
然後你需要爲它設置密碼 passwd test
這樣就添加了一個FTP用戶了.下面的示例可以幫助你進入FTP服務器了.
[root@localhost ftp]# ftp
ftp> open 192.168.0.33
Connected to 192.168.0.33 (192.168.0.33).
220 (vsFTPd 2.0.5)
Name (192.168.0.33:gxl): test
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> quit
221 Goodbye.
在windows中,只要在瀏覽器中輸入  進入FTP服務器,然後 右鍵 登錄,輸入用戶名和密碼就可以登錄自己的目錄了.
當然你要保證自己能讀寫自己的目錄,就要在配置文件vsftpd.conf裏設置一下就可以讀寫了.
local_enable=yes
write_enable=yes
local_umask=022
5.匿名上傳下載
修改配置文件即可vsftpd.conf,確定有以下幾行,沒有自己添加進去就可以了.
anonymous_enable=yes
anon_upload_enable=yes
anon_mkdir_write_enable=yes
anon_umask=022
然後你可以新建一個文件夾,修改它的權限爲完全開放,任何用戶就可以登錄這個文件夾,並上傳下載文件:
mkdir /var/ftp/guest
chmod 777 /var/ftp/guest
6.定製進入FTP服務器的歡迎信息
在vsftpd.conf文件中設置:
dirmessage_enable=yes
然後進入用戶目錄建立一個.message文件,輸入歡迎信息即可(我這裏寫入的是Welcome to gxlinux's FTP!):
[root@localhost test_ftp]# ftp 192.168.0.33
Connected to 192.168.0.33 (192.168.0.33).
220 (vsFTPd 2.0.5)
Name (192.168.0.33:gxl): test
331 Please specify the password.
Password:
230-Welcome to gxlinux's FTP!
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
7.實現虛擬路徑
將某個目錄掛載到FTP服務器下供用戶使用,這就叫做虛擬路徑.
比如將gxl用戶的目錄掛載到FTP服務器中,供FTP服務器的用戶使用,使用如下命令即可:
[root@localhost opt]# mount --bind /home/gxl /var/ftp/pub #使用掛載命令
[root@localhost opt]# ls /var/ftp/pub
LumaQQ Screenshot.png 桌面
8.打開vsFTPd的日誌功能
添加下面一行到vsftpd.conf文件中,一般情況下該文件中有這一行,只要把前面的註釋符號#去掉即可,沒有的話就添加,或者修改:
xferlog_file=/var/log/vsftpd.log
9.限制鏈接數,以及每個IP最大的鏈接數
修改配置文件中,例如vsftp最大支持鏈接數100個,每個IP能支持5個鏈接:
max_client=100
max_per=5
10.限制傳輸速度
修改配置文件中,例如讓匿名用戶和vsftd上的用戶(即虛擬用戶)都以80KB=1024*80=81920的速度下載
anon_max_rate=81920
local_max_rate=81920
11.將用戶(一般指虛擬用戶)限制在自家目錄
修改配置文件中,這樣用戶就只能訪問自己家的目錄了:
chroot_local_user=yes
如果只想某些用戶僅能訪問自己的目錄,其它用戶不做這個限制,那麼就需要在chroot_list文件(此文件一般是在/etc/vsftpd/中)中添加此用戶.
編輯此文件,比如將test用戶添加到此文件中,那麼將其寫入即可.一般的話,一個用戶佔一行.
[root@localhost vsftpd]# cat chroot_list
test
12.綁定某個IP到vsFTPd
有時候要限制某些IP訪問服務器,只允許某些IP訪問,例如只允許192.168.0.33訪問這個FTP,同樣修改配置文件:
listen_address=192.168.0.33
 
配置vsftpd.conf
                   anonymous_enable=NO            #禁止匿名
                   local_enable=YES                       #允許本地登錄
                   write_enable=YES                       #允許寫,如需上傳,則必須
                   local_umask=027                        #將上傳文件的權限設置爲:777-local_umask
                   anon_upload_enable=YES          #允許虛擬用戶和匿名用戶上傳
                   anon_other_write_enable=YES #允許虛擬用戶和匿名用戶修改文件名和刪除文件
                   dirmessage_enable=YES           
                   xferlog_enable=YES                      #打開日誌記錄
                   connect_from_port_20=YES
                   xferlog_file=/var/log/vsftpd.log     #日誌存放位置
                   xferlog_std_format=YES              #標準日誌格式
                   idle_session_timeout=600        #空閒連接超時
                   data_connection_timeout=120
                   ftpd_banner=Welcome to ChinaRise FTP service       #歡迎信息
                   guest_enable=yes                       #允許虛擬用戶
                   guest_username=vsftpdguest #虛擬用戶使用的系統賬號
                   virtual_use_local_privs=YES     #虛擬用戶擁有本地系統權限
                   chroot_local_user=NO              
                   chroot_list_enable=YES
                     #以上兩行將虛擬用戶限制在其目錄下,不能訪問其他目錄,或者直接用                            
                   chroot_local_user=YES                               
                   listen=yes                #監聽/被動模式
                   listen_port=21        #監聽端口
                   chroot_list_file=/etc/vsftpd/vsftpd.chroot_list       #虛擬用戶名單保存在文件/etc/vsftpd/vsftpd.chroot_list 中
                   user_config_dir=/etc/vsftpd/vsftpd_user_conf   #每個虛擬用戶名的更加詳細的培植保存在/etc/vsftpd/vsftpd_user_conf 中
虛擬用戶其他設置
      在/etc/vsftpd/vsftpd.chroot_list 文件中寫入允許登陸的虛擬用戶名稱,每行一個
      在/etc/vsftpd/vsftpd_user_conf 文件夾中創建一個以虛擬用戶用戶名命名的文件,
      寫入:local_root = /var/FTP/子目錄名
      然後在/var/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 &
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章