Linux下使用vsftpd架設(shè)FTP服務(wù)平臺(tái)(下篇)
如何在Linux操作系統(tǒng)下使用vsftpd來架設(shè)FTP服務(wù)平臺(tái)?vsftpd 是在Linux發(fā)行版中最受推崇的一種FTP服務(wù)器程序,vsftpd的特點(diǎn)是小巧輕快、安全易用。 Linux也是為人們所常用的操作系統(tǒng)之一。本文主要講解的是如何在Linux下使用vsftpd架設(shè)FTP服務(wù)平臺(tái),總共分為三篇,到本節(jié)就結(jié)束了。
13、將vsftpd 并入XINETD
若是讀者希望將vsftpd 并入XINETD 之中,也就是7.x 版的預(yù)設(shè)設(shè)定,那
么讀者可以執(zhí)行以下步驟。
Step1. 修改/etc/vsftpd/vsftpd.conf
將
listen=YES
改為
listen=NO
Step2. 新增一個(gè)檔案: /etc/xinetd.d/vsftpd
內(nèi)容如下:
- service vsftpd
- {
- disable = no
- socket_type = stream
- wait = no
- user = root
- server = /usr/sbin/vsftpd
- port = 21
- log_on_success += PID HOST DURATION
- log_on_failure += HOST
- }
Step3. 重新啟動(dòng)xinetd
- [root@home vsftpd]# /sbin/service xinetd restart
- Stopping xinetd: OK ]
- Starting xinetd: OK ]
說明:
在例子中,有些省略的設(shè)定可以在這邊找到,譬如聯(lián)機(jī)的總數(shù)、同一個(gè)位址的聯(lián)機(jī)數(shù)、顯示檔案擁有者的名稱等等,希望讀者細(xì)讀后,可以做出最適合自己的設(shè)定。
格式
vsftpd.conf 的內(nèi)容非常單純,每一行即為一項(xiàng)設(shè)定。若是空白行或是開頭為#的一行,將會(huì)被忽略。內(nèi)容的格式只有一種,如下所示
option=value
要注意的是,等號(hào)兩邊不能加空白,不然是不正確的設(shè)定。
===ascii 設(shè)定=====================
ascii_download_enable
管控是否可用ASCII 模式下載。默認(rèn)值為NO。
ascii_upload_enable
管控是否可用ASCII 模式上傳。默認(rèn)值為NO。
===個(gè)別使用者設(shè)定===================
chroot_list_enable
如果啟動(dòng)這項(xiàng)功能,則所有的本機(jī)使用者登入均可進(jìn)到根目錄之外的數(shù)據(jù)夾,除了列
在/etc/vsftpd.chroot_list 之中的使用者之外。默認(rèn)值為NO。
userlist_enable
用法:YES/NO
若是啟動(dòng)此功能,則會(huì)讀取/etc/vsftpd.user_list 當(dāng)中的使用者名稱。此項(xiàng)功能可以在詢問密碼前就出現(xiàn)失敗訊息,而不需要檢驗(yàn)密碼的程序。默認(rèn)值為關(guān)閉。
userlist_deny
用法:YES/NO
這個(gè)選項(xiàng)只有在userlist_enable 啟動(dòng)時(shí)才會(huì)被檢驗(yàn)。如果將這個(gè)選項(xiàng)設(shè)為YES,則在/etc/vsftpd.user_list 中的使用者將無法登入 若設(shè)為NO , 則只有在
/etc/vsftpd.user_list 中的使用者才能登入。而且此項(xiàng)功能可以在詢問密碼前就出現(xiàn)錯(cuò)誤訊息,而不需要檢驗(yàn)密碼的程序。
user_config_dir
定義個(gè)別使用者設(shè)定文件所在的目錄,例如定義user_config_dir=/etc/vsftpd/userconf,且主機(jī)上有使用者 test1,test2,那我們可以在user_config_dir 的目錄新增文件名為test1 以及test2。若是test1 登入,則會(huì)讀取user_config_dir 下的test1 這個(gè)檔案內(nèi)的設(shè)定。默認(rèn)值為無。
===歡迎語設(shè)定=====================
dirmessage_enable
如果啟動(dòng)這個(gè)選項(xiàng),使用者第一次進(jìn)入一個(gè)目錄時(shí),會(huì)檢查該目錄下是否有.message這個(gè)檔案,若是有,則會(huì)出現(xiàn)此檔案的內(nèi)容,通常這個(gè)檔案會(huì)放置歡迎話語,或是對(duì)該目錄的說明。默認(rèn)值為開啟。
banner_file
當(dāng)使用者登入時(shí),會(huì)顯示此設(shè)定所在的檔案內(nèi)容,通常為歡迎話語或是說明。默認(rèn)值為無。
ftpd_banner
這邊可定義歡迎話語的字符串,相較于banner_file 是檔案的形式,而ftpd_banner 是字串的格式。預(yù)設(shè)為無。
===特殊安全設(shè)定====================
chroot_local_user
如果設(shè)定為YES,那么所有的本機(jī)的使用者都可以切換到根目錄以外的數(shù)據(jù)夾。預(yù)設(shè)值為NO。
hide_ids
如果啟動(dòng)這項(xiàng)功能,所有檔案的擁有者與群組都為ftp,也就是使用者登入使用ls -al之類的指令,所看到的檔案擁有者跟群組均為ftp。默認(rèn)值為關(guān)閉。
ls_recurse_enable
若是啟動(dòng)此功能,則允許登入者使用ls -R 這個(gè)指令。默認(rèn)值為NO。
write_enable
用法:YES/NO
這個(gè)選項(xiàng)可以控制FTP 的指令是否允許更改file system,譬如STOR、DELE、
RNFR、RNTO、MKD、RMD、APPE 以及SITE。預(yù)設(shè)是關(guān)閉。
setproctitle_enable
用法:YES/NO
啟動(dòng)這項(xiàng)功能,vsftpd 會(huì)將所有聯(lián)機(jī)的狀況已不同的process 呈現(xiàn)出來,換句話說,使用ps -ef 這類的指令就可以看到聯(lián)機(jī)的狀態(tài)。默認(rèn)值為關(guān)閉。
tcp_wrappers
用法:YES/NO
如果啟動(dòng),則會(huì)將vsftpd 與tcp wrapper 結(jié)合,也就是可以在/etc/hosts.allow 與/etc/hosts.deny 中定義可聯(lián)機(jī)或是拒絕的來源地址。
pam_service_name
這邊定義PAM 所使用的名稱,預(yù)設(shè)為vsftpd。
secure_chroot_dir
這個(gè)選項(xiàng)必須指定一個(gè)空的數(shù)據(jù)夾且任何登入者都不能有寫入的權(quán)限,當(dāng)vsftpd 不需要file system 的權(quán)限時(shí),就會(huì)將使用者限制在此數(shù)據(jù)夾中。默認(rèn)值為/usr/share/empty
===紀(jì)錄文件設(shè)定=====================
xferlog_enable
用法:YES/NO
如果啟動(dòng),上傳與下載的信息將被完整紀(jì)錄在底下xferlog_file 所定義的檔案中。預(yù)設(shè)為開啟。
xferlog_file
這個(gè)選項(xiàng)可設(shè)定紀(jì)錄文件所在的位置,默認(rèn)值為/var/log/vsftpd.log。
xferlog_std_format
如果啟動(dòng),則紀(jì)錄文件將會(huì)寫為xferlog 的標(biāo)準(zhǔn)格式,如同wu-ftpd 一般。默認(rèn)值為關(guān)閉。
===逾時(shí)設(shè)定======================
accept_timeout
接受建立聯(lián)機(jī)的逾時(shí)設(shè)定,單位為秒。默認(rèn)值為60。
connect_timeout
響應(yīng)PORT 方式的數(shù)據(jù)聯(lián)機(jī)的逾時(shí)設(shè)定,單位為秒。默認(rèn)值為60。
data_connection_timeout
建立數(shù)據(jù)聯(lián)機(jī)的逾時(shí)設(shè)定。默認(rèn)值為300 秒。
idle_session_timeout
發(fā)呆的逾時(shí)設(shè)定,若是超出這時(shí)間沒有數(shù)據(jù)的傳送或是指令的輸入,則會(huì)強(qiáng)迫斷線,單位為秒。默認(rèn)值為300。
===速率限制======================
anon_max_rate
匿名登入所能使用的最大傳輸速度,單位為每秒多少bytes,0 表示不限速度。默認(rèn)值為0。
local_max_rate
本機(jī)使用者所能使用的最大傳輸速度,單位為每秒多少bytes,0 表示不限速度。預(yù)設(shè)值為0。
===新增檔案權(quán)限設(shè)定==================
anon_umask
匿名登入者新增檔案時(shí)的umask 數(shù)值。默認(rèn)值為077。
file_open_mode
上傳檔案的權(quán)限,與chmod 所使用的數(shù)值相同。默認(rèn)值為0666。
local_umask
本機(jī)登入者新增檔案時(shí)的umask 數(shù)值。默認(rèn)值為077。
===port 設(shè)定======================
connect_from_port_20
用法:YES/NO
若設(shè)為YES,則強(qiáng)迫ftp-data 的數(shù)據(jù)傳送使用port 20。默認(rèn)值為YES。
ftp_data_port
設(shè)定ftp 數(shù)據(jù)聯(lián)機(jī)所使用的port。默認(rèn)值為20。
listen_port
FTP server 所使用的port。默認(rèn)值為21。
pasv_max_port
建立資料聯(lián)機(jī)所可以使用port 范圍的上界,0 表示任意。默認(rèn)值為0。
pasv_min_port
建立資料聯(lián)機(jī)所可以使用port 范圍的下界,0 表示任意。默認(rèn)值為0。
===其它========================
anon_root
使用匿名登入時(shí),所登入的目錄。默認(rèn)值為無。
local_enable
用法:YES/NO
啟動(dòng)此功能則允許本機(jī)使用者登入。默認(rèn)值為YES。
local_root
本機(jī)使用者登入時(shí),將被更換到定義的目錄下。默認(rèn)值為無。
text_userdb_names
用法:YES/NO
當(dāng)使用者登入后使用ls -al 之類的指令查詢?cè)摍n案的管理權(quán)時(shí),預(yù)設(shè)會(huì)出現(xiàn)擁有者的UID,而不是該檔案擁有者的名稱。若是希望出現(xiàn)擁有者的名稱,則將此功能開啟。默認(rèn)值為NO。
pasv_enable
若是設(shè)為NO,則不允許使用PASV 的模式建立數(shù)據(jù)的聯(lián)機(jī)。默認(rèn)值為開啟。
===更換檔案所有權(quán)===================
chown_uploads
用法:YES/NO
若是啟動(dòng),所有匿名上傳數(shù)據(jù)的擁有者將被更換為chown_username 當(dāng)中所設(shè)定的使用者。這樣的選項(xiàng)對(duì)于安全及管理,是很有用的。默認(rèn)值為NO。
chown_username
這里可以定義當(dāng)匿名登入者上傳檔案時(shí),該檔案的擁有者將被置換的使用者名稱。預(yù)設(shè)值為root。
===guest 設(shè)定=====================
guest_enable
用法:YES/NO
若是啟動(dòng)這項(xiàng)功能,所有的非匿名登入者都視為guest。默認(rèn)值為關(guān)閉。
guest_username
這里將定義guest 的使用者名稱。默認(rèn)值為ftp。
===anonymous 設(shè)定==================
anonymous_enable
用法:YES/NO
管控使否允許匿名登入,YES 為允許匿名登入,NO 為不允許。默認(rèn)值為YES。
no_anon_password
若是啟動(dòng)這項(xiàng)功能,則使用匿名登入時(shí),不會(huì)詢問密碼。默認(rèn)值為NO。
anon_mkdir_write_enable
用法:YES/NO
如果設(shè)為YES,匿名登入者會(huì)被允許新增目錄,當(dāng)然,匿名使用者必須要有對(duì)上層目錄的寫入權(quán)。默認(rèn)值為NO。
anon_other_write_enable
用法:YES/NO
如果設(shè)為YES,匿名登入者會(huì)被允許更多于上傳與建立目錄之外的權(quán)限,譬如刪除或是更名。默認(rèn)值為NO。
anon_upload_enable
用法:YES/NO
如果設(shè)為YES,匿名登入者會(huì)被允許上傳目錄的權(quán)限,當(dāng)然,匿名使用者必須要有對(duì)上層目錄的寫入權(quán)。默認(rèn)值為NO。
anon_world_readable_only
用法:YES/NO
如果設(shè)為YES,匿名登入者會(huì)被允許下載可閱讀的檔案。默認(rèn)值為YES。
ftp_username
定義匿名登入的使用者名稱。默認(rèn)值為ftp。
deny_email_enable
若是啟動(dòng)這項(xiàng)功能,則必須提供一個(gè)檔案/etc/vsftpd.banner_emails,內(nèi)容為email
address。若是使用匿名登入,則會(huì)要求輸入email address,若輸入的email address 在此檔案內(nèi),則不允許聯(lián)機(jī)。默認(rèn)值為NO。
===Standalone 選項(xiàng)==================
listen
用法:YES/NO
若是啟動(dòng),則vsftpd 將會(huì)以獨(dú)立運(yùn)作的方式執(zhí)行,若是vsftpd 獨(dú)立執(zhí)行,如RedHat9的默認(rèn)值,則必須啟動(dòng) 若是vsftpd 包含在xinetd 之中,則必須關(guān)閉此功能,如RedHat8。在RedHat9 的默認(rèn)值為YES。
listen_address
若是vsftpd 使用standalone 的模式,可使用這個(gè)參數(shù)定義使用哪個(gè)IP address 提供這項(xiàng)服務(wù),若是主機(jī)上只有定義一個(gè)IP address,則此選項(xiàng)不需使用,若是有多個(gè)IP address,可定義在哪個(gè)IP address 上提供ftp 服務(wù)。若是不設(shè)定,則所有的IP address均會(huì)提供此服務(wù)。默認(rèn)值為無。
max_clients
若是vsftpd 使用standalone 的模式,可使用這個(gè)參數(shù)定義最大的總聯(lián)機(jī)數(shù)。超過這個(gè)數(shù)目將會(huì)拒絕聯(lián)機(jī),0 表示不限。默認(rèn)值為0。
max_per_ip
若是vsftpd 使用standalone 的模式,可使用這個(gè)參數(shù)定義每個(gè)ip address 所可以聯(lián)機(jī)的數(shù)目。超過這個(gè)數(shù)目將會(huì)拒絕聯(lián)機(jī),0 表示不限。默認(rèn)值為0。
【編輯推薦】
- Linux下使用vsftpd架設(shè)FTP服務(wù)平臺(tái)(上篇)
- Linux下使用vsftpd架設(shè)FTP服務(wù)平臺(tái)(中篇)
- Linux下使用vsftpd架設(shè)FTP服務(wù)平臺(tái)(下篇)
- 用vsftpd搭建FTP服務(wù)器
- 用vsftp部署一個(gè)功能強(qiáng)大的ftp服務(wù)器
- Centos下ProFTPD配置FTP服務(wù)器
- 用MySQL和Proftpd配置FTP服務(wù)器