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