FTP文件傳輸協(xié)議
FTP(File Transfer Protocol)文件傳輸協(xié)議,基于C/S架構,支持文件的上傳和下載功能 FTP使用2個端口,都是基于TCP進行傳輸連接,分別是20和21 20端口為數(shù)據傳輸端口,上傳和下載文件使用此端口 21端口為命令傳輸端口,客戶端和服務端之間的命令交互使用此端口
工作模式
主動模式:Client向Server的20端口發(fā)送數(shù)據連接請求,服務器主動連接,然后傳輸文件數(shù)據 被動模式:Client向Server發(fā)送請求,Server隨機開放一個端口和Client連接傳輸文件 [root@dns named]# netstat -tunpla|grep -w 21 tcp6 0 0 :::21 :::* LISTEN 4946/vsftpd tcp6 0 0 192.168.5.101:21 192.168.5.8:62972 ESTABLISHED 7208/vsftpd #命令傳輸端口 tcp6 0 0 192.168.5.101:18502 192.168.5.102:52025 TIME_WAIT - #數(shù)據傳輸端口 FTP支持三種認證模式: ? 匿名用戶:任何人無需驗證即可訪問和使用ftp ? 本地用戶:使用Linux系統(tǒng)本地用戶認證來使用ftp ? 虛擬用戶:通過創(chuàng)建虛擬用戶來訪問ftp,虛擬用戶只用于ftp而不會登錄Linux系統(tǒng)
wget工具下載文件
wget ftp://user1:123@192.168.5.101/1.txt
本地模式
1.安裝好ftp后啟動服務 [root@web01 ~]# systemctl restart vsftpd.service 2.創(chuàng)建用戶 useradd user1 3.設置用戶不能登錄 4.給用戶設置密碼 5.客戶端登錄 [root@localhost ~]# lftp 192.168.5.101 lftp 192.168.5.101:~> user user1 Password: lftp user1@192.168.5.101:~> ls lftp user1@192.168.5.101:~> pwd ftp://user1@192.168.5.101/%2Fhome/user1 lftp user1@192.168.5.101:~> 6.上傳,拉取文件 lftp 192.168.5.101:~> user user1 Password: lftp user1@192.168.5.101:~> put /etc/passwd 2546 bytes transferred lftp user1@192.168.5.101:~> exit lftp user1@192.168.5.101:~> get passwd 2546 bytes transferred
匿名模式登錄ftp
服務端修改配置文件參數(shù) [root@dns ~]# cat /etc/vsftpd/vsftpd.conf |grep -v ^# anonymous_enable=YES 客戶端登錄 [root@dns2 ~]# ftp 192.168.5.101 Connected to 192.168.5.101 (192.168.5.101). 220 (vsFTPd 3.0.3) Name (192.168.5.101 anonymous 331 Please specify the password. Password: 230 Login successful. Remote system type is UNIX. Using binary mode to transfer files. #客戶端匿名登錄之后的目錄為/var/ftp/pub [root@web01 user1]# cat /etc/passwd|grep ftp ftp14FTP User:/var/ftp:/sbin/nologin [root@web01 user1]# ls /var/ftp/ pub
匿名上傳ftp
匿名上傳拒絕 [root@localhost ~]# lftp 192.168.5.101 lftp 192.168.5.101:~> ls drwxr-xr-x 2 0 0 6 Nov 16 2020 pub lftp 192.168.5.101:/> put passwd put: Access failed: 550 Permission denied. (passwd) 1.修改文件夾權限 不能將根目錄權限改為777 [root@web01 ~]# chmod 777 /var/ftp/pub 2.修改配置文件 [root@web01 pub]# cat /etc/vsftpd/vsftpd.conf |grep -v ^# anonymous_enable=YES anon_upload_enable=YES 2.進入pub目錄上傳文件 lftp 192.168.5.101:/> cd pub lftp 192.168.5.101:/pub> put passwd 2546 bytes transferred lftp 192.168.5.101:/pub>
匿名刪除文件
lftp 192.168.5.101:/pub> rm passwd rm: Access failed: 550 Permission denied. (passwd) lftp 192.168.5.101:/pub> 1.配置文件中添加行 anon_mkdir_write_enable=YES ---可以創(chuàng)建文件夾 anon_other_write_enable=YES ---可以刪除文件 2.測試 lftp 192.168.5.101:/pub> mkdir test mkdir ok, `test' created lftp 192.168.5.101:/pub> ls -rw------- 1 14 50 2546 Nov 21 10:54 passwd drwx------ 2 14 50 6 Nov 21 13:58 test lftp 192.168.5.101:/pub> rm passwd rm ok, `passwd' removed lftp 192.168.5.101:/pub> rm -fr test/ rm ok, `test/' removed lftp 192.168.5.101:/pub> ls
修改本地用戶和匿名登錄的位置
配置文件加入這段 cat /etc/vsftpd/vsftpd.conf |grep -v ^# anon_root=/mnt local_root=/mnt 修改目錄的權限 [root@web01 ~]# chmod 777 /mnt/data/
下載ftp里面的文件
修改umask值可以下載自己上傳的文件 anon_umask=022 [root@localhost ~]# lftp 192.168.5.101 lftp 192.168.5.101:~> cd data/ lftp 192.168.5.101:/data> get passwd 2546 bytes transferred lftp 192.168.5.101:/data> 本地用戶參考匿名用戶
僅允許user1登錄
配置文件中加上 userlist_enable=YES userlist_deny=NO 在文件中加入用戶名 [root@dns vsftpd]# cat /etc/vsftpd/user_list # vsftpd userlist # If userlist_deny=NO, only allow users in this file # If userlist_deny=YES (default), never allow users in this file, and # do not even prompt for a password. # Note that the default vsftpd pam config also checks /etc/vsftpd/ftpusers # for users that are denied. root bin daemon adm lp sync shutdown halt mail news uucp operator games nobody user1 不在ftpusers文件中 在user_list文件中才能登錄
允許用戶跳出和不能跳出根目錄
添加配置文件 chroot_local_user=YES ###所有人都不能跳出根目錄 FTP根目錄 chroot_list_enable=YES ###如果需要指定用戶可以跳出FTP根目錄,則需要開啟以下內容 chroot_list_file=/etc/vsftpd/chroot_list [root@dns vsftpd]# cat chroot_list 僅允許user1可以跳出目錄 user1
vsftp配置虛擬用戶
[root@web01 ~]# cd /usr/share/doc/vsftpd/EXAMPLE/VIRTUAL_USERS [root@node4 ~]# vim /etc/vsftpd/vsftpd.conf guest_enable=YES guest_username=vuser666 allow_writeable_chroot=YES #允許用戶在其 chroot 目錄中進行寫操作 anon_upload_enable=YES #允許匿名用戶上傳文件 [root@node4 vsftpd]# vim /etc/vsftpd/logins.txt zhangsan redhat lisi redhat [root@node4 vsftpd]# useradd -d /data/upload/ vuser666 [root@node4 ~]# chmod 755 /data/upload/ [root@node4 vsftpd]# db_load -T -t hash -f /etc/vsftpd/logins.txt /etc/vsftpd/user.db [root@node4 ~]# vim /etc/pam.d/vsftpd ####該文件僅保留兩行,其他均刪除 #%PAM-1.0 auth required pam_userdb.so db=/etc/vsftpd/user account required pam_userdb.so db=/etc/vsftpd/user [root@node4 ~]# lftp 192.168.6.4 lftp 192.168.6.4:~> user zhangsan Password: lftp zhangsan@192.168.6.4:~> cd redhat/ lftp zhangsan@192.168.6.4:/redhat> ls -rw------- 1 1002 1002 1025 Jul 25 19:04 group.1 -rw-r--r-- 1 0 0 2689 Jul 25 18:31 passwd lftp zhangsan@192.168.6.4:/redhat> put /etc/profile 2123 bytes transferred lftp zhangsan@192.168.6.4:/redhat> exit 上傳的文件在vuser666的家目錄中
鏈接:https://www.cnblogs.com/cloudwangsa/p/18563731
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
-
FTP
+關注
關注
0文章
115瀏覽量
41423 -
傳輸協(xié)議
+關注
關注
0文章
79瀏覽量
11739 -
文件傳輸
+關注
關注
0文章
37瀏覽量
8452
原文標題:FTP
文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦
熱點推薦
如何高效實現(xiàn)文件傳輸
服務器提供文件傳輸功能,需要將磁盤上的文件讀取出來,通過網絡協(xié)議發(fā)送到客戶端。如果需要你自己編碼實現(xiàn)這個文件傳輸功能,你會怎么實現(xiàn)呢?
發(fā)表于 08-01 16:16
?847次閱讀

