日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux服务-FTP文件服务器部署

發布時間:2024/4/11 linux 45 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux服务-FTP文件服务器部署 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

FTP服務搭建

  • 簡介
    • 文件傳輸協議
    • FTP共享是基于TCP/IP協議
    • C/S
    • FTP服務器共享按照文件目錄來組織的
    • FTP只支持TCP不支持UDP
    • 兩個端口:一個數據端口一個控制端口(命令端口)
  • 端口
    • 21端口
      • 命令端口,用于接受客戶端執行的FTP命令
    • 20端口
      • 數據傳輸,用于上傳下載文件數據
    • 由于FTP工作方式四不同,數據端口不一定一直是20(想念那年軟考的這一題)
      • 分為主動FTP與被動FTP
        • 主動模式從服務端向客戶端發起連接,被動模式客戶端向服務端發起連接
          • 兩者都是21端口進行用戶驗證管理
          • 差別在于數據端口不同
        • 主動模式(Standard/Active):FTP服務端主動向FTP客戶端發起連接請求
          • 主動的連接方式的FTP客戶端從一個任意的非特權端口N(高位端口N>1024)連接到FTP服務端的命令端口21
          • 然后客戶端開始監聽N+1,并發送FTP命令"port N+1"到FTP服務器
          • 接著服務器會從自己的數據端口20連接到客戶端指定的數據端口(N+1)
          • 主動模式下,服務器開啟的是20和21兩個端口,客戶端連接的是大于1024的高位端口
        • 被動模式(Passive/PASV):FTP服務端等待FTP客戶端發起連接請求
          • 由客戶端主動發起,當開啟一個FTP連接時,客戶端打開任意兩個高位端口(N>1024.N+1)
          • 第一個端口會連接服務端21端口,但與主動模式不同,客戶端不會發起post命令,而是提交PASV命令
          • 此時服務器會開啟一個任意的高位端口,并發送,命令PORT P發送到客戶端
          • 客戶端從本地端口N+1連接到服務器的P端口用來傳輸數據
          • 數據段不再是20,而是任意的高位端口
  • FTP服務器實現
    • 服務端
      • 軟件
        • vsftp,proftpd,wuftpd,puireftpd
        • 一般常用vsftp
        • 小巧輕快,安全易用
      • vsftp
        • 安裝
          • yum install vsftpd -y
          • rpm -qa | grep vsftpd
        • 配置
          • 臨時關閉selinux
            • setenforce 0
          • 運行防火墻通過
            • firewall-cmd --permanent --add-service=ftp
            • firewall-cmd --reload
          • 重啟服務
            • systemctl restart vsftpd
            • systemctl enable vsftpd
          • 修改配置文件
            • /etc/vsftpd/vsftpd.conf
          • 配置匿名FTP服務
            • 將默認的目錄賦予用戶ftp權限以便上傳
              • chown -R ftp /var/ftp/pub
            • 修改配置文件
              • 重啟服務
          • 配置實名FTP服務
            • 創建普通用戶用于登錄
              • useradd jack
              • passwd jack
            • 修改配置文件
            • 查看用戶列表
          • 配置虛擬用戶模式
            • 因為虛擬用戶模式的賬號和口令都不是真實系統中存在的,所以配置虛擬用戶模式會比本地用戶更加安全。
            • 創建虛擬用戶數據庫
            • vim /etc/vsftpd/vlogin
              • susa
              • susa
              • zom
              • zom
            • 使用db_load命令用hash算法生成FTP用戶數據庫文件vlogin.db
              • db_load -T -t hash -f /etc/vsftpd/vlogin /etc/vsftpd/vlogin.db
              • chmod 600 /etc/vsftpd/{vlogin,vlogin.db}
            • 創建pam文件,設置基于虛擬賬戶驗證
              • linux中一般通過pam文件設置賬號的驗證機制,然后通過創建新的pam文件使用新的數據文件進行登錄驗證
              • pam文件的db選項用于指定并驗證賬戶和密碼的數據庫文件,數據庫文件無需.db結尾
              • vim /etc/pam.d/vsftpd.pam
                • auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vlogin
                • account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vlogin
              • 設置虛擬賬戶的共享目錄
                • 所有的虛擬賬號都需要映射到一個真實的虛擬賬號
                • useradd -s /sbin/nologin -d /home/ftp virtual
                • echo "hello" > /home/ftp/test.txt
              • 修改配置文件
                • vim /etc/vsftpd/vsftpd.conf
              • 為每個用戶設置獨立的共享路徑
                • 通過在主配置文件中使用user_config_dir選項,設置一個基于賬戶的配置目錄
                • 該目錄下可以創建若干個與賬戶名稱同名的文件,并在文件中此賬戶設置獨立的配置選項,包括權限、路徑等
                • mkdir /etc/vsftpd_user_conf
                • vim /etc/vsftpd_user_conf/susa
                  • local_root=/home/ftp/$USER
              • 重啟服務
                • systemctl restart vsftpd
  • 客戶端
    • ftp
    • 多種客戶端軟件
    • 安裝
      • yum install ftp
      • apt install ftp
    • 使用
      • 使用
        • 瀏覽器輸入
        • 軟件連接
      • 發現創建目錄失敗可能Selinux問題,修改規則
        • setsebool -P ftpd_full_access=on
        • systemctl restart vsftpd.service

總結

以上是生活随笔為你收集整理的Linux服务-FTP文件服务器部署的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。