Linux下的Vsftpd配置篇
生活随笔
收集整理的這篇文章主要介紹了
Linux下的Vsftpd配置篇
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
?
1.???????? 主動與被動模式 1)???????? 主動模式(PORT方式) 連接過程為:客戶端向服務(wù)器FTP端口(默認(rèn)是21)發(fā)送連接請求,服務(wù)器接受連接,建立一條命令鏈路。當(dāng)需要傳送數(shù)據(jù)時,客戶端在命令鏈路上用PORT命令告訴服務(wù)器:我打開了XX端口,你過來連接我,于是服務(wù)器從20號端口向客戶端的XX端口發(fā)送連接請求,建立一條數(shù)據(jù)鏈路來傳送數(shù)據(jù)。 2)???????? 被動模式(PASV方式) 連接過程為:客戶端向服務(wù)器FTP端口(默認(rèn)是21)發(fā)送連接請求,服務(wù)器接受連接,建立一條命令鏈路。當(dāng)需要傳送數(shù)據(jù)時,服務(wù)器在命令鏈路上用PASV命令告訴客戶端:我打開了XX端口,你過來連接我,于是客戶端向服務(wù)器的XX端口發(fā)送連接請求,建立一條數(shù)據(jù)鏈路來傳送數(shù)據(jù)。 2.???????? 安裝 1)???????? 查看是否安裝 打開命令行,輸入rpm -q vsftpd,出現(xiàn): ??已經(jīng)安裝 ??還沒安裝 2)???????? 安裝 ??載入光盤 ??設(shè)置光盤 單擊虛擬機右下角的光盤圖標(biāo),選擇Settings,在Device status中將Connected勾選,在Connection中選擇Use ISO p_w_picpath file,然后單擊Browse選擇Linux的安裝包,單擊OK ??安裝 安裝完成 3.???????? 文件結(jié)構(gòu)與配置文件 1)???????? 文件結(jié)構(gòu)
| 配置文件名 | 功能 |
| /usr/sbin/vsftpd | vsftpd的主程序 |
| /etc/rc.d/init.d/vsftpd | 啟動腳本 |
| /etc/vsftpd/vsftpd.conf | 主配置文件 |
| /etc/pam.d/vsftpd | PAM認(rèn)證文件 |
| /etc/vsftpd.ftpusers | 禁止使用vsftpd的用戶列表文件 |
| /etc/vsftpd.user_list | 禁止或允許使用vsftpd的用戶列表文件 |
| /var/ftp | 匿名用戶主目錄 |
| /var/ftp/pub | 匿名用戶的下載目錄 |
| /etc/logrotate.d/vsftpd.log | vsftpd的日志文件 |
?
以#號開頭的為注釋,這里把非配置參數(shù)注釋都去掉了 ??參數(shù)含義
| 參數(shù) | 含義 |
| anonymous_enable=YES | 是否允許使用匿名賬戶 |
| local_enable=YES | 是否允許本地用戶登錄 |
| write_enable=YES | 是否允許寫入 |
| local_umask=022 | 本地umask值為022 |
| #anon_upload_enable=YES | 匿名用戶是否可上傳文件 |
| #anon_mkdir_write_enable=YES | 匿名用戶是否可建立目錄 |
| dirmessage_enable=YES | 進入每個目錄顯示歡迎信息,在每個目錄下建立.message文件在里面寫歡迎信息 |
| xferlog_enable=YES | 上傳/下載文件時記錄日志 |
| connect_from_port_20=YES | 是否使用20端口傳輸數(shù)據(jù)(是否使用主動模式) |
| #chown_uploads=YES | 修改匿名用戶上傳的文件,文件的擁有者 |
| #chown_username=whoever | |
| #xferlog_file=/var/log/xferlog | 日志文件 |
| xferlog_std_format=YES | 使用標(biāo)準(zhǔn)文件日志 |
| #idle_session_timeout=600 | 會話超時,客戶端連接到ftp但未操作 |
| #data_connection_timeout=120 | 數(shù)據(jù)傳輸超時 |
| #nopriv_user=ftpsecure | 指定vsftpd服務(wù)的運行帳戶,不指定時使用ftp |
| #async_abor_enable=YES | 是否允許客戶端使用sync等命令 |
| #ascii_upload_enable=YES | 是否允許上傳/下載二進制文件 |
| #ascii_download_enable=YES | |
| #ftpd_banner=Welcome to blah FTP service. | 登錄提示語 |
| #deny_email_enable=YES | 拒絕使用banned_email_file參數(shù)指定文件中所列出的e-mail地址進行登錄的匿名用戶。即,當(dāng)匿名用戶使用banned_email_file文件中所列出的e-mail進行登錄時,被拒絕。 |
| #banned_email_file=/etc/vsftpd/banned_emails | |
| #chroot_list_enable=YES | 鎖定登陸用戶在其主目錄,將用戶名一個一行寫在/etc/vsftpd/chroot_list文件里,使用此方法時必須chroot_local_user=YES |
| #chroot_list_file=/etc/vsftpd/chroot_list | |
| #ls_recurse_enable=YES | 是否允許使用ls -R等命令 |
| listen=YES | 開啟ipv4監(jiān)聽 |
| #listen_ipv6=YES | 開啟ipv6監(jiān)聽 |
| pam_service_name=vsftpd | 使用pam模塊控制,vsftpd文件在/etc/pam.d目錄下 |
| userlist_enable=YES | 與其他中userlist_deny=YES共同控制訪問用戶,詳見userlist_deny=YES參數(shù)含義 |
| tcp_wrappers=YES | 是否允許tcp_wrappers管理 |
| 其他 | |
| listen_address=ip address | 指定偵聽IP |
| listen_port=port_value | 指定偵聽端口,默認(rèn)21 |
| chroot_local_user=YES | 限制所有的本地用戶在自家目錄 |
| userlist_deny=YES | 決定禁止還是只允許由userlist_file指定文件中的用戶登錄FTP服務(wù)器。此選項在userlist_enable選項啟動后才生效。YES為默認(rèn)值,禁止文件中的用戶登錄,同時也不向這些用戶發(fā)出輸入密碼的提示。NO表示只允許在文件中的用戶登錄FTP服務(wù)器 |
| local_root=/home/ftp | 所有用戶的根目錄,對匿名用戶無效 |
| anon_max_rate=value | 匿名用戶的最大傳輸速度,單位是Byts/s |
| local_max_rate=value | 本地用戶的最大傳輸速度,單位是Byts/s |
| download_enable=YES | 是否允許下載 |
| 代碼 | 含義 | 代碼 | 含義 |
| 110 | 重新啟動標(biāo)記應(yīng)答 | 120 | 服務(wù)在多久時間內(nèi)ready |
| 125 | 數(shù)據(jù)鏈路埠開啟,準(zhǔn)備傳送 | 150 | 文件狀態(tài)正常,開啟數(shù)據(jù)連接端口 |
| 200 | 命令執(zhí)行成功 | 202 | 命令執(zhí)行失敗 |
| 211 | 系統(tǒng)狀態(tài)或是系統(tǒng)求助響應(yīng) | 212 | 目錄的狀態(tài) |
| 213 | 文件的狀態(tài) | 214 | 求助的信息 |
| 215 | 名稱系統(tǒng)類型 | 220 | 新的聯(lián)機服務(wù)ready |
| 221 | 服務(wù)的控制連接埠關(guān)閉,可以注銷 | 225 | 數(shù)據(jù)連結(jié)開啟,但無傳輸動作 |
| 226 | 關(guān)閉數(shù)據(jù)連接端口,請求的文件操作成功 | 227 | 進入passive mode |
| 230 | 使用者登錄 | 250 | 請求的文件操作完成 |
| 257 | 顯示目前的路徑名稱 | 331 | 用戶名稱正確,需要密碼 |
| 332 | 登入時需要賬號信息 | 350 | 請求的操作需要進一部的命令 |
| 421 | 無法提供服務(wù),關(guān)閉控制連結(jié) | 425 | 無法開啟數(shù)據(jù)鏈路 |
| 426 | 關(guān)閉聯(lián)機,終止傳輸 | 450 | 請求的操作未執(zhí)行 |
| 451 | 命令終止:有本地的錯誤 | 452 | 未執(zhí)行命令:磁盤空間不足 |
| 500 | 格式錯誤,無法識別命令 | 501 | 參數(shù)語法錯誤 |
| 502 | 命令執(zhí)行失敗 | 503 | 命令順序錯誤 |
| 504 | 命令所接的參數(shù)不正確 | 530 | 未登錄 |
| 532 | 儲存文件需要賬戶登錄 | 550 | 未執(zhí)行請求的操作 |
| 551 | 請求的命令終止,類型未知 | 552 | 請求的文件終止,儲存位溢出 |
| 553 | 未執(zhí)行請求的的命令,名稱不正確 |
?
將local_enable=YES改為NO,保存退出 l?重啟服務(wù) ??測試 4)???????? 不允許匿名登錄,只允許實名登錄 ??配置 l?修改配置文件?
將local_enable=NO改為YES,anonymous_enable=YES改為NO,退出保存 l?重啟服務(wù) ??測試 5)???????? 黑、白名單 ??黑名單 l?配置 u?修改配置文件?
anonymous_enable=NO改為anonymous_enable=YES,還原初始配置 u?添加黑名單 將zwb用戶追加進黑名單 l?測試 zwb用戶登錄失敗 ??白名單 l?配置 u?還原設(shè)置?
將上面追加進黑名單的用戶zwb移除并保存退出 u?設(shè)置白名單?
添加userlist_deny=NO與userlist_file=/etc/vsftpd/user_list這2行 u?添加白名單?
除user_list里的用戶外,都不可登陸 u?重啟服務(wù) l?測試 6)???????? 限制客戶數(shù) ??配置 l?還原設(shè)置 u?還原白名單?
將上面追加進黑名單的用戶zwb移除并保存退出 u?還原配置文件?
去掉userlist_deny=NO與userlist_file=/etc/vsftpd/user_list l?修改配置文件?
添加max_clients=1,指明最大客戶連接數(shù)量為1 l?重啟服務(wù) ??測試 ftp用戶登錄成功,不要退出,再次開啟一個命令行 在才開啟的命令行上連接FTP,錯誤代碼421,提示There are too many connected users,please try later(有太多的用戶連接,稍后再試),使用zwb用戶登錄Connection closed by remote host(遠程主機連接關(guān)閉) 7)???????? 速率限制 ??匿名用戶與實名用戶速率限制 l?配置 u?還原設(shè)置?
去掉max_clients=1 u?修改配置文件?
單位為bytes,local_max_rate表示實名用戶的下載速度,anon_max_rate表示匿名用戶的下載速度 u?重啟服務(wù) l?測試 u?創(chuàng)建測試文件 dd if=/dev/zero of=get_test bs=126k count=1創(chuàng)建一個大小為126k的文件,用0填滿,作為測試文件,實際創(chuàng)建了一個129k的文件 u?測試 zwb用戶用時為0.77Seconds,速率為168.44Kbytes/sec。ftp用戶用時為6.20Seconds,速率為20.80Kbytes/sec ??不同實名用戶分等級下載限制 l?配置 u?還原設(shè)置?
去掉local_max_rate與anon_max_rate
u?添加用戶
建立zzj用戶的用戶根目錄,添加zzj用戶,設(shè)置zzj用戶密碼 u?修改配置文件?
添加user_config_dir=/etc/vsftpd,設(shè)置用戶配置目錄 u?添加用戶配置文件 n?為zwb用戶添加配置文件?
n?為zzj用戶添加配置文件?
u?重啟服務(wù) l?測試 zwb用戶用時為0.78Seconds,速率為165.20Kbytes/sec。zzj用戶用時為6.20Seconds,速率為20.80Kbytes/sec 8)???????? 上傳 ??匿名用戶上傳 l?配置 u?還原設(shè)置?
把user_config_dir=/etc/vsftpd去掉 u?修改配置文件?
取消anon_upload_enable=YES與anon_mkdir_write_enable=YES前的注釋,添加anon_other_write_enable=YES,表示允許文件改名、刪除 u?權(quán)限配置 chmod -R 777 pub: 將pub目錄改為777的權(quán)限 chcon -R -t public_content_rw_t pub: 將pub目錄的文件類型改為public_content_rw_t getsebool -a | grep ftp: 查看sebool值中關(guān)于ftp的值 setsebool -P allow_ftpd_anon_write on: 修改sebool中allow_ftpd_anon_write的值為on u?重啟服務(wù) l?測試 u?創(chuàng)建測試文件 u?測試 匿名用戶需要上傳在pub目錄下 ??實名用戶上傳 l?配置 u?還原設(shè)置 n?還原配置文件 將anonymous_enable=YES注釋 將anon_upload_enable=YES與anon_mkdir_write_enable=YES注釋 n?還原sebool值 u?設(shè)置sebool值 u?設(shè)置用戶根目錄權(quán)限 將用戶主目錄/var/ftp/pub/zwb改成777的權(quán)限 u?重啟服務(wù) l?測試 9)???????? 更改默認(rèn)共享目錄 ??配置 l?還原設(shè)置?
l?修改配置文件?
l?重啟服務(wù) l?創(chuàng)建實名用戶根目錄 l?修改目錄類型 ??測試 l?創(chuàng)建文件 l?測試 實名用戶登錄后ls可以看到文件A,證明在/home/zwb文件目錄下,或者可以使用pwd命令,查看當(dāng)前所在目錄 匿名用戶ftp登錄后,ls可以看到文件B,證明在/home文件目錄下轉(zhuǎn)載于:https://blog.51cto.com/huobumingbai/404885
總結(jié)
以上是生活随笔為你收集整理的Linux下的Vsftpd配置篇的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 幼儿园体育灵活的小汽车教学设计及反思
- 下一篇: linux 其他常用命令