一、安裝
經過ports安裝,這個方式比較簡單。
# cd /usr/ports/ftp/vsftp
# make install
二、配置
(1)編輯/usr/local/etc/vsftpd.conf
# ee /usr/local/etc/vsftpd.conf
Anonymous_enable=NO (禁止匿名登錄)
Local_enable=YES (容許本地用戶登錄)
Local_umask=022 (FTP上本地的文件權限755,默認是077)
Connect_form_port_20=yes (啓用FTP數據端口的數據鏈接)
Xferlog_enable=yes (激活上傳和下傳的日誌)
Xferlog_std_format=yes (使用標準的日誌格式)
Idle_session_timeout=120(秒) (用戶會話空閒後2分鐘)
Data_connection_timeout=300(秒) (將數據鏈接空閒5分鐘斷)
Ascii_upload_enable=YES (起用ASCII方式上傳)
Ascii_download_enable=YES幫帶(起用ASCII方式下載)
Ftpd_banner=Welcome to blah FTP service. (FTP服務器登錄歡迎信息)
Chroot_list_enable=YES (開啓鎖定用戶目錄)
Chroot_list_file=/任意路徑/vsftpd.chroot_list (要鎖定目錄的用戶保存文件,格式爲每一個用戶一行)
注:若是想把本地的任何用戶都鎖定在本身的目錄中的話,把上面兩行註釋掉,再增長這同樣
Chroot_local_user=YES
保存退出
(2)編輯/etc/inetd.conf
# ee /etc/inetd.conf
增長這一行並去掉前面的註釋(#號)
#ftp stream tcp nowait root /usr/local/libexec/vsftpd vsftpd
保存退出
(3)編輯/etc/rc.conf
# ee /etc/rc.conf
增長下面內容:
inetd_enable="YES"
注:以上是以inetd的方式啓動vsftp的,咱們也能夠以獨立進程的方式啓動vsftp,具體以下:
a、註釋掉inetd裏面的vsftpd這一行。
b、在vsftpd.conf文件裏增長listen=YES這句。
c、進入/usr/local/libexec/目錄,執行./vsftpd & 。
d、想要讓vsftp隨系統啓動,可在/usr/local/etc/rc.d/目錄裏增長一個sh腳本:
# vi vsftpd_start.sh
# ! /bin/sh
/usr/local/libexec/vsftpd &
保存退出,再chmod 755 vsftpd_start.sh 。
(4)添加用戶
# pw groupadd vsftpd –g 1001
# pw useradd test –g 1001–d /home/test –s /sbin/nologin
# mkdir /home/test
# passwd test 設密碼
Changing local password for test
New Password:
Retype New Password:
#
在vsftpd.chroot_list文件裏增長test一行,把test用戶所在其自家目錄下。
# killall -HUP inetd,(若是是獨立進程則執行上面寫的那個腳本便可)測試一下:
# ftp localhost
若是成功會提示你輸入用戶名和密碼
若是不成功,請查看一下你上面的配置
(5)用戶功能權限配置
如下是一些用戶的配置:
Anonymous_enable=yes (容許匿名登錄)
Dirmessage_enable=yes (切換目錄時,顯示目錄下.message的內容)
Local_umask=022 (FTP上本地的文件權限,默認是077)
Connect_form_port_20=yes (啓用FTP數據端口的數據鏈接)
Xferlog_enable=yes (激活上傳和下傳的日誌)
Xferlog_std_format=yes (使用標準的日誌格式)
Ftpd_banner=XXXXX (歡迎信息)
Pam_service_name=vsftpd (驗證方式)
Listen=yes (獨立的VSFTPD服務器)
Anon_upload_enable=yes (開放上傳權限)
Anon_mkdir_write_enable=yes (可建立目錄的同時能夠在此目錄中上傳文件)
Write_enable=yes (開放本地用戶寫的權限)
Anon_other_write_enable=yes (匿名賬號能夠有刪除的權限)
Anon_world_readable_only=no (放開匿名用戶瀏覽權限)
Idle_session_timeout=600(秒) (用戶會話空閒後10分鐘)
Data_connection_timeout=120(秒) (將數據鏈接空閒2分鐘斷)
Accept_timeout=60(秒) (將客戶端空閒1分鐘後斷)
Connect_timeout=60(秒) (中斷1分鐘後又從新鏈接)
Ascii_upload_enable=yes (啓用上傳的ASCII傳輸方式)
Ascii_download_enable=yes (啓用下載的ASCII傳輸方式)
Chroot_local_user=yes (本地全部賬戶都只能在自家目錄)
Chroot_list_enable=yes (文件中的名單能夠調用)
Chroot_list_file=/任意指定的路徑/vsftpd.chroot_list
(前提是chroot_local_user=no)
Banner_file=/var/vsftpd_banner_file (用戶鏈接後歡迎信息使用的是此文件中的相關信息)
Local_max_rate=50000(bite) (本地用戶傳輸率50K)
Anon_max_rate=30000(bite) (匿名用戶傳輸率30K)
Chown_uploads=yes (改變上傳文件的全部者爲root)
Chown_username=root
Pasv_min_port=50000
}(將客戶端的數據鏈接端口改在50000—60000之間)
Pasv_max_port=60000
Max_clients=200 (FTP的最大鏈接數)
Max_per_ip=4 (每IP的最大鏈接數)
Listen_port=5555 (從5555端口進行數據鏈接)
Local_enble=yes (本地賬戶可以登錄)
Write_enable=no (本地賬戶登錄後無權刪除和修改文件)
Userlist_enable=yes (在指定的文件中的用戶不能夠訪問)
Userlist_deny=yes
Userlist_file=/指定的路徑/vsftpd.user_list
Banner_fail=/路徑/文件名 (鏈接失敗時顯示文件中的內容)
Ls_recurse_enable=no
Async_abor_enable=yes
one_process_model=yes
Listen_address=10.2.2.2 (將虛擬服務綁定到某端口)
Guest_enable=yes (虛擬用戶能夠登錄)
Guest_username=所設的用戶名 (將虛擬用戶映射爲本地用戶)
User_config_dir=/任意指定的路徑/爲用戶策略本身所建的文件夾
(指定不一樣虛擬用戶配置文件的路徑)
Deny_email_enable=yes (是否容許禁止匿名用戶使用某些郵件地址)
Banned_email_file=//任意指定的路徑/xx/
Pasv_enable=yes ( 服務器端用被動模式)
User_config_dir=/任意指定的路徑//任意文件目錄 (指定虛擬用戶存放配置文件的路徑)