Linux 搭建FTP伺服器

来源:http://www.cnblogs.com/chenmh/archive/2016/04/08/5365274.html
-Advertisement-
Play Games

介紹 本章主要介紹在Linux中搭建FTP伺服器的過程,需要掌握的要點是配置文件的合理配置。 知識點 在linux中使用的FTP是vsftp FTP可以有三種登入方式分別是: 安裝FTP 使用YUM安裝 文件配置 安裝完之後在/etc/vsftpd/路徑下會存在三個配置文件。 vsftpd.conf ...


介紹

本章主要介紹在Linux中搭建FTP伺服器的過程,需要掌握的要點是配置文件的合理配置。

 

 

知識點

  • 在linux中使用的FTP是vsftp
  • FTP可以有三種登入方式分別是:
  1. 匿名登錄方式:不需要用戶密碼
  2. 本地用戶登入:使用本地用戶和密碼登入
  3. 虛擬用戶方式:也是使用用戶和密碼登入,但是該用戶不是linux中創建的用戶

 

安裝FTP

使用YUM安裝

yum -y install vsftpd

 

文件配置

安裝完之後在/etc/vsftpd/路徑下會存在三個配置文件。

vsftpd.conf: 主配置文件

ftpusers: 指定哪些用戶不能訪問FTP伺服器,這裡的用戶包括root在內的一些重要用戶。

user_list: 指定的用戶是否可以訪問ftp伺服器,通過vsftpd.conf文件中的userlist_deny的配置來決定配置中的用戶是否可以訪問,userlist_enable=YES ,userlist_deny=YES ,userlist_file=/etc/vsftpd/user_list 這三個配置允許文件中的用戶訪問FTP。

 

查看主配置文件的預設配置

cat /etc/vsftpd/vsftpd.conf |grep -v '^#';

anonymous_enable=YES #允許匿名用戶

local_enable=YES #允許使用本地用戶賬號登陸

write_enable=YES #允許ftp用戶寫數據

connect_from_port_20=YES #通過20埠傳輸數據

其它的一些參數說明包括:

ftpd_banner=welcome to ftp service :設置連接伺服器後的歡迎信息

idle_session_timeout=60 :限制遠程的客戶機連接後,所建立的控制連接,在多長時間沒有做任何的操作就會中斷(秒)

data_connection_timeout=120 :設置客戶機在進行數據傳輸時,設置空閑的數據中斷時間

accept_timeout=60 設置在多長時間後自動建立連接

connect_timeout=60 設置數據連接的最大激活時間,多長時間斷開,為別人所使用;

max_clients=200 指明伺服器總的客戶併發連接數為200

max_per_ip=3 指明每個客戶機的最大連接數為3

local_max_rate=50000(50kbytes/sec)  本地用戶最大傳輸速率限制

anon_max_rate=30000匿名用戶的最大傳輸速率限制

pasv_min_port=埠

pasv-max-prot=埠號 定義最大與最小埠,為0表示任意埠;為客戶端連接指明埠;

listen_address=IP地址 設置ftp服務來監聽的地址,客戶端可以用哪個地址來連接;

listen_port=埠號 設置FTP工作的埠號,預設的為21

local_root=path 無論哪個用戶都能登錄的用戶,定義登錄帳號的主目錄, 若沒有指定,則每一個用戶則進入到個人用戶主目錄;

chroot_local_user=yes/no 是否鎖定本地系統帳號用戶主目錄(所有);鎖定後,用戶只能訪問用戶的主目錄/home/user;
chroot_list_enable
=yes/no 啟用不鎖定用戶在主目錄的名單 chroot_list_file=/etc/vsftpd/chroot_list指定列表文件 userlist_enable=YES/NO 是否載入用戶列表文件; userlist_deny=YES 表示上面所載入的用戶允許登錄; userlist_file=/etc/vsftpd/user_list 指定列表文件

 

創建FTP連接用戶

創建用戶ftpuser
useradd ftpusr

設置用戶只能ftp不能登入
usermod -s /usr/sbin/nologin ftpuser

設置用戶密碼
passwd ftpusr

用戶的預設的家目錄在/home下,當前用戶就只能訪問家目錄。

修改用戶的家目錄位/mnt

usermod -d /mnt ftpuser

 

啟動FTP服務

service vsftpd start

測試

在/mnt目錄下創建一個測試文件

touch /mnt/test

連接ftp

 

 

解決普通的FTP無法登入問題

linux預設是帶安全機制,使用普通的ftp 21埠無法連接到ftp伺服器,使用sftp就可以。這個時候需要關閉selinux,修改配置文件需要重啟伺服器。

vim /etc/sysconfig/selinux

改成selinux=disabled

 

不重啟伺服器的方法:

setenforce 0

 

setenforce 1 :設置SELinux 成為enforcing模式
setenforce 0 :設置SELinux 成為permissive模式

 

總結

 還有其他的一些配置方法在這裡就暫時不列舉,有興趣的可以去深入研究一下。

 

 

備註:

    作者:pursuer.chen

    博客:http://www.cnblogs.com/chenmh

本站點所有隨筆都是原創,歡迎大家轉載;但轉載時必須註明文章來源,且在文章開頭明顯處給明鏈接。

《歡迎交流討論》

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 環境:centos7+oracle 11gr2 公網:固定IP 癥狀:1521埠正常,netmanager配置測試正常,plsql連接提示ORA-12514: TNS:listener does not currently know of service requested in connect ... ...
  • 編寫mongo查詢語句到 find.js 然後mongo ip/dbname find.js > result.txt 採用標準輸出的形式重定向到文件 result.txt 中 上面用到了 正則匹配,採用 /.*關鍵詞.* /的形式進行模糊查詢 ...
  • 在測試ORACLE 10.2.0.4升級到10.2.0.5 Patch Set的過程中,遇到一個內核參數檢查失敗的問題,具體錯誤信息如下所示 實驗環境: 操作系統:Oracle Linux Server release 5.7 記憶體:4G 資料庫版本:10.2.0.4.0 Checking oper... ...
  • 1、下載安裝redis 在linux伺服器上,命令行執行以下命令(cd ./usr local/src 一般源碼放在這裡(推薦源碼安裝)) 說明: wget:下載遠程文件到本地當前文件夾中。 tar xzf :解壓文件到當前文件夾目錄 cd:進入文件夾 make make all make inst ...
  • 距離上次折騰已經有很長一段時間了。。。 不說這個,剛好有空閑,把這兩天折騰的 Tomcat 8 的服務配置整理出來收錄一下。 1、JDK安裝 1)檢查伺服器是否預裝了 openJdk,如果有就刪除,在這裡因為我的系統里沒有所以不多贅述。 2)到 oracle 的官網下載 JDK 安裝包,這裡我使用的 ...
  • 讓apache與mysql隨著系統自動啟動 在Linux中有一個文件/etc/rc.d/rc.local文件,其系統在啟動時會自動載入該文件,我們可以把要啟動的服務放入這個文件中即可。 添加以下代碼: ...
  • 多線程條件變數應用例子 Input_manager.h InputOpr 結構體添加 進程 ID :pthread_t t_TreadID; Makefile 添加線程庫 –lpthread LDFLAGS := -lm -lfreetype -lts –lpthread g_tTSDev = ts ...
  • zabbix是一個基於WEB界面的提供分散式系統監視以及網路監視功能的企業級的開源解決方案。 zabbix組件主要分兩個: zabbix-server和zabbix-agent。支持的監控協議有ICMP,IPMI,SNMP,HTTP以及zabbix協議(最常使用的協議用來監控各被監控端)。 收集的數 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...