說起搭建ftp伺服器,在Linux下面基本就是非vsftp莫屬了,下面我們來配置vsftpd服務。
首先我們自己先把vsftp包安裝上去。然後說明下基本情況。
在vsftpd中,使用者主要分為三種:user(普通實體使用者)guest (虛拟使用者)anonymous (匿名使用者)
通過rpm -ql |grep vsftpd 指令,我們可以檢視到vsftpd都裝了那些檔案,其中
vsftpd.conf vsftpd的主要配置檔案,所有的配置都在這裡修改
ftpuser 制定不能登入ftp的使用者的帳号,一行一個帳号
userlist 這個檔案是否生效和vsftpd.conf内的兩個參數配置有關,分别是userlist_enable和userlist_deny 如果說/etc/ftpuser是PAM的阻擋通路項目,那userlist則是vsftp自定義的阻擋通路項目,預設情況下,你可以将不允許登入的帳号寫入到這裡,不過這個檔案是否生效,則要看userlist_deny={YES|NO}的設定了。
/etc/vsftpd/chroot_list 預設情況下這個檔案是不存在的,必須使用者自己建立,檔案的主要功能是将使用者chroot建立在自己的使用者主目錄下面,這個檔案是否生效要看vsftpd.conf中的chroot_list_enable 和chroot_list_file 的兩個參數有關。
/var/sbin/vsftp vsftp的主程式,隻是一個執行程式。
/var/ftp/ 匿名使用者的主目錄。
下面來看看vsftpd.conf 配置系統裡面的主要的設定參數。
1、匿名使用者登入的設定
anonymous_enable=YES(NO) //是否開啟匿名使用者登入
anon_world_readable_only=YES(NO) // 僅允許anonymous具有下載下傳可讀檔案的權限
anon_other_write_enable=YES(NO) // 是否允許anonymous具有除了寫之外的權限,包括删除和修改伺服器的檔案及檔案名等權限,預設是NO
anon_mkdir_write_enable=YES(NO) // 是否允許建立目錄的權限。
anon_upload_enable=YES(NO) //匿名使用者是否有上傳權限,當然NO。
deny_email_enable=YES(NO) //将某些特殊的email阻擋不讓使用,基本用不到。
no_anon_password=YES(NO) // 當設定為YES時,匿名使用者将略過密碼檢查那一步
anon_max_rate=0 // 限制匿名使用者的傳輸速度,機關是byte/秒,0則不限制。
anon_umask=077 //限制匿名使用者上傳來的檔案的權限,如果是077則權限隻有-rw-------,這個選項隻有在你開通了匿名使用者上傳的權限之後才設定,否則不需要。
2、與實體使用者有關的設定值
local_enable=YES(NO) // 本地使用者是否開通ftp登入權限
local_max_rate=0 // 同上面一樣,設定實體使用者的傳輸速度。
chroot_local_user=YES(NO) // 在預設情況下是否要将使用者限制在自己的使用者主目錄之内,實際還是需要下面2個參數互相參考配置的,為了安全性,預設是YES
chroot_list_enable=YES(NO) // 是否啟用chroot寫入清單的功能,與下面的項目有關。
chroot_list_file=/etc/vsftpd/chroot_list // 寫入清單的檔案的路徑。
userlist_enable=YES(NO) //是否借助vsftpd 的阻擋機制來處理某些不歡迎的帳号。與下面的設定有關,視情況而定。
userlist_deny=YES(NO) //設定YES後,userlist檔案内的帳号将無法登入。
userlist_file=/etc/vsftpd/user_list //禁止登入的檔案路徑
3、與伺服器環境相關的設定項
connect_from_port_20=YES(NO) //是否使開啟20端口做主動連接配接模式
listen_port=21 //vsftpd的監聽端口,預設是21端口
message_enable=YES(NO) //當使用者進入某個目錄時,會顯示一些提示詞,顯示内容的檔案為.message,可以通過下面的設定來自定義,一般用預設
message_file=.message //這個檔案放在需要提示的目錄的下面,隐藏檔案。
use_localtime=YES(NO) //是否使用本地時間,預設是使用GMT(格林尼治)時間比本地時間慢8個小時。
write_enable=YES(NO) //開啟使用者上傳資料的權限,實體使用者。
connect_timeout=60 // 但是為秒,發出信号60秒之後沒回應就斷掉連接配接
max_clients=0 // 限制最大用戶端連接配接數,0為不限制
max_per_ip=0 // 限制單個IP的最大連接配接數,0為不限制
ftp_banner=文字說明 // 比如上面的 歡迎使用XX大學FTP資源
4、關于系統安全方面的設定
xferlog_enable=YES(NO) //開啟記錄日志功能,主要記錄上傳和下載下傳動作的。
xferlog_file=/var/log/xferlog //日志檔案的路徑
tcp_wrapers=YES(NO) // 是否支援tcp wrapers預設YES
pam_service_name=vsftpd // 這個是PAM子產品的名稱,放在/etc/pam.d/vsftpd中的就是
vsftpd.conf的主要配置内容基本都在上面了,安裝好vsftp之後,進入/etc/vsftpd/vsftpd.conf中的參數進行配置,根據自己的需要開啟或關閉對應的參數,上面那些可能有一些需要自己添加的,需要添加的自己在最後面添加上去就好了。設定完之後,儲存,啟動服務,如果沒有文法錯誤的話,伺服器是可以正常啟動的。然後再通過用戶端進行測試驗證。