最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Linux系統(tǒng)搭建FTP服務器完整步驟

 更新時間:2023年10月19日 15:33:40   作者:Хан  
這篇文章主要給大家介紹了關(guān)于Linux系統(tǒng)搭建FTP服務器的相關(guān)資料,眾所周知安裝ftp主要是還為了傳輸文件,文中通過圖文介紹的非常詳細,需要的朋友可以參考下

FTP協(xié)議:文件傳輸協(xié)議(File Transfer Protocol)

  • 協(xié)議定義了一個在遠程計算機系統(tǒng)和本地計算機系統(tǒng)之間傳輸文件的一個標準
  • FTP運行在OSI模型的應用層,并利用傳輸協(xié)議TCP在不同的主機之間提供可靠的數(shù)據(jù)傳輸
  • FTP 在文件傳輸中還支持斷點續(xù)傳功能,可以大幅度減少CPU網(wǎng)絡帶寬的開銷

FTP模型

  • 用戶接口:提供一個用戶接口并使用客戶端協(xié)議解釋器的服務
  • 客戶端協(xié)議解釋器:向遠程服務器發(fā)送命令 并建立客戶數(shù)據(jù)傳輸過程
  • 服務端協(xié)議解釋器:響應客戶協(xié)議機發(fā)出的命令并驅(qū)動服務端數(shù)據(jù)傳輸過程
  • 客戶端數(shù)據(jù)傳輸協(xié)議:負責完成和服務器數(shù)據(jù)傳輸過程及客戶端本地文件系統(tǒng)的通信
  • 服務端數(shù)據(jù)傳輸協(xié)議:負責完成和客戶數(shù)據(jù)過程及服務器端文件系統(tǒng)的通信

控制連接(端口號21)

  • 主要用來傳送在實際通信過程中需要執(zhí)行的FTP命令以及命令的響應
  • 只需要很小的網(wǎng)絡帶寬
  • FTP服務端監(jiān)聽21端口號來等待控制連接建立
  • 建立控制連接后,還需要驗證客戶身份,決定是否建立數(shù)據(jù)連接
  • 當需要目錄列表,傳輸文件時,才建立數(shù)據(jù)連接,并且每次客戶端都是用不同的端口號來建立數(shù)據(jù)連接。數(shù)據(jù)傳輸完畢,就中斷這條臨時的數(shù)據(jù)連接
  • 在FTP連接期間,控制連接始終保持通常的連接狀態(tài)。在數(shù)據(jù)連接存在期間,控制連接必須存在;一旦控制連接斷開,數(shù)據(jù)連接會自動關(guān)閉。

數(shù)據(jù)連接(端口號20)

  • FTP服務端監(jiān)聽20端口來等待數(shù)據(jù)連接
  • 數(shù)據(jù)連接依賴于控制連接
  • 建立方式(主動被動都是相對服務器而言)

主動模式

  • 通過三次握手,建立控制連接;客戶端的源端口是高位隨機端口,目標端口是21端口
  • 控制連接建立后,客戶端進行身份驗證,協(xié)商數(shù)據(jù)連接采用主動模式;隨后客戶端會向FTP服務器發(fā)送Port報文,表明自己監(jiān)聽的IP+端口,并等待FTP服務器(20端口)向自己監(jiān)聽的IP+端口發(fā)起數(shù)據(jù)連接請求。
  • 服務端發(fā)起數(shù)據(jù)連接請求,建立數(shù)據(jù)連接

被動模式

  • 通過三次握手,建立控制連接;客戶端的源端口是高位隨機端口,目標端口是21端口;
  • 控制連接建立后,客戶端進行身份驗證,協(xié)商數(shù)據(jù)連接采用被動模式;隨后客戶端會向服務器發(fā)送PASV報文,表示我們用被動模式
  • 服務端收到PASV報文,于是向客戶端發(fā)送Port報文,表明自己監(jiān)聽的IP+端口
  • 客戶端發(fā)起數(shù)據(jù)連接請求,建立數(shù)據(jù)連接

VSFTPD服務介紹

  • 服務包:vsftpd
  • 服務類型:由Systemd啟動的守護進程
  • 配置單元: /usr/lib/systemd/system/vsftpd.service
  • 守護進程: /usr/sbin/vsftpd
  • 端口: 21(ftp) , 20(ftp‐data)
  • 主配置文件: /etc/vsftpd/vsftpd.conf
  • 用戶訪問控制配置文件: /etc/vsftpd/ftpusers /etc/vsftpd/user_list
  • 日志文件: /etc/logrotate.d/vsftpd
  • 配置文件參數(shù)
