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根目錄在剛建立的使用者的家目錄下面,否則剛才那個使用者訪問不到別的路徑(因為在上面配置裡面設定了限制使用者只能訪問他的家目錄)。這個看你需求吧,不一定的。