第35章 FTP文件傳輸協(xié)議基礎知識
轉帖 本章節(jié)為大家講解FTP(File Transfer Protocol,文件傳輸協(xié)議)的基礎知識,方便后面章節(jié)的實戰(zhàn)操作。(本章的知識點主要整理自網絡)35.1 初學者重要提示35.2 F
發(fā)表于 12-14 11:29
淺析Linux的ftp文件傳輸協(xié)議
FTP 是 File Transfer Protocol (文件傳輸協(xié)議)的英文簡稱,而中文簡稱為“文傳協(xié)議”。
發(fā)表于 07-18 08:19
RK3399網絡工具應用-SSH網絡登入、FTP文件傳輸
RK3399網絡工具應用-SSH網絡登入、FTP文件傳輸本文硬件平臺以飛凌嵌入式OK3399-C開發(fā)板為基礎進行講解,其它RK3399產品,由于各個廠家設置不同會有所差異,請參考使用。飛凌
發(fā)表于 02-21 10:25
文件傳送協(xié)議,文件傳送協(xié)議是什么意思
文件傳送協(xié)議,文件傳送協(xié)議是什么意思
FTP是一種Internet文件傳輸服務,它在Inter
發(fā)表于 03-20 15:29
?5158次閱讀
實現(xiàn)CFDP協(xié)議延時NAK模式文件傳輸
CFDP協(xié)議,其數(shù)據丟失與錯誤檢測重傳機制可以有效解決該問題。本文結合航天工程經驗搭建空間數(shù)據管理系統(tǒng),采用軟硬件協(xié)同機制在空間數(shù)據傳輸鏈路中設計實現(xiàn)了CFDP協(xié)議延時NAK模式
發(fā)表于 11-05 11:33
?2次下載

