摘要:是否允許具有除了寫入之外的權(quán)限包括刪除與改寫服務(wù)器上的檔案及檔名等權(quán)限。與上一個設(shè)定類似的,只是這個設(shè)定針對上傳而言預(yù)設(shè)是這個設(shè)定項目比較危險一點當(dāng)設(shè)定為時,表示每個建立的聯(lián)機都會擁有一支在負責(zé),可以增加的效能。
vsftpd的全名是“Very secure FTP Daemon”
一、安裝vsftpd
1.1安裝db4-util用于生成認證文件
[root@localhost ~]# yum -y install db4-utils
1.2安裝vsftpd
[root@localhost ~]# yum -y install vsftpd
Vsftpd的配置文件為:
/etc/vsftpd/vsftpd.conf, 主配置文件
/usr/sbin/vsftpd , Vsftpd的主程序
/etc/pam.d/vsftpd , PAM認證文件(此文件中file=/etc/vsftpd/ftpusers字段,指明 阻止訪問的用戶來自/etc/vsftpd/ftpusers文件中的用戶)
/var/ftp,匿名用戶主目錄;本地用戶主目錄為:/home/用戶主目錄,即登錄后進入自己家目錄
/var/ftp/pub,匿名用戶的下載目錄,此目錄需賦權(quán)根chmod 1777 pub(1為特殊權(quán)限,使上載后無法刪除)
1.3vsftpd的主配置文件/etc/vsftpd/vsftpd.conf說明:
vsftpd的配置文件格式為“參數(shù)=設(shè)置值”,注意等號兩邊不能有空格
1.3.1 與服務(wù)器環(huán)境相關(guān)的配置值
connect_from_port_20=YES (ftp的數(shù)據(jù)傳輸端口)
listen_port=21(vsftpd使用的命令通道端口,這個值僅適合以stand alone的方式來啟動,對于super daemon無效)
dirmessage_enable={YES|NO}(當(dāng)用戶進入某個目錄時,會顯示該目錄需要注意的內(nèi)容,顯示文件默認是.message)
message_file=.message(當(dāng)dirmessage_enable=YES時,可以設(shè)置這個項目讓vsftpd尋找該文件來顯示信息)
listen={YES|NO} (若設(shè)置為YES,表示vsftpd是以stand alone的方式來啟動,centos默認是YES)
pasv_enable={YES|NO}(支持數(shù)據(jù)流的被動連接方式,passive mode,最好設(shè)置為YES)
use_localtime={YES|NO}(是否使用本地時間,vsftpd默認使用GMT時間)
write_enable={YES|NO}(是否允許用戶上傳數(shù)據(jù))
connect_timeout=60(單位是秒在數(shù)據(jù)連接的主動模式下,服務(wù)器發(fā)出的連接信號在60秒內(nèi)得不到客戶端的響應(yīng),則不等待強制斷線)
accept_timeout=60(當(dāng)客戶端以被動式PASV來進行數(shù)據(jù)傳輸時,如果服務(wù)器啟用passive port并等待客戶端超過60秒無反應(yīng),那么久強制斷線,這個設(shè)置與connect_timeout類似,不過一個是管理主動連接,一個是管理被動連接)
data_connection_timeout=300(如果數(shù)據(jù)連接建立之后300秒內(nèi)還是沒有順利完成數(shù)據(jù)傳輸,那服務(wù)器就會主動斷開連接)
idle_session_timeout=300(如果用戶在300秒內(nèi)都沒有命令操作,則強制脫機,避免占用空間)
max_clients=0(如果是以stand alone方式啟動的,那么這個設(shè)置項目可以設(shè)置同時最多有多少個client可以同時連上vsftpd,0表示不限制)
max_per_ip=5(設(shè)置同一IP同一時間可允許多少連接)
pasv_min_port=0、pasv_max_port=0(被動模式的連接端口如果想使用65400到65410這11個port來進行被動式連接的哈pasv_min_port=65400 pasv_max_port=65410,如果是0的話表示隨機取用而不限制)
ftpd_banner="一些文字說明"(當(dāng)用戶登錄時顯示的說明)
banner_file=/path/file(指定某個純文本文件作為用戶登錄vsftpd服務(wù)器時所顯示的歡迎字眼)
1.3.2與實體用戶相關(guān)的設(shè)置值
guest_enable={YES|NO}(若設(shè)置為YES,那么任何實體賬號,都會被假設(shè)為guest,所以默認是不開放的,訪客在vsftpd中,默認會取得ftp這個用戶的相關(guān)權(quán)限,但可以通過guest_username來修改)
guest_name=ftp(在guest_enable為YES時才會生效,指定訪客的身份)
local_enable={YES|NO}(這個值設(shè)置值為YES時,在/etc/passwd中的賬號才能以實體用戶的方式登錄)
local_max_rate=0(實體用戶的傳輸速度限制,單位為bytes/second,0為不限制)
chroot_local_user={YES|NO}(在設(shè)置為YES時,將用戶限制在自己的用戶主目錄之內(nèi),為了安全性,這里應(yīng)該要設(shè)定成 YES)
chroot_list_enable={YES|NO}(是否啟用 chroot 寫入列表的功能?與底下的 chroot_list_flie 有關(guān)!這個項目得要開啟,否則底下的列表檔案會無效。)
chroot_list_file=/etc/vsftpd/chroot_list(如果 chroot_list_enable=YES 那么就可以設(shè)定這個項目了!)
userlist_enable={YES|NO}(是否借助vsftpd 的抵擋機制來處理某些不受歡迎的賬號,與底下的參數(shù)設(shè)定有關(guān);)
userlist_deny={YES|NO}(當(dāng) userlist_enable=YES 時才會生效,若此設(shè)定值為 YES 時,則當(dāng)使用者賬號被列入到某個檔案時, 在該檔案內(nèi)的使用者將無法登入 vsftpd 服務(wù)器!該檔案文件名與下列設(shè)定項目有關(guān)。)
userlist_file=/etc/vsftpd/user_list(若上面 userlist_deny=YES 時,則這個檔案就有用處了!在這個檔案內(nèi)的賬號都無法使用 vsftpd )
1.3.3匿名者登入的設(shè)定值
anonymous_enable=YES (NO)
設(shè)定為允許 anonymous 登入我們的 vsftpd 主機!預(yù)設(shè)是 YES ,底下的所有相關(guān)設(shè)定都需要將這個設(shè)定為
anonymous_enable=YES 之后才會生效!
anon_world_readable_only=YES (NO) 僅允許 anonymous 具有下載可讀檔案的權(quán)限,預(yù)設(shè)是 YES。
anon_other_write_enable=YES (NO) 是否允許 anonymous
具有除了寫入之外的權(quán)限?包括刪除與改寫服務(wù)器上的檔案及檔名等權(quán)限。預(yù)設(shè)當(dāng)然是 NO!如果要設(shè)定為 YES,那么開放給 anonymous
寫入的目錄亦需要調(diào)整權(quán)限,讓 vsftpd 的 PID 擁有者可以寫入才行!
anon_mkdir_write_enable=YES (NO) 是否讓 anonymous 具有建立目錄的權(quán)限?默認值是
NO!如果要設(shè)定為 YES, 那么 anony_other_write_enable 必須設(shè)定為 YES !
anon_upload_enable=YES (NO) 是否讓 anonymous 具有上傳數(shù)據(jù)的功能,默認是 NO,如果要設(shè)定為 YES
,則 anon_other_write_enable=YES 必須設(shè)定。
deny_email_enable=YES (NO) 將某些特殊的 email address 抵擋住,不讓那些 anonymous
登入!如果以 anonymous 登入服務(wù)器時,不是會要求輸入密碼嗎?密碼不是要你輸入你的 email address
嗎?如果你很討厭某些 email address, 就可以使用這個設(shè)定來將他取消登入的權(quán)限!需與下個設(shè)定項目配合:
banned_email_file=/etc/vsftpd/banned_emails 如果 deny_email_enable=YES
時,可以利用這個設(shè)定項目來規(guī)定哪個 email address 不可登入我們的 vsftpd 喔!在上面設(shè)定的檔案內(nèi),一行輸入一個email address 即可!
no_anon_password=YES (NO) 當(dāng)設(shè)定為 YES 時,表示 anonymous 將會略過密碼檢驗步驟,而直接進入
vsftpd 服務(wù)器內(nèi)喔!所以一般預(yù)設(shè)都是 NO 的!(登入時會檢查輸入的 emai)
anon_max_rate=0 這個設(shè)定值后面接的數(shù)值單位為 bytes/秒 ,限制 anonymous 的傳輸速度,如果是 0
則不限制(由最大帶寬所限制),如果你想讓 anonymous 僅有 30 KB/s的速度,可以設(shè)定『anon_max_rate=30000』
anon_umask=077 限制 anonymous 上傳檔案的權(quán)限!如果是 077 則 anonymous 傳送過來的檔案權(quán)限會是
-rw-------
1.3.4關(guān)于系統(tǒng)安全方面的一些設(shè)定值
ascii_download_enable=YES (NO) 如果設(shè)定為 YES ,那么 client 就優(yōu)先 (預(yù)設(shè)) 使用 ASCII
格式下載文件。
ascii_upload_enable=YES (NO) 與上一個設(shè)定類似的,只是這個設(shè)定針對上傳而言!預(yù)設(shè)是 NO
one_process_model=YES (NO) 這個設(shè)定項目比較危險一點~當(dāng)設(shè)定為 YES 時,表示每個建立的聯(lián)機都會擁有一支 process 在負責(zé),可以增加 vsftpd 的效能。不過, 除非你的系統(tǒng)比較安全,而且硬件配備比較高,否則容易耗盡系統(tǒng)資源喔!一般建議設(shè)定為 NO 的啦!
tcp_wrappers=YES (NO) 當(dāng)然我們都習(xí)慣支持 TCP Wrappers 的啦!所以設(shè)定為 YES 吧!
xferlog_enable=YES (NO) 當(dāng)設(shè)定為 YES 時,使用者上傳與下載文件都會被紀錄起來。記錄的檔案與下一個設(shè)定項目有關(guān):
xferlog_file=/var/log/xferlog 如果上一個 xferlog_enable=YES
的話,這里就可以設(shè)定了!這個是登錄檔的檔名啦!
xferlog_std_format=YES (NO) 是否設(shè)定為 wu ftp 相同的登錄檔格式?預(yù)設(shè)為 NO
,因為登錄檔會比較容易讀! 不過,如果你有使用 wu ftp 登錄文件的分析軟件,這里才需要設(shè)定為 YES
dual_log_enable=YES, vsftpd_log_file=/var/log/vsftpd.log 除了
/var/log/xferlog 的 wu-ftp 格式登錄檔之外,還可以具有 vsftpd 的獨特登錄檔格式喔!如果你的 FTP
服務(wù)器并不是很忙碌, 或許訂出兩個登錄檔的撰寫 (/var/log/{vsftpd.log,xferlog) 是不錯的。
nopriv_user=nobody 我們的 vsftpd 預(yù)設(shè)以 nobody 作為此一服務(wù)執(zhí)行者的權(quán)限。因為 nobody
的權(quán)限相當(dāng)?shù)牡?,因此即使被入侵,入侵者僅能取得 nobody 的權(quán)限
pam_service_name=vsftpd 這個是 pam 模塊的名稱,放置在 /etc/pam.d/vsftpd
二、配置虛擬用戶的口令文件:
[root@localhost vsftpd]# cat /etc/vsftpd/vuser.txt mike (一行用戶名一行密碼) pwd1234 db_load -T -t hash -f /etc/vsftpd/vuser.txt /etc/vsftpd/vuser.db (生成的口令文件)
2.1編輯vsftpd的認證文件:
[root@localhost vsftpd]# cat /etc/pam.d/vsftpd #%PAM-1.0 #session optional pam_keyinit.so force revoke #auth required pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed #auth required pam_shells.so #auth include password-auth #account include password-auth #session required pam_loginuid.so #session include password-auth auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser
//添加底部兩行 注釋掉其他行,因為本地用戶登錄依賴這個文件 local_enable=YES 不能關(guān)閉但是本地用戶已經(jīng)不能登錄 原因是因為虛擬用戶映射在本地用戶上
2.2建立本地映射用戶并設(shè)置宿主目錄權(quán)限
useradd -d /home/vftproot -s /sbin/nologin vuser vuser不需要設(shè)置密碼 只是一個映射用戶 用戶名必須和下一步配置文件中的一致 chmod 755 /home/vftproot
2.3配置文件
[root@localhost vsftpd]# cat /etc/vsftpd/vsftpd.conf anonymous_enable=NO #不允許匿名用戶登錄 banner_file=/etc/vsftpd/welcome.txt #登錄用戶看到的公告 local_enable=YES #支持本地端的實體用戶登錄 local_umask=022 #建立新目錄(755)與文件(644)的權(quán)限 write_enable=YES #允許用戶上傳數(shù)據(jù)包括文件和目錄 dirmessage_enable=YES #若目錄下有.message則會顯示該文件的內(nèi)容 message_file=.message xferlog_enable=YES #啟動日志記錄文件,記錄于/var/log/xferlog xferlog_file=/var/log/xferlog #日志文件路徑 connect_from_port_20=YES #支持主動式連接 listen=YES #使用stand alone方式啟動vsftpd pam_service_name=vsftpd #支持pam模塊的管理 userlist_enable=YES #/etc/vsftpd/user_list文件內(nèi)的賬號登錄控制 userlist_deny=YES userlist_file=/etc/vsftpd/user_list use_localtime=YES #使用本地時間 listen_port=21 #stand alone 的監(jiān)聽端口 download_enable=YES max_clients=0 max_per_ip=3 pasv_enable=YES #支持被動模式 pasv_min_port=24500 #被動模式下數(shù)據(jù)傳輸端口號范圍 pasv_max_port=24600 accept_timeout=60 connect_timeout=60 idle_session_timeout=600 #600秒之內(nèi)沒有指令就斷開連接 data_connection_timeout=500 #傳輸文件的超時時間 tcp_wrappers=YES #支持TCP Wrappers的防火墻機制 chroot_local_user=YES chroot_list_enable=YES chroot_list_file=/etc/vsftpd/chroot_list guest_enable=YES guest_username=vuser #指定訪客的身份 pam_service_name=vsftpd #支持pam模塊的管理 user_config_dir=/etc/vsftpd/vuser_dir #創(chuàng)建虛擬用戶配置文件目錄
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/39931.html
摘要:編輯將以上三項寫入配置文件然后重啟服務(wù),默認情況本地用戶登錄是在自己的家目錄,用戶被禁止登錄,若有需求可以修改和文件將登錄權(quán)限放開。 vsftpd服務(wù)的搭建 環(huán)境: 系統(tǒng)centos7 ip:10.0.0.5 1.匿名開放模式 yum install vsftpd -y #安裝vsftpd服務(wù) systemctl start vsftpd #啟動服務(wù) 參數(shù) 作用 anon...
閱讀 1743·2023-04-25 19:37
閱讀 1316·2021-11-16 11:45
閱讀 2815·2021-10-18 13:30
閱讀 2776·2021-09-29 09:34
閱讀 1643·2019-08-30 15:55
閱讀 3121·2019-08-30 11:10
閱讀 1840·2019-08-29 16:52
閱讀 1006·2019-08-29 13:18