參數(shù)作用
listen=NO是否以獨立運行的方式監(jiān)聽服務
listen_address=ip地址設(shè)置要監(jiān)聽的IP地址
listen_port=21設(shè)置FTP服務的監(jiān)聽端口
download_enable=YES是否允許下載文件
userlist_enable=YES設(shè)置用戶列表為"允許"
userlist_deny=YES設(shè)置用戶列表為"禁止"
max_clients=0最大客戶端連接數(shù),0為不限制
max_per_ip=0同一IP地址的最大連接數(shù),0為不限制
anonymous_enable=YES是否允許匿名用戶訪問
anon_upload_enable=YES是否允許匿名用戶上傳文件
anon_umask匿名用戶上傳文件的umask
anon_root=/var/ftp匿名用戶的ftp根目錄
anon_mkdir_write_enable=YES是否允許匿名用戶創(chuàng)建目錄
anon_other_write_enable=YES是否開放匿名用戶的其他寫入權(quán)限(重命名、刪除等)
anon_max_rate=0匿名用戶的最大傳輸速率,0為不限制
local_enable=yes是否允許本地用戶登錄
local_umask=022本地用戶上傳文件的umask值
local_root=/vat/ftp本地用戶的ftp根目錄
chroot_local_user=YES是否將用戶權(quán)限禁錮在ftp目錄,以確保安全
local_max_rate=0本地用戶的最大傳輸速率,0為不限制

基礎(chǔ)配置

安裝vsftp

[root@localhoust ~]#yum -y install vsftpd

準備分發(fā)的文件

[root@localhoust ~]#touch /var/ftp/abd.txt

啟動服務

[root@localhost ~]#systemctl start vsftpd
[root@localhost ~]#systemctl enable vsftpd

關(guān)閉防火墻

[root@localhost ~]#systemctl stop firewalld
[root@localhost ~]#setenforce 0

客戶端工具

Linux中

1.使用ftp工具

[root@localhost ~]# yum install ftp -y
[root@localhost ~]# ftp <IP地址>
Name (192.168.175.10:root):anonymous
password:直接回車

ftp工具一定要輸入用戶名和密碼,匿名用戶登陸用戶名寫anonymous,密碼直接回車,登陸成功或者失敗都會給出提示

2.使用lftp工具

[root@localhost ~]# yum install lftp -y
[root@localhost ~]# lftp <IP地址>

lftp工具不需要輸入用戶名和密碼直接登陸,不會直接給出登陸成功或者失敗的提示,需要輸入ls工具才能知道是否連接成功,優(yōu)點在于連接更加方便

Windows中

1.在瀏覽器中訪問

可以在瀏覽器、運行窗口或者資源管理器中輸入 ftp://IP地址/ ,這樣訪問的是ftp的根位置,如果需要訪問相關(guān)目錄可以輸入 ftp://IP地址/目錄/文件名

2.在控制管理器中訪問

在cmd窗口中,輸入命令 ftp <IP地址> 即可訪問

需要注意的是直接訪問ftp服務器的IP地址時訪問的根位置目錄是 /var/ftp,如果需要訪問pub里的test可以訪問 ftp://192.168.80.129/pub/test 。

案例

案例1,匿名用戶訪問(默認開啟)

修改配置文件

