摘要:是否允許具有除了寫入之外的權(quán)限包括刪除與改寫服務(wù)器上的檔案及檔名等權(quán)限。與上一個(gè)設(shè)定類似的,只是這個(gè)設(shè)定針對(duì)上傳而言預(yù)設(shè)是這個(gè)設(shè)定項(xiàng)目比較危險(xiǎn)一點(diǎn)當(dāng)設(shè)定為時(shí),表示每個(gè)建立的聯(lián)機(jī)都會(huì)擁有一支在負(fù)責(zé),可以增加的效能。
vsftpd的全名是“Very secure FTP Daemon”
一、安裝vsftpd
1.1安裝db4-util用于生成認(rèn)證文件
[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認(rèn)證文件(此文件中file=/etc/vsftpd/ftpusers字段,指明 阻止訪問的用戶來自/etc/vsftpd/ftpusers文件中的用戶)
/var/ftp,匿名用戶主目錄;本地用戶主目錄為:/home/用戶主目錄,即登錄后進(jìn)入自己家目錄
/var/ftp/pub,匿名用戶的下載目錄,此目錄需賦權(quán)根chmod 1777 pub(1為特殊權(quán)限,使上載后無法刪除)
1.3vsftpd的主配置文件/etc/vsftpd/vsftpd.conf說明:
vsftpd的配置文件格式為“參數(shù)=設(shè)置值”,注意等號(hào)兩邊不能有空格
1.3.1 與服務(wù)器環(huán)境相關(guān)的配置值
connect_from_port_20=YES (ftp的數(shù)據(jù)傳輸端口)
listen_port=21(vsftpd使用的命令通道端口,這個(gè)值僅適合以stand alone的方式來啟動(dòng),對(duì)于super daemon無效)
dirmessage_enable={YES|NO}(當(dāng)用戶進(jìn)入某個(gè)目錄時(shí),會(huì)顯示該目錄需要注意的內(nèi)容,顯示文件默認(rèn)是.message)
message_file=.message(當(dāng)dirmessage_enable=YES時(shí),可以設(shè)置這個(gè)項(xiàng)目讓vsftpd尋找該文件來顯示信息)
listen={YES|NO} (若設(shè)置為YES,表示vsftpd是以stand alone的方式來啟動(dòng),centos默認(rèn)是YES)
pasv_enable={YES|NO}(支持?jǐn)?shù)據(jù)流的被動(dòng)連接方式,passive mode,最好設(shè)置為YES)
use_localtime={YES|NO}(是否使用本地時(shí)間,vsftpd默認(rèn)使用GMT時(shí)間)
write_enable={YES|NO}(是否允許用戶上傳數(shù)據(jù))
connect_timeout=60(單位是秒在數(shù)據(jù)連接的主動(dòng)模式下,服務(wù)器發(fā)出的連接信號(hào)在60秒內(nèi)得不到客戶端的響應(yīng),則不等待強(qiáng)制斷線)
accept_timeout=60(當(dāng)客戶端以被動(dòng)式PASV來進(jìn)行數(shù)據(jù)傳輸時(shí),如果服務(wù)器啟用passive port并等待客戶端超過60秒無反應(yīng),那么久強(qiáng)制斷線,這個(gè)設(shè)置與connect_timeout類似,不過一個(gè)是管理主動(dòng)連接,一個(gè)是管理被動(dòng)連接)
data_connection_timeout=300(如果數(shù)據(jù)連接建立之后300秒內(nèi)還是沒有順利完成數(shù)據(jù)傳輸,那服務(wù)器就會(huì)主動(dòng)斷開連接)
idle_session_timeout=300(如果用戶在300秒內(nèi)都沒有命令操作,則強(qiáng)制脫機(jī),避免占用空間)
max_clients=0(如果是以stand alone方式啟動(dòng)的,那么這個(gè)設(shè)置項(xiàng)目可以設(shè)置同時(shí)最多有多少個(gè)client可以同時(shí)連上vsftpd,0表示不限制)
max_per_ip=5(設(shè)置同一IP同一時(shí)間可允許多少連接)
pasv_min_port=0、pasv_max_port=0(被動(dòng)模式的連接端口如果想使用65400到65410這11個(gè)port來進(jìn)行被動(dòng)式連接的哈pasv_min_port=65400 pasv_max_port=65410,如果是0的話表示隨機(jī)取用而不限制)
ftpd_banner="一些文字說明"(當(dāng)用戶登錄時(shí)顯示的說明)
banner_file=/path/file(指定某個(gè)純文本文件作為用戶登錄vsftpd服務(wù)器時(shí)所顯示的歡迎字眼)
1.3.2與實(shí)體用戶相關(guān)的設(shè)置值
guest_enable={YES|NO}(若設(shè)置為YES,那么任何實(shí)體賬號(hào),都會(huì)被假設(shè)為guest,所以默認(rèn)是不開放的,訪客在vsftpd中,默認(rèn)會(huì)取得ftp這個(gè)用戶的相關(guān)權(quán)限,但可以通過guest_username來修改)
guest_name=ftp(在guest_enable為YES時(shí)才會(huì)生效,指定訪客的身份)
local_enable={YES|NO}(這個(gè)值設(shè)置值為YES時(shí),在/etc/passwd中的賬號(hào)才能以實(shí)體用戶的方式登錄)
local_max_rate=0(實(shí)體用戶的傳輸速度限制,單位為bytes/second,0為不限制)
chroot_local_user={YES|NO}(在設(shè)置為YES時(shí),將用戶限制在自己的用戶主目錄之內(nèi),為了安全性,這里應(yīng)該要設(shè)定成 YES)
chroot_list_enable={YES|NO}(是否啟用 chroot 寫入列表的功能?與底下的 chroot_list_flie 有關(guān)!這個(gè)項(xiàng)目得要開啟,否則底下的列表檔案會(huì)無效。)
chroot_list_file=/etc/vsftpd/chroot_list(如果 chroot_list_enable=YES 那么就可以設(shè)定這個(gè)項(xiàng)目了!)
userlist_enable={YES|NO}(是否借助vsftpd 的抵擋機(jī)制來處理某些不受歡迎的賬號(hào),與底下的參數(shù)設(shè)定有關(guān);)
userlist_deny={YES|NO}(當(dāng) userlist_enable=YES 時(shí)才會(huì)生效,若此設(shè)定值為 YES 時(shí),則當(dāng)使用者賬號(hào)被列入到某個(gè)檔案時(shí), 在該檔案內(nèi)的使用者將無法登入 vsftpd 服務(wù)器!該檔案文件名與下列設(shè)定項(xiàng)目有關(guān)。)
userlist_file=/etc/vsftpd/user_list(若上面 userlist_deny=YES 時(shí),則這個(gè)檔案就有用處了!在這個(gè)檔案內(nèi)的賬號(hào)都無法使用 vsftpd )
1.3.3匿名者登入的設(shè)定值
anonymous_enable=YES (NO)
設(shè)定為允許 anonymous 登入我們的 vsftpd 主機(jī)!預(yù)設(shè)是 YES ,底下的所有相關(guān)設(shè)定都需要將這個(gè)設(shè)定為
anonymous_enable=YES 之后才會(huì)生效!
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)限?默認(rèn)值是
NO!如果要設(shè)定為 YES, 那么 anony_other_write_enable 必須設(shè)定為 YES !
anon_upload_enable=YES (NO) 是否讓 anonymous 具有上傳數(shù)據(jù)的功能,默認(rèn)是 NO,如果要設(shè)定為 YES
,則 anon_other_write_enable=YES 必須設(shè)定。
deny_email_enable=YES (NO) 將某些特殊的 email address 抵擋住,不讓那些 anonymous
登入!如果以 anonymous 登入服務(wù)器時(shí),不是會(huì)要求輸入密碼嗎?密碼不是要你輸入你的 email address
嗎?如果你很討厭某些 email address, 就可以使用這個(gè)設(shè)定來將他取消登入的權(quán)限!需與下個(gè)設(shè)定項(xiàng)目配合:
banned_email_file=/etc/vsftpd/banned_emails 如果 deny_email_enable=YES
時(shí),可以利用這個(gè)設(shè)定項(xiàng)目來規(guī)定哪個(gè) email address 不可登入我們的 vsftpd 喔!在上面設(shè)定的檔案內(nèi),一行輸入一個(gè)email address 即可!
no_anon_password=YES (NO) 當(dāng)設(shè)定為 YES 時(shí),表示 anonymous 將會(huì)略過密碼檢驗(yàn)步驟,而直接進(jìn)入
vsftpd 服務(wù)器內(nèi)喔!所以一般預(yù)設(shè)都是 NO 的!(登入時(shí)會(huì)檢查輸入的 emai)
anon_max_rate=0 這個(gè)設(shè)定值后面接的數(shù)值單位為 bytes/秒 ,限制 anonymous 的傳輸速度,如果是 0
則不限制(由最大帶寬所限制),如果你想讓 anonymous 僅有 30 KB/s的速度,可以設(shè)定『anon_max_rate=30000』
anon_umask=077 限制 anonymous 上傳檔案的權(quán)限!如果是 077 則 anonymous 傳送過來的檔案權(quán)限會(huì)是
-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) 與上一個(gè)設(shè)定類似的,只是這個(gè)設(shè)定針對(duì)上傳而言!預(yù)設(shè)是 NO
one_process_model=YES (NO) 這個(gè)設(shè)定項(xiàng)目比較危險(xiǎn)一點(diǎn)~當(dāng)設(shè)定為 YES 時(shí),表示每個(gè)建立的聯(lián)機(jī)都會(huì)擁有一支 process 在負(fù)責(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í),使用者上傳與下載文件都會(huì)被紀(jì)錄起來。記錄的檔案與下一個(gè)設(shè)定項(xiàng)目有關(guān):
xferlog_file=/var/log/xferlog 如果上一個(gè) xferlog_enable=YES
的話,這里就可以設(shè)定了!這個(gè)是登錄檔的檔名啦!
xferlog_std_format=YES (NO) 是否設(shè)定為 wu ftp 相同的登錄檔格式?預(yù)設(shè)為 NO
,因?yàn)榈卿洐n會(huì)比較容易讀! 不過,如果你有使用 wu ftp 登錄文件的分析軟件,這里才需要設(shè)定為 YES
dual_log_enable=YES, vsftpd_log_file=/var/log/vsftpd.log 除了
/var/log/xferlog 的 wu-ftp 格式登錄檔之外,還可以具有 vsftpd 的獨(dú)特登錄檔格式喔!如果你的 FTP
服務(wù)器并不是很忙碌, 或許訂出兩個(gè)登錄檔的撰寫 (/var/log/{vsftpd.log,xferlog) 是不錯(cuò)的。
nopriv_user=nobody 我們的 vsftpd 預(yù)設(shè)以 nobody 作為此一服務(wù)執(zhí)行者的權(quán)限。因?yàn)?nobody
的權(quán)限相當(dāng)?shù)牡停虼思词贡蝗肭?,入侵者僅能取得 nobody 的權(quán)限
pam_service_name=vsftpd 這個(gè)是 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的認(rèn)證文件:
[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
//添加底部?jī)尚?注釋掉其他行,因?yàn)楸镜赜脩舻卿浺蕾囘@個(gè)文件 local_enable=YES 不能關(guān)閉但是本地用戶已經(jīng)不能登錄 原因是因?yàn)樘摂M用戶映射在本地用戶上
2.2建立本地映射用戶并設(shè)置宿主目錄權(quán)限
useradd -d /home/vftproot -s /sbin/nologin vuser vuser不需要設(shè)置密碼 只是一個(gè)映射用戶 用戶名必須和下一步配置文件中的一致 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 #支持本地端的實(shí)體用戶登錄 local_umask=022 #建立新目錄(755)與文件(644)的權(quán)限 write_enable=YES #允許用戶上傳數(shù)據(jù)包括文件和目錄 dirmessage_enable=YES #若目錄下有.message則會(huì)顯示該文件的內(nèi)容 message_file=.message xferlog_enable=YES #啟動(dòng)日志記錄文件,記錄于/var/log/xferlog xferlog_file=/var/log/xferlog #日志文件路徑 connect_from_port_20=YES #支持主動(dòng)式連接 listen=YES #使用stand alone方式啟動(dòng)vsftpd pam_service_name=vsftpd #支持pam模塊的管理 userlist_enable=YES #/etc/vsftpd/user_list文件內(nèi)的賬號(hào)登錄控制 userlist_deny=YES userlist_file=/etc/vsftpd/user_list use_localtime=YES #使用本地時(shí)間 listen_port=21 #stand alone 的監(jiān)聽端口 download_enable=YES max_clients=0 max_per_ip=3 pasv_enable=YES #支持被動(dòng)模式 pasv_min_port=24500 #被動(dòng)模式下數(shù)據(jù)傳輸端口號(hào)范圍 pasv_max_port=24600 accept_timeout=60 connect_timeout=60 idle_session_timeout=600 #600秒之內(nèi)沒有指令就斷開連接 data_connection_timeout=500 #傳輸文件的超時(shí)時(shí)間 tcp_wrappers=YES #支持TCP Wrappers的防火墻機(jī)制 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)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/39931.html
摘要:編輯將以上三項(xiàng)寫入配置文件然后重啟服務(wù),默認(rèn)情況本地用戶登錄是在自己的家目錄,用戶被禁止登錄,若有需求可以修改和文件將登錄權(quán)限放開。 vsftpd服務(wù)的搭建 環(huán)境: 系統(tǒng)centos7 ip:10.0.0.5 1.匿名開放模式 yum install vsftpd -y #安裝vsftpd服務(wù) systemctl start vsftpd #啟動(dòng)服務(wù) 參數(shù) 作用 anon...
閱讀 1738·2023-04-25 19:37
閱讀 1308·2021-11-16 11:45
閱讀 2807·2021-10-18 13:30
閱讀 2767·2021-09-29 09:34
閱讀 1630·2019-08-30 15:55
閱讀 3116·2019-08-30 11:10
閱讀 1835·2019-08-29 16:52
閱讀 999·2019-08-29 13:18