1. 程式人生 > >Linux系統配置ftp服務(vsftpd)以及ftp的訪問

Linux系統配置ftp服務(vsftpd)以及ftp的訪問

1、檢查是否安裝vsftpd

[[email protected] tmp]# rpm -qa | grep vsftpd
vsftpd-2.2.2-24.el6.x86_64

 

已安裝

2,安裝vsftpd

sudo apt-get install vsftpd

 

3,解除安裝vsftpd

sudo apt-get remove vsftpd

 4,檢視配置檔案

預設的配置檔案

若要配置vsftpd,需要修改vsftpd的配置檔案。終端執行:

sudo gedit /etc/vsftpd.conf

有關使用者登入控制的行:

anonymous_enable=YES,允許匿名使用者登入。
no_anon_password=YES,匿名使用者登入時不需要輸入密碼。
local_enable=YES,允許本地使用者登入。
deny_email_enable=YES,可以建立一個檔案儲存某些匿名電子郵件的黑名單,以防止這些人使用Dos攻擊。
banned_email_file=/etc/vsftpd/banned_emails,儲存電子郵件黑名單的目錄(預設)

有關使用者許可權控制的行:

write_enable=YES,開啟全域性上傳
local_umask=022,本地檔案上傳的umask設定為022,系統預設。
anon_upload_enable=YES,允許匿名使用者上傳,當然要在write_enable=YES的情況下。同時必須建立一個允許ftp使用者讀寫的目錄。
anon_mkdir_write_enable=YES,允許匿名使用者建立目錄
chown_uploads=YES,匿名使用者上傳的檔案屬主轉換為別的使用者,一般建議為root。
chown_username=whoever,改此處的whoever為要轉換的屬主,建議root
chroot_list_enable=YES,用一個列表來限定哪些使用者只能在自己目錄下活動。
chroot_list_enable=/etc/vsftpd/chroot_list,指定使用者列表檔案
nopriv_user=ftpsecure,指定一個安全賬戶,讓ftp完全隔離和沒有特權的賬戶

有關使用者連線和超時的行:

idle_session_timeout=600,預設的超時時間
data_connection_timeout=120,設定預設資料連線的超時時間

有關伺服器日誌和歡迎資訊的行:

dirmessage_enable=YES,允許為配置目錄顯示資訊
ftpd_banner=Welcome to blah FTP service. ftp的歡迎資訊
xferlog_enable=YES 開啟日誌記錄功能
xferlog_file=/var/log/xferlog 日誌記錄檔案的位置

5,知道配置的直接跳過看上一步,現在開始配置

(5.1)因為vsftpd預設root不能登入,所以我們這裡新建一個使用者,怎麼建立我不說了,我就說建立的結果。我們這裡例如建立一個ftp使用者,設定它的家目錄為/home/ftp,併為這個使用者使用者設定密碼。

(5.2) vi /etc/vsftpd.conf,設定

anonymous_enable=NO  ;  

chroot_list_enable=YES //限制訪問自身目錄  ; 

chroot_list_file=/etc/vsftpd.chroot_list(編輯 vsftpd.chroot_list檔案,將受限制的使用者新增進去,每個使用者名稱一行) 。

(5.3)

改完配置檔案,不要忘記重啟vsFTPd伺服器
[[email protected] root]# /etc/init.d/vsftpd restart

(5.4)

最後重啟一下服務:service vsftpd start

如果出現啟動失敗則可以使用:/etc/rc.d/init.d/vsftpd restart

 

 

贈言(重要):

vsftpd.conf的配置詳解:

# 預設配置檔案: /etc/vsftpd.conf
 #     下面是配置的選項及說明
 ######### 核心設定 ###########
  
 # 允許本地使用者登入
 local_enable=YES
  
 # 本地使用者的寫許可權
 write_enable=YES
  
 # 使用FTP的本地檔案許可權,預設為077
 # 一般設定為022
 local_umask=022
 
 # 預設登入以後的根目錄位置
 local_root=/tmp/
  
 # 切換目錄時
 # 是否顯示目錄下.message的內容
 dirmessage_enable=YES
 dirlist_enable = NO
 #驗證方式
 #pam_service_name=vsftpd
  
 # 啟用FTP資料埠的資料連線
 connect_from_port_20=YES
  
 # 以獨立的FTP服務執行
 listen=yes
  
 # 修改連線埠
 #listen_port=2121
  
 ######### 匿名登入設定 ###########
  
 # 允許匿名登入
 anonymous_enable=NO
  
 # 如果允許匿名登入
 # 是否開啟匿名上傳許可權
 #anon_upload_enable=YES
  
 # 如果允許匿名登入
 # 是否允許匿名建立資料夾並在資料夾內上傳檔案
 #anon_mkdir_write_enable=YES
  
 # 如果允許匿名登入
 # 匿名帳號可以有刪除的許可權
 #anon_other_write_enable=yes
  
 # 如果允許匿名登入
 # 匿名的下載許可權
 # 匿名為Other,可設定目錄/檔案屬性控制
 #anon_world_readable_only=no
  
 # 如果允許匿名登入
 # 限制匿名使用者傳輸速率,單位bite
 #anon_max_rate=30000
  
 ######### 使用者限制設定 ###########
  
 #### 限制登入
  
 # 用userlist來限制使用者訪問
 #userlist_enable=yes
  
 # 名單中的人不允許訪問
 #userlist_deny=no
  
 # 限制名單檔案放置的路徑
 #userlist_file=/etc/vsftpd/userlist_deny.chroot
  
 #### 限制目錄
  
 # 限制所有使用者都在家目錄
 #chroot_local_user=yes
  
 # 呼叫限制在家目錄的使用者名稱單
 chroot_list_enable=YES
  
 # 限制在家目錄的使用者名稱單所在路徑
 chroot_list_file=/etc/vsftpd/chroot_list
  
 ######### 日誌設定 ###########
  
 # 日誌檔案路徑設定
 xferlog_file=/var/log/vsftpd.log
  
 # 啟用上傳/下載的日誌
 xferlog_enable=YES
  
 # 使用標準的日誌格式
 #xferlog_std_format=YES
  
 ######### 安全設定 ###########
  
 # 使用者空閒超時,單位秒
 #idle_session_timeout=600
  
 # 資料連線空閒超時,單位秒
 #data_connection_timeout=120
  
 # 將客戶端空閒1分鐘後斷開
 #accept_timeout=60
  
 # 中斷1分鐘後重新連線
 #connect_timeout=60
  
 # 本地使用者傳輸速率,單位bite
 #local_max_rate=50000
  
 # FTP的最大連線數
 #max_clients=200
  
 # 每IP的最大連線數
 #max_per_ip=5
  
 ######### 被動模式設定 ###########
  
 # 是否開戶被動模式
 pasv_enable=yes
  
 # 被動模式最小埠
 pasv_min_port=5000
  
 # 被動模式最大埠
 pasv_max_port=6000
  
 ######### 其他設定 ###########
 # 歡迎資訊
 ftpd_banner=Welcome to Ftp Server!

上面配置的

# 預設登入以後的根目錄位置
 local_root=/tmp/

這個配置是配置使用者登入ftp後的根目錄。你可以修改這裡,但是如果你想要剛才建立的使用者能訪問,最好設定這個ftp根目錄在剛建立的使用者的家目錄下面,否則剛才那個使用者訪問不到別的路徑(因為在上面配置裡面設定了限制使用者只能訪問他的家目錄)。這個看你需求吧,不一定的。