VSFTP配置详解+虚拟用户的支持
生活随笔
收集整理的這篇文章主要介紹了
VSFTP配置详解+虚拟用户的支持
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
???? FTP 搭建 第一部分:理論 一. FTP服務(wù)器的基本原理 1. 基本概念:ftp是文件傳輸協(xié)議,(file transport portocol) 2. 數(shù)據(jù)傳輸模式:主動(dòng)模式和被動(dòng)模式? (要和binary ascii 區(qū)分一下) 3. 使用的端口號(hào): A 主動(dòng)模式 :命令控制端口:21??? 數(shù)據(jù)傳輸端口:20 B 被動(dòng)模式 :命令控制端口:21??? 數(shù)據(jù)傳輸端口:1024之后的隨機(jī)端口
二. 常用的FTP 服務(wù)器軟件 1. windows下:iis? server-U 2. Linux下:wu-ftp? proftp vsftp? (現(xiàn)在的主流是vsftp,其他的兩種基本被淘汰) 三. Linux常用的服務(wù)器軟件:vsftp 它是本章的重點(diǎn):vsery security transport portocol 四.常用的ftp客戶端軟件 1. 特點(diǎn):運(yùn)行在圖形環(huán)境下的窗口程序,可使用鼠標(biāo)和通過菜單進(jìn)行操作,操作方便 2.常用的ftp客戶端軟件: windows下有Cuteftp? leapftp? flashxp filezilla是windows下運(yùn)行的開源軟件
???
???Linux下有g(shù)ftp,是GNOME桌面環(huán)境中運(yùn)行的ftp客戶的軟件,是我GNOME的重要組成部分
五. voftpd.conf中常用的配置參數(shù): anonymous_enable=YES?? (啟用匿名用戶,即:允許匿名用戶登錄)
???
??? local_enable=YES?? (啟用本地用戶,即:允許本的用戶登錄) write_enabe=YES?(啟用本地用戶寫的權(quán)限,即:本的用戶登錄到宿主目錄后有寫的權(quán)限) local_umask=022?(本地用戶生成文件的掩碼,上傳文件的權(quán)限是644)? 【如果上傳文件夾的總權(quán)限為777,文件為666,可以用 file_open_mode=0777】??? 【注:文件夾的最大權(quán)限是777,文件的最大權(quán)限是666】?
?
??? xferlog_enable=YES (設(shè)置為YES時(shí),ftp服務(wù)器將啟用上傳和下載日志。日志文件:/var/log/xferlog xferlog_std_format=YES (設(shè)為YES時(shí),ftp服務(wù)器將使用標(biāo)準(zhǔn)的ftp xferlog 日志格式) dual_log_enable=YES (設(shè)置為時(shí)將生成兩個(gè)相似的日志文件分別是/var/log/xferlog和/var/log/vsfptpd.log) connect_from_port_20=YES (設(shè)為YES時(shí),將啟用ftp數(shù)據(jù)端口的連接請求) pam_service_name=YES (設(shè)置PAM認(rèn)證服務(wù)的配置文件名稱) userlist_enable=YES? (設(shè)為YES時(shí),FTP服務(wù)器將檢查vsftpd.user_list 文件中的用戶是否可以訪問ftp服務(wù)器) 【userlist_enable=YES? userlist_deny=NO 表示vsftpd.user_list 文件中的用戶可以登錄ftp服務(wù)器】
???
??? 【userlist_enable=YES? userlist_deny=NO 表示vsftpd.user_list文件中的用戶不可以登錄ftp服務(wù)器】 【默認(rèn)情況下userlist_deny=YES,即:vsftpd.user_list文件中的用戶不能登錄發(fā)圖片服務(wù)器】 listen=YES 設(shè)為YES時(shí),ftp服務(wù)器以獨(dú)立方式啟動(dòng),否則以超級(jí)進(jìn)程的方式啟動(dòng) tcp_wrappers=YES? 設(shè)為YES時(shí),ftp服務(wù)器將使用tcp_wrappers作為主機(jī)訪問控制方式
??? chroot_local_user=YES/NO? 限制本地用戶是否禁錮在自己的宿主目錄中 chroot_list_enable=YES/NO?
??? chroot_list_file=/etc/vsftpd/chroot_list [chroot_list文件中的用戶被禁錮在自己的宿主目錄中] max_clients=100? 最大客戶端的數(shù)量 max_per_ip=5???? 每個(gè)ip的最大連接數(shù)
?
??? local_mal_rate=50000? 本地用戶最大的傳輸速率? (單位是byte,字節(jié)) anon_max_rate=20000?? 匿名用戶最大傳輸速率??? (單位是byte,字節(jié)) listen_port=2121????? 更改ftp默認(rèn)的端口號(hào)
六. ftp 服務(wù)器中默認(rèn)的黑名單:/etc/vsftpd.ftpusers? (此文件中的用戶不能登錄ftp服務(wù)器) 七. /etc/vsftpd.user_list 文件具有對vsftpd服務(wù)器跟靈活的用戶訪問控制 1. 如果想讓該文件中的用戶禁止登錄ftp服務(wù)器: userlist_enable=YES
?? userlist_deny=YES 2. 如果想讓該文件中的用戶可以登錄ftp服務(wù)器:
????
?? userlist_enable=YES
?? userlist_deny=NO 八. vsftpd支持的用戶類型 1. 匿名用戶:匿名用戶名稱:ftp和anonymous??? 登錄目錄:/var/ftp 2. 系統(tǒng)用戶:系統(tǒng)中實(shí)際存在的用戶??????????? 登錄目錄:/該用戶的宿主目錄 3. 虛擬用戶:非系統(tǒng)用戶????????????????????? 登錄目錄:? 可手工指定
九. 命令行模式下常用命令: put (上傳,這能上傳一個(gè)文件)
?? get (下載,這能下載一個(gè)文件)
?? mput(上傳,可上傳多個(gè)文件)
?? mget(下載,可下載多個(gè)文件) 第二部分:實(shí)驗(yàn)
實(shí)驗(yàn)一:測試匿名用戶和系統(tǒng)用戶 1.安裝ftp軟件包:# rpm -ivh vsftpd 2.啟動(dòng)ftp服務(wù)器:# service vsftpd start 3.建立系統(tǒng)用戶。(匿名用戶不用建立)
?
4.在客戶端登錄ftp進(jìn)行測試: A. 在cmd里面用命令測試,格式為:ftp 服務(wù)器的ip? 然后輸入用戶名和密碼 B. 用客戶端軟件測試: windows下可用flashxp cuteftp leapftp 測試
??????????????????????? Linux下可用 gftp測試(先安裝gftp 軟件包)
??
? 【匿名用戶測試時(shí),用戶名為ftp或anonymous,輸入密碼時(shí),直接回車即可】
? 【系統(tǒng)用戶測試時(shí),輸入系統(tǒng)用戶的用戶名和密碼】
實(shí)驗(yàn)二:虛擬用戶的支持 1. 建立虛擬用戶的口令庫文件。(奇數(shù)行是用戶名,偶數(shù)行是密碼。在/etc/vsftpd/目錄下建立該文件,假設(shè)為benet。文件名可自定義) 2. 生產(chǎn)vsftpd的認(rèn)證文件(需要先安裝db4-util軟件包) # db_load? -T? -t? hash? -f? /etc/vsftpd/benet?? /etc/vsftpd/benet.db (注意修改該文件的權(quán)限) 3. 建立虛擬用戶所需要的PAM 配置文件(在/etc/pam.d/目錄下創(chuàng)建該文件。文件名可自定義,假設(shè)為ftp) # vim? /etc/pam.d/ftp 輸入下面內(nèi)容:
?
??? auth? required? /lib/security/pam_userdb.so?? db=/etc/vsftpd/benet(庫名)? account? required? /lib/security/pam_userdb.so?? db=/etc/vsftpd/benet(庫名)?
3. 建立虛擬用戶登錄目錄,并修改相應(yīng)權(quán)限(修改主目錄權(quán)限為700) # useradd -s /sbin/nologin/?? -d /aa qq
?
? # chmod 700 /aa
?
? 【該系統(tǒng)用戶qq不能登錄,宿主目錄是/aa。所有的虛擬用戶都將登錄到/aa這個(gè)目錄中。-s 和 -d 參數(shù)不是必須的】 4. 設(shè)置/etc/vsftpd/vsftpd.conf配置文件,在文檔末尾添加如下內(nèi)容: guest_enable=YES
?? guest_username=qq(qq是上面的系統(tǒng)用戶)
?? pam_service_name=ftp(ftp是pam認(rèn)證的模塊名稱)
?? user_config_dir=/etc/vsftpd/config(config要手動(dòng)創(chuàng)建,它是虛擬用戶權(quán)限配置目錄。在該目錄中以虛擬用戶的用戶名編輯文件,設(shè)置權(quán)限) 5. 進(jìn)入/etc/vsftpd/config目錄,以虛擬用戶的名字編輯權(quán)限配置文件,可用參數(shù)如下: anon_world_readable_only=NO (表示用戶可以瀏覽ftp目錄和下載文件) anon_upload_enable=YES????? (表示用戶可以上傳文件)
?
? anon_mkdir_write_enable=YES (表示用戶具有建立目錄的權(quán)限,但不能刪除目錄)
?
? anon_other_write_enable=YES (表示用戶具有文件改名和刪除文件的權(quán)限) local_root=/zz????????????? (指定虛擬用戶的登錄目錄)
補(bǔ)充實(shí)驗(yàn) 1. 如何實(shí)現(xiàn)匿名用戶的上傳文件權(quán)限?
?
?A. 在/var/ftp/目錄下建立目錄。
?B.修改/etc/vsftpd/vsftpd.conf文件: anon_upload_enable=YES (虛擬用戶可上傳文件)
??????? anon_mkdir_write_enable=YES (虛擬用戶可創(chuàng)建目錄)
??????? anon_world_readable_only=YES (虛擬用戶可瀏覽和下載文件)
?????? 【根據(jù)需要設(shè)置相應(yīng)的權(quán)限】
?????????????????????????????????
2. 如何限制系統(tǒng)用戶任意切換宿主目錄? chroot_local_user=YES
3. 虛擬用戶aa,權(quán)限設(shè)置可上傳,可建立文件夾,可刪除文件夾,最大傳輸速率為0.5MB,登錄目錄為/ftpsite local_root=/ftpsite
?? anon_world_readable_only=NO
?? anon_upload-enable=YES
?? anon_mkdir_write_enable=YES
?? anon_other_write_enable=YES
?? anon_max_rate=500000
??
二. 常用的FTP 服務(wù)器軟件 1. windows下:iis? server-U 2. Linux下:wu-ftp? proftp vsftp? (現(xiàn)在的主流是vsftp,其他的兩種基本被淘汰) 三. Linux常用的服務(wù)器軟件:vsftp 它是本章的重點(diǎn):vsery security transport portocol 四.常用的ftp客戶端軟件 1. 特點(diǎn):運(yùn)行在圖形環(huán)境下的窗口程序,可使用鼠標(biāo)和通過菜單進(jìn)行操作,操作方便 2.常用的ftp客戶端軟件: windows下有Cuteftp? leapftp? flashxp filezilla是windows下運(yùn)行的開源軟件
???
???Linux下有g(shù)ftp,是GNOME桌面環(huán)境中運(yùn)行的ftp客戶的軟件,是我GNOME的重要組成部分
五. voftpd.conf中常用的配置參數(shù): anonymous_enable=YES?? (啟用匿名用戶,即:允許匿名用戶登錄)
???
??? local_enable=YES?? (啟用本地用戶,即:允許本的用戶登錄) write_enabe=YES?(啟用本地用戶寫的權(quán)限,即:本的用戶登錄到宿主目錄后有寫的權(quán)限) local_umask=022?(本地用戶生成文件的掩碼,上傳文件的權(quán)限是644)? 【如果上傳文件夾的總權(quán)限為777,文件為666,可以用 file_open_mode=0777】??? 【注:文件夾的最大權(quán)限是777,文件的最大權(quán)限是666】?
?
??? xferlog_enable=YES (設(shè)置為YES時(shí),ftp服務(wù)器將啟用上傳和下載日志。日志文件:/var/log/xferlog xferlog_std_format=YES (設(shè)為YES時(shí),ftp服務(wù)器將使用標(biāo)準(zhǔn)的ftp xferlog 日志格式) dual_log_enable=YES (設(shè)置為時(shí)將生成兩個(gè)相似的日志文件分別是/var/log/xferlog和/var/log/vsfptpd.log) connect_from_port_20=YES (設(shè)為YES時(shí),將啟用ftp數(shù)據(jù)端口的連接請求) pam_service_name=YES (設(shè)置PAM認(rèn)證服務(wù)的配置文件名稱) userlist_enable=YES? (設(shè)為YES時(shí),FTP服務(wù)器將檢查vsftpd.user_list 文件中的用戶是否可以訪問ftp服務(wù)器) 【userlist_enable=YES? userlist_deny=NO 表示vsftpd.user_list 文件中的用戶可以登錄ftp服務(wù)器】
???
??? 【userlist_enable=YES? userlist_deny=NO 表示vsftpd.user_list文件中的用戶不可以登錄ftp服務(wù)器】 【默認(rèn)情況下userlist_deny=YES,即:vsftpd.user_list文件中的用戶不能登錄發(fā)圖片服務(wù)器】 listen=YES 設(shè)為YES時(shí),ftp服務(wù)器以獨(dú)立方式啟動(dòng),否則以超級(jí)進(jìn)程的方式啟動(dòng) tcp_wrappers=YES? 設(shè)為YES時(shí),ftp服務(wù)器將使用tcp_wrappers作為主機(jī)訪問控制方式
??? chroot_local_user=YES/NO? 限制本地用戶是否禁錮在自己的宿主目錄中 chroot_list_enable=YES/NO?
??? chroot_list_file=/etc/vsftpd/chroot_list [chroot_list文件中的用戶被禁錮在自己的宿主目錄中] max_clients=100? 最大客戶端的數(shù)量 max_per_ip=5???? 每個(gè)ip的最大連接數(shù)
?
??? local_mal_rate=50000? 本地用戶最大的傳輸速率? (單位是byte,字節(jié)) anon_max_rate=20000?? 匿名用戶最大傳輸速率??? (單位是byte,字節(jié)) listen_port=2121????? 更改ftp默認(rèn)的端口號(hào)
六. ftp 服務(wù)器中默認(rèn)的黑名單:/etc/vsftpd.ftpusers? (此文件中的用戶不能登錄ftp服務(wù)器) 七. /etc/vsftpd.user_list 文件具有對vsftpd服務(wù)器跟靈活的用戶訪問控制 1. 如果想讓該文件中的用戶禁止登錄ftp服務(wù)器: userlist_enable=YES
?? userlist_deny=YES 2. 如果想讓該文件中的用戶可以登錄ftp服務(wù)器:
????
?? userlist_enable=YES
?? userlist_deny=NO 八. vsftpd支持的用戶類型 1. 匿名用戶:匿名用戶名稱:ftp和anonymous??? 登錄目錄:/var/ftp 2. 系統(tǒng)用戶:系統(tǒng)中實(shí)際存在的用戶??????????? 登錄目錄:/該用戶的宿主目錄 3. 虛擬用戶:非系統(tǒng)用戶????????????????????? 登錄目錄:? 可手工指定
九. 命令行模式下常用命令: put (上傳,這能上傳一個(gè)文件)
?? get (下載,這能下載一個(gè)文件)
?? mput(上傳,可上傳多個(gè)文件)
?? mget(下載,可下載多個(gè)文件) 第二部分:實(shí)驗(yàn)
實(shí)驗(yàn)一:測試匿名用戶和系統(tǒng)用戶 1.安裝ftp軟件包:# rpm -ivh vsftpd 2.啟動(dòng)ftp服務(wù)器:# service vsftpd start 3.建立系統(tǒng)用戶。(匿名用戶不用建立)
?
4.在客戶端登錄ftp進(jìn)行測試: A. 在cmd里面用命令測試,格式為:ftp 服務(wù)器的ip? 然后輸入用戶名和密碼 B. 用客戶端軟件測試: windows下可用flashxp cuteftp leapftp 測試
??????????????????????? Linux下可用 gftp測試(先安裝gftp 軟件包)
??
? 【匿名用戶測試時(shí),用戶名為ftp或anonymous,輸入密碼時(shí),直接回車即可】
? 【系統(tǒng)用戶測試時(shí),輸入系統(tǒng)用戶的用戶名和密碼】
實(shí)驗(yàn)二:虛擬用戶的支持 1. 建立虛擬用戶的口令庫文件。(奇數(shù)行是用戶名,偶數(shù)行是密碼。在/etc/vsftpd/目錄下建立該文件,假設(shè)為benet。文件名可自定義) 2. 生產(chǎn)vsftpd的認(rèn)證文件(需要先安裝db4-util軟件包) # db_load? -T? -t? hash? -f? /etc/vsftpd/benet?? /etc/vsftpd/benet.db (注意修改該文件的權(quán)限) 3. 建立虛擬用戶所需要的PAM 配置文件(在/etc/pam.d/目錄下創(chuàng)建該文件。文件名可自定義,假設(shè)為ftp) # vim? /etc/pam.d/ftp 輸入下面內(nèi)容:
?
??? auth? required? /lib/security/pam_userdb.so?? db=/etc/vsftpd/benet(庫名)? account? required? /lib/security/pam_userdb.so?? db=/etc/vsftpd/benet(庫名)?
3. 建立虛擬用戶登錄目錄,并修改相應(yīng)權(quán)限(修改主目錄權(quán)限為700) # useradd -s /sbin/nologin/?? -d /aa qq
?
? # chmod 700 /aa
?
? 【該系統(tǒng)用戶qq不能登錄,宿主目錄是/aa。所有的虛擬用戶都將登錄到/aa這個(gè)目錄中。-s 和 -d 參數(shù)不是必須的】 4. 設(shè)置/etc/vsftpd/vsftpd.conf配置文件,在文檔末尾添加如下內(nèi)容: guest_enable=YES
?? guest_username=qq(qq是上面的系統(tǒng)用戶)
?? pam_service_name=ftp(ftp是pam認(rèn)證的模塊名稱)
?? user_config_dir=/etc/vsftpd/config(config要手動(dòng)創(chuàng)建,它是虛擬用戶權(quán)限配置目錄。在該目錄中以虛擬用戶的用戶名編輯文件,設(shè)置權(quán)限) 5. 進(jìn)入/etc/vsftpd/config目錄,以虛擬用戶的名字編輯權(quán)限配置文件,可用參數(shù)如下: anon_world_readable_only=NO (表示用戶可以瀏覽ftp目錄和下載文件) anon_upload_enable=YES????? (表示用戶可以上傳文件)
?
? anon_mkdir_write_enable=YES (表示用戶具有建立目錄的權(quán)限,但不能刪除目錄)
?
? anon_other_write_enable=YES (表示用戶具有文件改名和刪除文件的權(quán)限) local_root=/zz????????????? (指定虛擬用戶的登錄目錄)
補(bǔ)充實(shí)驗(yàn) 1. 如何實(shí)現(xiàn)匿名用戶的上傳文件權(quán)限?
?
?A. 在/var/ftp/目錄下建立目錄。
?B.修改/etc/vsftpd/vsftpd.conf文件: anon_upload_enable=YES (虛擬用戶可上傳文件)
??????? anon_mkdir_write_enable=YES (虛擬用戶可創(chuàng)建目錄)
??????? anon_world_readable_only=YES (虛擬用戶可瀏覽和下載文件)
?????? 【根據(jù)需要設(shè)置相應(yīng)的權(quán)限】
?????????????????????????????????
2. 如何限制系統(tǒng)用戶任意切換宿主目錄? chroot_local_user=YES
3. 虛擬用戶aa,權(quán)限設(shè)置可上傳,可建立文件夾,可刪除文件夾,最大傳輸速率為0.5MB,登錄目錄為/ftpsite local_root=/ftpsite
?? anon_world_readable_only=NO
?? anon_upload-enable=YES
?? anon_mkdir_write_enable=YES
?? anon_other_write_enable=YES
?? anon_max_rate=500000
??
轉(zhuǎn)載于:https://blog.51cto.com/rdlinux/293784
總結(jié)
以上是生活随笔為你收集整理的VSFTP配置详解+虚拟用户的支持的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 梦到捡钱怎么回事
- 下一篇: 梦到朋友买车是什么意思