一、FTP協議概念
1、FTP服務器默認使用TCP協議的20、21端口與客戶端進行通信
• 20端口用於建立數據連接,並傳輸文件數據
• 21端口用於建立控制連接,並傳輸FTP控制命令
2、FTP數據連接分為主動模式和被動模式
• 主動模式: 服務器主動發起數據連接
• 被動模式: 服務器被動等待數據連接
二、FTP配置格式
1、安裝FTP
yum install -y vsftpd cd /etc/vsftpd/ cp vsftpd.conf vsftpd.conf.bak
2、設置匿名用戶訪問的FTP服務(最大權限):
修改配置文件
vim /etc/vsftpd/vs ftpd.conf #修改配置文件 anonymous_enable=YES #開啟匿名用戶訪問。默認E開啟 write enable=YES #開放服務器的寫權限(若要上傳,必須開啟)。默認已開啟 anon umask=022 #設置匿名用戶所上傳數據的權限掩碼(反掩碼) anon_ upload_ enable=YES #允許匿名用戶.上傳文件。默認E已注釋,需取消注釋 anon_ mkdir_ write_ enable=YES #允許匿名用戶創建(上傳)目錄。默認已注釋,需取消注釋 anon other write enable=YES #允許刪除、重命名、覆蓋等操作。需添加 chmod 777 / var/ ftp/pub/ #為匿名訪問ftp的根目錄下的pub子目錄設置最大權限,以便匿名用戶.上傳數據
3、開啟服務,關閉防火牆和增強型安全功能
systemctl start vsftpd #開啟FTP服務 systemctl stop firewalld #關閉防火牆 setenforce 0
4、匿名訪問測試
在Windows系統打開開始菜單,輸入cmd命令打開命令提示符
ftp 192.168.80.10 #建立ftp連接
#匿名訪問,用戶名為ftp,密碼為空,直接回車即可完成登錄 ftp> pwd #匿名訪問ftp的根目錄為Linux系統的/var/ftp/目錄 ftp> ls #查看當前目錄 ftp> cd pub #切換到pub目錄 ftp> get 文件名 #下載文件到當前windows本地目錄 ftp> put 文件名 #上傳文件到ftp目錄 ftp> quit #退出
5、設置本地用戶驗證訪問ftp,並禁止切換到ftp以外的目錄(默認登錄的根目錄為本地用戶的家目錄):
vim /etc/vsftpd/vs ftpd. conf #修改配置文件 local enable=Yes #啟用本地用戶 anonymous_enable=NO #關閉匿名用戶訪問 write enable=YES #開放服務器的寫權限(若要_上傳,必須開啟) local_umask=077 #可設置僅宿主用戶擁有被上傳的文件的權限( 反掩碼) chroot_local_user=YES #將訪問禁錮在用戶的宿主目錄中 allow_writeable_chroot=YES #允許被限制的用戶主目錄具有寫權限 systemctl restart vsftpd #重啟服務
ftp 192.168.80.10
或者
ftp://zhangsan@192.168.80.10
6、修改匿名用戶、本地用戶登錄的默認根目錄
anon root=/ var/ Www/ html #anon_ root 針對匿名用戶 local root=/ var/www/html #local_ root 針對系統用戶
7、用戶列表設置,修改配置文件(黑名單、白名單設置)
使用user_list 用戶列表文件 vim /etc/vsftpd/user_ list #修改配置文件 zhangsan #在末尾添加zhangsan用戶 vim /etc/vsttpd/vsttpd.cont #修改配置文件 userlist enable=YES #啟用user_ list用戶列表文件 userlist deny=NO #設置白名單,僅允許user_ list用戶列表文件的用戶訪問。默認為YES,為黑名單,禁用
三、實例操作
1、查看FTP是否安裝,安裝FTP(rpm安裝)
2、修改配置文件前找到配置文件並進行備份(一定要記得,良好的習慣從現在開始)
3、FTP傳輸文件功能(上傳和下載)的測試
3.1 修改配置文件開啟匿名登錄以及匿名用戶可以進行重命名、刪除等權限
3.2、為匿名訪問FTP的根目錄下的pub子目錄設置最大權限,以便匿名用戶上傳數據
3.3、開啟FTP服務並查看狀態,關閉防火牆和增強安裝功能
3.4、匿名用戶使用FTP在win10主機進行下載linux主機中的文件的測試
3.5、匿名用戶在win10系統中利用FTP將win10的文件上傳至linux主機中的測試
4、關閉匿名用戶,並進行測試匿名用戶是否能登錄
4.1 修改配置文件(關閉匿名用戶)
4.2 匿名用戶登錄測試(關閉之后無法登錄)
5、新增用戶,並禁錮用戶(無法切換目錄),設置之后測試
5.1 新增兩個用戶並設置密碼
5.2 修改配置文件vim ./etc/vsftpd/vsfpd.conf,設置禁錮用戶
5.3 測試用戶是否能夠切換目錄(禁錮之后無法切換)
易錯點