[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf
anonymous_enable=YES
anon_umask=022
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=NO
listen_ipv6=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
[root@localhost ~]# systemctl restart vsftpd #重啟配置

新版本的vsftp針對用戶安全性進行了升級,普通用戶無法在/var/ftp下新建文件,如果直接添加目錄的w權(quán)限會觸發(fā)安全判斷問題,因為/var/ftp目錄下的文件只能是默認的755權(quán)限,普通用戶沒有w權(quán)限,而且/var/ftp目錄的屬主必須是root,如果修改所屬主或者權(quán)限則會觸發(fā)完全問題。欲使普通用戶可以在ftp中上傳文件,就在/var/ftp下新建一個用于普通用戶上傳文件的目錄,比如/var/ftp/pub,將/var/ftp/pub目錄的屬主和屬組改成ftp,并且添加w權(quán)限

chown ftp.ftp /var/ftp/pub
chmod 777 /var/ftp/pub

現(xiàn)在就可以在里面寫文件了

案例2,本地用戶訪問

這些用戶就是Linux下的用戶,使用本地用戶登陸,登陸成功時位置在該用戶的家目錄。如:用戶han登陸時,輸入han在Linux下的密碼,登陸成功后位置在/home,han可以在該目錄下創(chuàng)建或者刪除文件

修改配置文件

[root@localhost ~]# vi /etc/vsftpd/vsftpd.conf
anonymous_enable=NO #不允許匿名用戶訪問
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=NO
listen_ipv6=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
[root@localhost ~]# systemctl restart vsftpd #重啟配置
[root@localhost ~]# systemctl enable vsftpd

本地用戶登陸時,密碼使用的是該用戶在Linux下登陸時的密碼,而不是ftp的密碼

注意:出現(xiàn)在/etc/vsftpd/ftpusers /etc/vsftpd/user_list這兩個文件中的內(nèi)容將會被定義為黑名單

案例3,虛擬用戶訪問

只用于登陸ftp的用戶,不是Linux下的用戶。

  • 創(chuàng)建用于進行FTP認證的用戶數(shù)據(jù)庫文件,其中奇數(shù)行為用戶名,偶數(shù)行為密碼。
[root@localhost ~]# cd /etc/vsftpd/
[root@localhost vsftpd]# vim vuser.list #創(chuàng)建文件,稍后虛擬用戶信息從這個文件讀取
eagle #用戶名
centos #密碼
cisco #用戶名
centos #密碼
huawei #用戶名
centos #密碼
  • 使用db_load命令用哈希(hash)算法將原始的明文信息文件轉(zhuǎn)換成數(shù)據(jù)庫文件。
[root@localhost vsftpd]# db_load -T -t hash -f vuser.list vuser.db

由于文件vuser.list中含有密碼等敏感信息,所以使用加密算法加密。轉(zhuǎn)換完后新的文件vuser.db就是用戶數(shù)據(jù)庫,里面是加密后的信息。

查看vuser.db的文件類型:

[root@localhost vsftpd]# file vuser.db
vuser.db: Berkeley DB (Hash, version 9, native byte-order)
  • 降低數(shù)據(jù)庫文件的權(quán)限(避免其他人看到數(shù)據(jù)庫文件的內(nèi)容)。加強數(shù)據(jù)庫vuser.db的安全性,防止破解
[root@localhost vsftpd]# chmod 600 vuser.db
  • 把原始的明文信息文件刪除。
[root@localhost vsftpd]# rm -f vuser.list
  • 創(chuàng)建一個本地用戶,用來做虛擬用戶在本地的代理,為了安全起見,禁止這個本地用戶登錄。
[root@localhost vsftpd]# useradd -d /var/ftproot -s /sbin/nologin virtual
#-d 指定用戶的家目錄為/var/ftproot -s 指定為不能登陸的用戶
[root@localhost vsftpd]# ls -ld /var/ftproot/
drwx------. 2 virtual virtual 59 8月 10 23:04 /var/ftproot/
[root@localhost vsftpd]# chmod -Rf 755 /var/ftproot/

新建一個用于虛擬用戶認證的PAM文件vsftpd.vu,利用pam模塊(linux內(nèi)核的一個認證模塊)做一個認證

[root@localhost vsftpd]# vi /etc/pam.d/vsftpd.vu
auth required pam_userdb.so db=/etc/vsftpd/vuser
account required pam_userdb.so db=/etc/vsftpd/vuser
  • 配置文件
[root@localhost vsftpd]# cat /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
local_enable=YES
guest_enable=YES
guest_username=virtual #名為virtual的用戶做代理
allow_writeable_chroot=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=NO
listen_ipv6=YES
pam_service_name=vsftpd.vu #記得修改這里為我們自己的認證文件
userlist_enable=YES
tcp_wrappers=YES
[root@localhost vsftpd]# systemctl restart vsftpd

這時用戶創(chuàng)建完畢,可以登陸,但是不能寫文件,需要給權(quán)限

  • 如果想要針對不同的用戶設(shè)置不同的權(quán)限
[root@localhost vsftpd]# mkdir /etc/vsftpd/vusers_dir/ #創(chuàng)建一個目錄用于存放各個虛擬用戶的配置文件
[root@localhost vsftpd]# cd /etc/vsftpd/vusers_dir/
[root@localhost vusers_dir]# touch huawei #創(chuàng)建huawei的配置文件,如果不給任何權(quán)限,則默認為主配置文件
[root@localhost vusers_dir]# vim cisco #創(chuàng)建cisco的配置文件,并修改配置文件
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
#與配置匿名用戶權(quán)限一樣
[root@localhost vusers_dir]# vi /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
local_enable=YES
guest_enable=YES
guest_username=virtual
allow_writeable_chroot=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=NO
listen_ipv6=YES
pam_service_name=vsftpd.vu
userlist_enable=YES
tcp_wrappers=YES
user_config_dir=/etc/vsftpd/vusers_dir #在主配置文件中加上這一行,告訴主配置文件我們這里還有配置
[root@localhost vusers_dir]# systemctl restart vsftpd
配置完后,huawei沒權(quán)限,cisco有權(quán)限

總結(jié) 

到此這篇關(guān)于Linux系統(tǒng)搭建FTP服務器的文章就介紹到這了,更多相關(guān)Linux搭建FTP服務器內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Serv-U  無法連接到服務器127.0.0.1,端口43958 之解決辦法

    Serv-U 無法連接到服務器127.0.0.1,端口43958 之解決辦法

    今天在幫朋友配置服務器的時候發(fā)現(xiàn)的一個問題,進入serv-u管理員工具的時候提示無法連接,非常的討厭,后來參考了這篇文章和先前自己操作的幾個步驟,解決了這個問題。
    2009-09-09
  • windows10?家庭版下FTP服務器搭建教程

    windows10?家庭版下FTP服務器搭建教程

    這篇文章主要為大家詳細介紹了windows10?家庭版下FTP服務器搭建教程,文中安裝步驟介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • Windows?Server2012?R2?FTP服務器配置圖文教程

    Windows?Server2012?R2?FTP服務器配置圖文教程

    這篇文章主要為大家詳細介紹了Windows?Server2012R2?FTP服務器配置圖文教程,文中安裝步驟介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-08-08
  • IIS本地FTP服務器搭建的實現(xiàn)方法

    IIS本地FTP服務器搭建的實現(xiàn)方法

    本文主要介紹了IIS本地FTP服務器搭建的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-04-04
  • ubuntu如何搭建vsftpd服務器

    ubuntu如何搭建vsftpd服務器

    這篇文章主要介紹了ubuntu如何搭建vsftpd服務器,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • IIS FTP與Serv-U的使用功能分析

    IIS FTP與Serv-U的使用功能分析

    本文介紹如何綜合使用IIS FTP與Serv-U。IIS雖然安裝簡單,但管理功能不強,只有簡單的賬戶管理、目錄權(quán)限設(shè)置、消息設(shè)置、連接用戶管理。
    2011-06-06
  • FileZilla FTP Server 安全加固圖文教程

    FileZilla FTP Server 安全加固圖文教程

    FileZilla 是一款免費的跨平臺 FTP 應用程序,由 FileZilla Client 和 FileZilla Server 組成。本文檔依據(jù) FileZilla Server 0.9.59 版本,向您提供一系列簡便有效的加固方案,幫助您安全地使用 FileZilla
    2018-02-02
  • win2003下FTP服務器搭建教程

    win2003下FTP服務器搭建教程

    這篇文章主要為大家詳細介紹了win2003下FTP服務器搭建教程,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • serv_u要關(guān)閉被動模式(PASV),使用PORT模式才能連接FTP的解決辦法

    serv_u要關(guān)閉被動模式(PASV),使用PORT模式才能連接FTP的解決辦法

    使用 flashfxp 或傳東西時必須要關(guān)閉被動模式,否則無法連接,連接FTP時客戶端總是提示:PORT 模式成功, 請更新你的站點配置文件
    2013-09-09
  • filezilla Failed to create listen socket on port 21 for IPv4 解決辦法

    filezilla Failed to create listen socket on port 21 for IPv4

    今天幫一個客戶配置filezilla的時候,提示filezilla Failed to create listen socket on port 21 for IPv4,原來是因為21端口被占用了,換個端口就可以了
    2013-09-09

最新評論

铁岭县| 本溪市| 巍山| 洪湖市| 万安县| 柳林县| 于都县| 朔州市| 吉木萨尔县| 永寿县| 伊春市| 自贡市| 东乡县| 曲水县| 保亭| 滦平县| 黔江区| 汉阴县| 定襄县| 页游| 楚雄市| 杨浦区| 常德市| 砚山县| 绩溪县| 玉环县| 广饶县| 西乌珠穆沁旗| 城口县| 城步| 婺源县| 靖宇县| 印江| 青河县| 紫阳县| 沁阳市| 仁化县| 山阴县| 巨野县| 兴安盟| 象州县|