天天看點

Centos 7安裝vsftpd

安裝vsftpd

yum -y install vsftpd
           

vsftpd相關文檔

/etc/vsftpd/vsftpd.conf:vsftpd核心配置檔案

/etc/vsftpd/ftpusers:用于指定哪些使用者不能通路FTP伺服器

/etc/vsftpd/user_list:指定允許使用vsftpd的使用者清單檔案

/etc/vsftpd/vsftpd_conf_migrate.sh:是vsftpd操作的一些變量和設定腳本

/var/ftp/:預設情況下匿名使用者的根目錄

systemctl restart vsftpd.service # 重新開機服務
systemctl start vsftpd.service  # 啟動服務
systemctl status vsftpd.service  # 服務狀态檢視
           

登入FTP伺服器有三種方式:匿名登入、本地使用者登入和虛拟使用者登入。

匿名登入:在登入FTP時使用預設的使用者名,一般是ftp或anonymous。

本地使用者登入:使用/etc/passwd中的系統使用者登入。

虛拟使用者登入:有兩種方式實作虛拟使用者:本地資料檔案(DB)和資料庫伺服器(MySQL)。

FTP虛拟使用者是FTP伺服器的專有使用者,使用虛拟使用者登入FTP,隻能通路FTP伺服器提供的資源,大大增強了系統的安全

很多情況下,我們希望限制ftp使用者隻能在其主目錄下(root dir)下活動,不允許他們跳出主目錄之外浏覽伺服器上的其他目錄,這時候我就需要使用到chroot_local_user,chroot_list_enable,chroot_list_file這三個選項了。以下是對三個配置項的解釋:

chroot_local_user #是否将所有使用者限制在主目錄,YES為啟用 NO禁用.該項預設值是NO,即在安裝vsftpd後不做配置的話,ftp使用者是可以向上切換到要目錄之外的

chroot_list_enable #是否啟動限制使用者的名單 YES為啟用 NO禁用(包括注釋掉也為禁用)

chroot_list_file=/etc/vsftpd/chroot_list #是否限制在主目錄下的使用者名單,至于是限制名單還是排除名單,這取決于chroot_local_user的值,我們可以這樣記憶: chroot_local_user總是一個全局性的設定,其為YES時,全部使用者被鎖定于主目錄,其為NO時,全部使用者不被鎖定于主目錄。那麼我們勢必需要在全局設定下能做出一些“微調”,即,我們總是需要一種“例外機制",是以當chroot_list_enable=YES時,表示我們“需要例外”。而”例外“的含義總是有一個上下文的,即,當”全部使用者被鎖定于主目錄“時(即chroot_local_user=YES),"例外"就是:不被鎖定的使用者是哪些;當"全部使用者不被鎖定于主目錄"時(即chroot_local_user=NO),“例外”“就是:要被鎖定的使用者是哪些。這樣解釋和記憶兩者之間的關系就很清晰了!

調整vsftpd的配置檔案(編輯所有的配置檔案前最好養成備份的習慣)

cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.backup.conf

vim /etc/vsftpd/vsftpd.conf

#設定為NO代表不允許匿名
anonymous_enable=YES
 
#設定本地使用者可以通路,主要是虛拟宿主使用者,如果設為NO那麼所欲虛拟使用者将無法通路。
local_enable=YES
 
#可以進行寫的操作
write_enable=YES
 
#設定上傳檔案的權限掩碼
local_umask=022
 
#禁止匿名使用者上傳
anon_upload_enable=NO
 
#禁止匿名使用者建立目錄
anon_mkdir_write_enable=NO
 
# 設定開啟目錄智語功能
dirmessage_enable=YES
 
# 設定開啟日志記錄功能
xferlog_enable=YES
 
#設定端口20進行資料連接配接
connect_from_port_20=YES
 
#設定禁止上傳檔案更改宿主
chown_uploads=NO
 
#設定vsftpd服務日志儲存路勁。注意:改檔案預設不純在,需手動touch,且由于這裡更改了vsftpd服務的宿主使用者為手動建立的vsftpd,則必
須注意給予該使用者對日志的讀取權限否則服務啟動失敗。
xferlog_file=/var/log/vsftpd.log
 
#設定日志使用标準的記錄格式
xferlog_std_format=YES
 
#設定空閑連結逾時時間,這裡使用預設/秒。
#idle_session_timeout=600
 
#設定最大連接配接傳輸時間,這裡使用預設,将具體數值留給每個使用者具體制定,預設120/秒
data_connection_timeout=3600
 
#設定支撐vsftpd服務的宿主使用者為手動建立的vsftpd使用者。注意:一旦更改宿主使用者,需一起與該服務相關的讀寫檔案的讀寫賦權問題.
nopriv_user=vsftpd
 
#設定支援異步傳輸的功能
#async_abor_enable=YES
 
#設定vsftpd的登陸智語
ftpd_banner=hello 歡迎登陸
 
#禁止使用者登出自己的ftp主目錄
chroot_list_enable=NO
 
#禁止使用者登陸ftp後使用ls -R 指令。該指令會對伺服器性能造成巨大開銷,如果該項運作當多個使用者使用該指令會對伺服器造成威脅。
ls_recurse_enable=NO
 
#設定vsftpd服務工作在standalone模式下。所謂standalone模式就是該服務擁有自己的守護程序,在ps -A可以看出vsftpd的守護程序名。如果
不想工作在standalone模式下,可以選擇SuperDaemon模式,注釋掉即可,在該模式下vsftpd将沒有自己的守護程序,而是由超級守護程序Xinetd全權代理,>與此同時,vsftpd服務的許多功能,将得不到實作。
listen=YES
 
#設定userlist_file中的使用者将不能使用ftp
userlist_enable=YES
 
 
#設定pam服務下的vsftpd驗證配置檔案名。是以,PAM驗證将參考/etc/pam.d/下的vsftpd檔案配置。
pam_service_name=vsftpd
 
#設定支援TCPwrappers
tcp_wrappers=YES
 
#################################################以下是關于虛拟使用者支援的重要配置項目,預設.conf配置檔案中是不包含這些項目的,需手動添加。
#啟用虛拟使用者功能
guest_enable=YES
 
#指定虛拟的宿主使用者
guest_username=virtusers
 
#設定虛拟使用者的權限符合他們的宿主使用者
virtual_use_local_privs=YES
 
#設定虛拟使用者個人vsftp的配置檔案存放路勁。這個被指定的目錄裡,将被存放每個虛拟使用者個性的配置檔案,注意的地方是:配置檔案名必須
和虛拟使用者名相同。
user_config_dir=/etc/vsftpd/vconf
 
#禁止反向域名解析,若是沒有添加這個參數可能會出現使用者登陸較慢,或則客戶連結不上ftp的現象
reverse_lookup_enable=NO
           

繼續閱讀