Linux教程之文件傳輸FTP的工作原理和FTP的安裝與配置方法
本文檔的主要內容詳細介紹的是Linux教程之文件傳輸FTP的工作原理和FTP的安裝與配置方法。文件傳輸是指用戶通過網絡從遠程計算機上下載或上
發(fā)表于 11-06 17:33
?15次下載

FTP服務構成及FTP服務器介紹
FTP(File Transfer Protocol,文件傳輸協(xié)議) 是 TCP/IP 協(xié)議組中的協(xié)議之一。
基于UDP的簡單文件傳輸協(xié)議TFTP設計
前面我們已經實現(xiàn)了UDP的回環(huán)客戶端和回環(huán)服務器的簡單應用,接下來我們實現(xiàn)一個基于UDP的簡單文件傳輸協(xié)議TFTP。

中文應用筆記《利用 MPLAB? Harmony v3 TCP/IP 協(xié)議棧在SAM E54 MCU上實現(xiàn)文件傳輸協(xié)議》
利用 MPLAB Harmony v3 TCP/IP 協(xié)議棧 在SAM E54 MCU上 實現(xiàn)文件傳輸協(xié)議 簡介 文件傳輸協(xié)議(File T

FTP連接被重置問題的解決方法與技巧!FTP服務器連接修復!
FTP連接被重置問題的解決方法與技巧!FTP服務器連接修復! FTP(文件傳輸協(xié)議)是用于在計算機網絡環(huán)境中進行
MTP協(xié)議與FTP協(xié)議的比較分析
在計算機網絡中,文件傳輸協(xié)議(FTP)和媒體傳輸協(xié)議(MTP)是兩種不同的數(shù)據傳輸
評論