Vsftpd服務器全面介紹
vsftpd服務器
vsftpd 是“very secure FTP damon”的縮寫,安全性是它的一個***的特點。Vsftpd是一個UNIX類操作系統上運行的服務器的名字,它可以運行在諸如linux,BSD,Solaris,HP-UNIX 等系統上面,是一個完全免費的,開發源碼的FTP服務器軟件。支持很多其他的FTP服務器所不支持的特征。比如所不支持的特征。比如:非常高的安全性需求,帶寬,良好的可伸縮性,可創建虛擬用戶,支持IPv6 ,速率高等。
一、vsftpd服務器每個配置文件及重要選項的作用
1.相關配置文件/etc目錄下的vsftpd.conf,vsftpd.ftpuser,vsftpd.user_list,/etc/xinetd.d/vsftpd
2.配置vsftp
主要是修改/etc/vsftpd.conf,相關參數如下:
- anonymous_enable=YES 是否允許匿名ftp,如否則選擇NO
- local_enable=YES 是否允許本地用戶登錄
- local_umask=022 默認的umask碼
- anon_upload_enable=YES 是否允許匿名ftp用戶訪問
- anon_upload_enable=YES 是否允許匿名上傳文件
- anon_mkdir_write_enable=YES 是否允許匿名用戶有創建目錄的權利
- dirmessage_enable=YES 是否顯示目錄說明文件,默認是YES但需要收工創建.message文件
- xferlog_enable=YES 是否記錄ftp傳輸過程
- connect_from_port_20=YES 是否確信端口傳輸來自20(ftp-data)
- chown_upload=YES
- chown_username=username 是否改變上傳文件的屬主,如果是需要輸入一個系統用戶名,你可以把上傳的文件都改成root屬主
- xferlog_file=/var/log/vsftpd.log ftp傳輸日志的路徑和名字默認是/var/log/vsftpd.log
- xferlog_std_format=YES 是否使用標準的ftp xferlog模式
- idle_session_timeout=600 設置默認的斷開不活躍session的時間
- data_connection_timeout=120 設置數據傳輸超時時間
- nopriv_user=ftpsecure 運行vsftpd需要的非特權系統用戶默認是nobody
- async_abor_enable=YES 是否允許運行特殊的ftp命令async ABOR.這里我
- ascii_upload_enable=YES
- ascii_download_enable=YES 是否使用ascii碼方式上傳和下載文件
- ftpd_banner=Welcome to chenlf FTP service. 定制歡迎信息
- deny_email_enable=YES
- banned_email_file=/etc/vsftpd.banned_emails 是否允許禁止匿名用戶使用某些郵件地址,如果是輸入禁止的郵件地址的路徑和文件名
- chroot_list_enable=YES
- chroot_list_file=/etc/vsftpd.chroot_list 是否將系統用戶限止在自己的home目錄下,如果選擇了yes那么chroot_list_file=/etc/vsftpd.chroot_list中列出的是不chroot的用戶的列表
- max_clients=Number 如果以standalone模式起動,那么只有$Number個用戶可以連接,其他的用戶將得到錯誤信息,默認是0不限止
- message_file 設置訪問一個目錄時獲得的目錄信息文件的文件名,默認是.message
詳細的幫助說明man vsftpd.conf查看。
二、vsftpd服務器的配置過程以及每一步的作用
1安裝vsftpd
源代碼安裝
下載源代碼
wget ftp://vsftpd.beasts.org/users/cevans/vsftpd-1.2.1.tar.gz
解壓 tar zxvf vsftpd-1.2.1.tar.gz
進入源代碼目錄cd vsftpd-1.2.1
編譯 ./configure
make
創建用戶,如果不存在 nobody用戶,請創建 useradd nobody
創建目錄vsftpd 需要 /usr/share/empty 目錄
如果不存在,請創建:mkdir /usr/share/empty
安裝 make install
復制配置文件到/etc目錄cp vsftpd.conf
2 /etc/etc/vsftpd.conf配置
以下是我的配置文件.允許匿名FTP,允許上傳,chroot用戶目錄,上傳文件屬主改為root1.3.2 /etc/etc/vsftpd.conf配置
- anonymous_enable=YES
- local_enable=YES
- write_enable=YES
- local_umask=022
- anon_upload_enable=YES
- anon_mkdir_write_enable=YES
- dirmessage_enable=YES
- xferlog_enable=YES
- connect_from_port_20=YES
- chown_uploads=YES
- chown_username=root
- xferlog_file=/var/log/vsftpd.log
- xferlog_std_format=YES
- pam_service_name=vsftpd
- chroot_local_user=YES
vsftpd和wu-ftpd不能同時起動,所以修改/etc/xinetd.d/wu-ftpd將disable設置為yes,然后修改/etc/vsftpd將disable設置為NO
執行/etc/initd.d/xinetd restart
3啟動vsftpd
(1)啟動vsftpd服務: service vsftpd start
(2)要求建立兩個用戶user01,user02,且兩用戶對應同一目錄
首先用vi 打開/etc/vsftpd/vsftpd.conf確定
write_enable=yes
(3)進入到/var/ftp下: cd /var/ftp
建一個文件夾: mkdir aa
進入到aa 下 : cd aa
創建兩個用戶:useradd u1
useradd u2
并為他們設置密碼: passwd u1
passwd u2
回到上一層目錄:cd ..
設置aa的所有者為u1: chown u1 aa
設置aa的權限:chmod -R 755 aa
重啟vsftpd服務:service vsftpd restart
(4)對某些IP 進行限制
用vi 編輯 /etc/hosts.deny : vi /etc/hosts.deny
若對202.196.201.153進行限制:vsftpd: 202.196.201.153
保存并退出
刷新服務:service vsftpd restart
三、服務器完整的測試方案,測試服務器的可用性,可靠性
1.在瀏覽器上訪問vsftpd服務器
本機的IP地址為:202.196.201.154
在其他機子的瀏覽器上地址欄辦輸入:ftp://202.196.201.154
若不能正常出現/var/ftp 文件夾內內容,需重新調試。
2.在其它機器的瀏覽器上訪問vsftpd服務器
輸入:ftp://202.196.201.154 檢測是否連接
在其他機器上,打開gFTP程序,在 應用程序|internet|gFTP
首先用u1 登陸,輸入格式如下:
主機:202.196.201.154 端口:21 用戶名:u1 密碼:123456
如果成功登陸:則可選中本地文件可進行上傳,
選中服務器文件進行下載
再用u2登陸,輸入格式如下:
主機:202.196.201.154 端口:21 用戶名:u2 密碼:123456
如果成功登陸:則可選中本地文件進行上傳,將不成功
選中服務器文件進行下載
(1) 測試被限IP對服務器的訪問
在IP 為202.196.201.153機器的瀏覽器上輸入:ftp://202.196.201.154
則不能訪問FTP服務器,如果還能訪問,則需重新調試。
四、vsftpd服務器運行過程中如何進行有效管理
Vsftpd在運行過程中,可能會遇到很多問題,也會提出很多要求,這些都是要解決的。
首先在配置好vsftpd服務器后,已經進行了測試,保證了基本的運行狀態。這個時候,如果要增加新的要求,比如設置***鏈接數,如***鏈接數為100,每個IP,最多能支持5個鏈接,所以就要修改配置文件vsftpd.conf中增加兩行:
- max_clients=100
- max_per_ip=5
保存并退出后,再重啟服務:service vsftpd restart 就解決了。又如需要限置下載速度,還是修改配置文件,與上面差不多,
- anon_max_rate=數字
- local_max_rate=數字 單位為字節 增加這兩行就了 …….
或者要對一IP限制,只要打開/etc/hosts.deny文件,增加
- Vsftpd: 202.196.201.153
保存并退出后,刷新服務就行了:service vsftpd restart
【編輯推薦】