iptables 配置后連接不上數據庫_Linux服務器配置-VSFTP服務配置(三)

8ab1f8b31aed967ae5f15b9bbfb1ca00.png

上文:Linux服務器配置-VSFTP服務配置(二)

一、vsftpd服務防火墻配置

1、主動(POST)模式 FTP 防火墻配置

  • CentOS6 系統 iptables 的配置

iptables -t filter --line-number -nL INPUT#顯示現有防火墻規則,查看是否開啟20、21號端口。

iptables -t filter -I INPUT -p tcp -m multiport --dport 20,21 -m state --state NEW -j ACCEPT #如沒有開啟端口,添加規則,開啟20、21號端口。

service iptables save#保存防火墻設置。

service iptables restart #重啟防火墻。

iptables -t filter --line-number -nL INPUT#查看新添加的規則是否成功。

3b6c63e11fd527d8a47bcd1fe98d593a.png
  • RHEL7 系統 firewalld 的配置

方法1—通過添加FTP服務規則,開啟防火墻通道。

firewall-cmd --list-services #查看防火墻是否允許FTP服務通過。

firewall-cmd --permanent --zone=public --add-service=ftp #如沒有允許FTP服務通過,添加防火墻規則允許其通過。

firewall-cmd --reload #重新加載防火墻。

firewall-cmd --list-all #查看新添加的防火墻規則是否允許FTP服務通過。

d0e1175f055aa4efebde8839e4859a11.png

方法2—通過添加端口規則,開啟防火墻通道。

firewall-cmd --list-ports #查看防火墻是否開啟20、21端口。

firewall-cmd --permanent --zone=public --add-port=20-21/tcp #如沒有開啟端口,添加規則,開啟20、21號端口。

firewall-cmd --reload #重新加載防火墻

firewall-cmd --list-all #查看新添加的規則是否成功。

8fff059b95a4474852485f085ff251db.png

以上兩種方法使用哪一種都可以。

2、被動(PASV)模式FTP防火墻配置

如果FTP開啟被動(PASV)模式,就需要修改配置文件(vsftpd.conf),指定一個端口范圍,然后根據這個端口范圍來配置防火墻。

下面是配置文件指定的端口范圍

pasv_enable=YES

pasv_min_port=59800

pasv_max_port=59900

  • CentOS6系統iptables的配置

iptables -t filter --line-number -nL INPUT#顯示現有防火墻規則,查看是否開啟21號端口。

iptables -t filter -I INPUT -p tcp -m tcp --dport 21 -m state --state NEW -j ACCEPT#如沒有開啟端口,添加規則,開啟21號端口。

iptables -t filter -I INPUT -p tcp -m tcp --dport 59800:59900 -m state --state NEW -j ACCEPT#開啟被動端口。

service iptables save#保存防火墻設置。

service iptables restart #重啟防火墻。

iptables -t filter --line-number -nL INPUT #查看新添加的規則是否成功。

dde989d1c43da25861143c84f7ffbb3a.png
  • RHEL7系統firewalld的配置

方法1—通過添加FTP服務規則,開啟防火墻通道。

firewall-cmd --list-services #查看防火墻是否允許FTP服務通過。

firewall-cmd --permanent --zone=public --add-service=ftp #如沒有允許FTP服務通過,添加防火墻規則允許其通過。

firewall-cmd --permanent --zone=public --add-port=59800-59900/tcp #開啟被動端口。

firewall-cmd --reload #重新加載防火墻。

firewall-cmd --list-all #查看新添加的防火墻規則是否允許FTP服務通過。

8a71d6b90f828d0c48c599eaf105d466.png

方法2—通過添加端口規則,開啟防火墻通道。

firewall-cmd --list-ports #查看防火墻是否開啟21端口。

firewall-cmd --permanent --zone=public --add-port=21/tcp #如沒有開啟端口,添加規則,開啟21號端口。

firewall-cmd --permanent --zone=public --add-port=59800-59900/tcp #開啟被動端口。

firewall-cmd --reload #重新加載防火墻。

firewall-cmd --list-all #查看新添加的規則是否成功。

17a4fcf698142782b5c24dea00a68fa3.png

以上兩種方法使用哪一種都可以。

注:在Windows下用ftp命令連接,都是采用主動模式連接,可以采用圖形界面的FTP工具軟件,默認一般為被動模式。

二、SELinux中關于vsftpd服務的說明

1、vsftp 的 SELinux 的文件類型

SElinux 一共定義了兩種文件類型用于設置 vsftp 服務器。

public_content_t

說明:vsftpd服務可以讀取的文件和目錄,其他服務如 Apache、Samba 和 NFS 也可以,但是 public_content_t 類型的文件不能被寫入,即使 Linux 權限允許。

public_content_rw_t

說明:vsftpd服務可以讀取和寫入的文件和目錄,其他服務其他服務如 Apache,Samba 和 NFS 也可以,不過必須開放相關的布爾變量。

2、vsftp 的布爾變量

下面是常用的布爾變量。

allow_ftpd_anon_write

說明:關閉這個布爾變量會阻止 vsftpd 讀取 public_content_rw_t 類型的文件和目錄。如果允許用戶通過 FTP 上傳文件。必須開放這個布爾變量。

allow_ftpd_full_access

說明:當開放這個布爾變量時只有 Linux(DAC)的權限來控制訪問,通過驗證的用戶可以讀取和寫入標記為 public_content_t 或 public_content_rw_t 類型的文件。

allow_ftpd_use_cif

說明:當開放這個布爾變量時 vsftpd 允許 cifs_t 類型的文件和目錄,因此這個布爾變量啟用,可以讓你的 FTP 服務器可以使用 Samba 文件系統。

allow_ftpd_use_nfs vsftpd

說明:當開放這個布爾變量時 vsftpd 允許 nfs_t 類型的文件和目錄,因此這個布爾變量啟用,可以讓你的 FTP 服務器可以使用 NFS 文件系統。

ftp_home_dir

說明:當開放這個布爾變量時認證用戶可以讀寫自己的主目錄中的文件。

ftpd_connect_db

說明:當開放這個布爾變量時允許 vsftpd 連接數據庫。

httpd_enable_ftp_server

說明:當開放這個布爾變量時容許的 httpd 作為 FTP 服務器,并且監聽 FTP 端口。

tftp_anon_write

說明:當開放這個布爾變量時允許 TFTP 訪問一個公共的目錄。

注:關于SELinux 環境下的 FTP 配置將在實例中加以說明。

三、匿名認證登錄FTP配置

匿名方式登錄FTP服務器是一種最不安全的認證方式,因為任何人都可以無需密碼訪問FTP服務器中的數據。但在企業內部局域網中可以通過這種方式共享一些不重要的數據文件(比如軟件的共享等)。

vsftpd服務程序安裝完成并啟動服務后,默認是開啟匿名訪問的,但只是提供查看和下載文件的權限,如果需要開放匿名用戶的上傳、創建、刪除、更名文件的權限,就需要做一些相應的配置,針對匿名用戶放開這些權限會帶來潛在的危險,這里為了在Linux系統中練習配置vsftpd服務程序而放開了這些權限,不建議在生產環境中使用匿名登錄方式。

1、配置軟件環境說明

CentOS6系統:

CentOS release 6.10 (Final)

vsftpd-2.2.2-24.el6.x86_64

RHEL7系統

Red Hat Enterprise Linux Server release 7.6 (Maipo)

vsftpd-3.0.2-25.el7.x86_64

3b39b8210ac59287713c94a405c98ba0.png

服務器配置要求:

FTP服務采用被動模式運行,并只允許匿名用戶登錄,匿名用戶具有可下載、上傳、新建目錄(文件)、更名、及刪除文件的權限。

2、備份原有配置文件

cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak

3、修改配置文件(/etc/vsftpd/vsftpd.conf)

說明:此配置文件將一般常用的設置項全部列出,需要用到的時候更改相應的設置即可。

listen_port=21

connect_from_port_20=NO

pasv_enable=YES

pasv_min_port=59800

pasv_max_port=59900

listen=YES

listen_ipv6=NO

max_clients=0

max_per_ip=0

one_process_model=NO

connect_timeout=60

accept_timeout=60

data_connection_timeout=300

idle_session_timeout=300

dirmessage_enable=YES

message_file=.message

chroot_local_user=YES

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list

write_enable=YES

download_enable=YES

tcp_wrappers=YES

userlist_enable=YES

userlist_deny=YES

userlist_file=/etc/vsftpd/user_list

xferlog_enable=YES

xferlog_file=/var/log/xferlog

xferlog_std_format=YES

use_localtime=YES

anonymous_enable=YES

anon_world_readable_only=YES

anon_other_write_enable=YES

anon_mkdir_write_enable=YES

anon_upload_enable=YES

chown_uploads=NO

chown_username=username

no_anon_password=NO

ftp_username=ftp

anon_root=/var/ftp

anon_max_rate=0

anon_umask=077

local_enable=NO

local_umask=022

file_open_mode=0666

local_root=/home/username

local_max_rate=0

user_config_dir=/etc/vsftpd/userconf

pam_service_name=vsftpd

guest_enable=NO

guest_username=ftp

virtual_use_local_privs=NO

user_config_dir=/etc/vsftpd/vuser_config

4、重啟vsftp服務

  • CentOS6系統

service vsftpd restart

  • RHEL7系統

systemctl restart vsftpd

5、修改FTP上傳目錄的所有者

因為匿名用戶,使用ftp用戶身份來訪問FTP服務器,所以需將FTP允許上傳文件的目錄的所有者更改為ftp。

匿名用戶不能直接對FTP根目錄進行寫操作,只有在下級目錄中才可以,所以這里設置可對pub目錄進行寫操作。

chown -Rf ftp /var/ftp/pub

ccd5cd29cee3f51a00a163f276a816b8.png

6、修改SELinux中 vsftp 的布爾變量

CentOS6系統

setsebool -P allow_ftpd_full_access on

RHEL7系統

setsebool -P ftpd_full_access on

d2ea287739f8f50616935b55cd6359b5.png

上圖為CentOS6系統實例

7、驗證配置結果

747969790d29fd0816cb6ab20ad7d5c7.png

以上是我在學習Linux系統中整理的一些學習要點,肯定會有不對的地方,希望各位大俠給與指正,我們共同學習!謝謝!

下篇:Linux服務器配置-VSFTP服務配置(四)

通過實例說明如何配置本地用戶登錄FTP服務器。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/370720.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/370720.shtml
英文地址,請注明出處:http://en.pswp.cn/news/370720.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

下標索引必須為正整數類型或邏輯類型_Python3 基本數據類型

Python中的變量不需要聲明。每個變量在使用前都必須賦值,變量賦值以后該變量才會被創建。在Python中,變量就是變量,它沒有類型,我們所說的"類型"是變量所指的內存中對象的類型。Python 3中有六個標準的數據類型&#xf…

noip模擬賽 寫代碼

分析:這其實就是括號匹配題,一眼貪心題,不過一開始貪錯了,以為([)]是合法的......其實括號之間不能嵌套. 一開始的想法是盡量往左邊填左括號,因為每種括號的數量都確定了,那么左括號和右括號的數量也就確定…

[CF797C] Minimal string(貪心,棧)

題目鏈接:http://codeforces.com/contest/797/problem/C 題意:給個字符串,求字典序最小的出棧順序。 一開始想用優先隊列記錄全局最小的字符,然后每次入棧的時候檢查當前字符是不是最小的,如果是那么同時pop。這樣做的…

讓我們緊縮大數據

作為開發人員,我們的重點是簡單,有效的解決方案,因此,最有價值的原則之一就是“保持簡單和愚蠢”。 但是使用Hadoop map-reduce很難堅持這一點。 如果我們要評估多個Map Reduce作業中的數據,那么最終將得到與業務無關但…

行內元素和塊元素以及行內塊元素的特點

一、背景 初學html&#xff0c;接觸很多標簽 <h1>、<p>、<span>、<ul>、<em>等&#xff0c;當寫出簡單的小頁面的時候&#xff0c;例如僅僅是一篇帶有標題的文章&#xff0c;標題 <h1>標簽單獨一行&#xff0c;不管后面有多大的空間&…

軟件測試的功能測試和性能測試,大型軟件的功能測試流程及性能測試流程

大型軟件具有涉及子模塊繁多、建設過程復雜、功能全面、性能具有較高要求的特點。依據ISO/IEC 9126軟件產品評估標準&#xff0c;需要對軟件的功能性、可靠性、可用性、效率、可維護性、可移植性等方面進行評估。因此&#xff0c;需要有一種方法能夠對大型軟件進行測試&#xf…

vue 分模塊打包 腳手架_Vue面試官最愛的底層源碼問題,你可以這樣回答!

最近看到身邊很多人都在投簡歷&#xff0c;有因為企業裁員的&#xff0c;有因為自己想跳槽的&#xff0c;原因不一&#xff0c;但是最終大家都會需要接觸到面試這個事情。但是很多人對待面試不夠認真&#xff0c;只會等待結果&#xff0c;不去努力。所以這邊想整理一些懶人面試…

re.containerbase.startinternal 子容器啟動失敗_Python項目容器化實踐(二) Docker Machine和Docker Swarm...

前言這篇文章介紹Docker生態中的常被提到的Engine、Machine和Swarm&#xff0c;大家以了解為主&#xff0c;工作需要再深入。EngineDocker Engine其實就是我們常說的「Docker」&#xff0c;它是一個C/S模型(Client/Server)的應用&#xff0c;包含如下組件:Daemon。守護進程&…

基于設備樹的TQ2440的中斷(2)

下面以按鍵中斷為例看看基于設備數的中斷的用法&#xff1a; 設備樹&#xff1a; tq2440_key {compatible "tq2440,key";interrupt-parent <&gpf>;interrupts <0 IRQ_TYPE_EDGE_FALLING>, <1 IRQ_TYPE_EDGE_FALLING>;key_3 <&gpf 2…

計算機里有個不能進入的磁盤分區,新電腦只有一個分區怎么辦? 教你們如何不進pe給硬盤創建新分區!...

很多朋友新電腦剛買回來打開發現明明自己機械硬盤1T或者1T機械加128G固態&#xff0c;但是卻只有一個或者兩個分區&#xff0c;但是又不會分區現在教大家如何不用老毛桃大白菜之類的進pe系統里面就能直接創建新分區1 WinR輸入diskmgmt.msc2進入磁盤管理可以查看本機的C盤與E盤的…

OSGi中的權限

在上一篇文章中 &#xff0c;我們介紹了為Java應用程序實現沙箱的方法&#xff0c;在其中我們可以安全地運行移動代碼 。 這篇文章探討了如何在OSGi環境中執行相同的操作。 OSGi OSGi規范 為Java定義了一個動態模塊系統 。 因此&#xff0c;它是實施那種可以使您的應用程序動…

HTTP簡單教程

目錄 HTTP簡介 HTTP工作原理 HTTP消息結構 客戶端請求消息服務器響應消息實例 HTTP請求方法HTTP響應頭信息HTTP狀態碼 HTTP狀態碼分類HTTP狀態碼列表 HTTP content-type對照表 HTTP簡介 HTTP協議是Hyper Text Transfer Protocol&#xff08;超文本傳輸協議&#xff09;的縮寫&…

Reversed-Z詳解

在3D渲染管線中&#xff0c;Z這個家伙幾乎無處不在&#xff0c;如Z-Buffer&#xff0c;Early-Z&#xff0c;Z-Cull&#xff0c;Z-Test&#xff0c;Z-Write等等&#xff0c;稍有接觸圖形學的人都會對這些術語有所耳聞。 那么Z到底是什么呢&#xff1f;首先Z當然可以是任意坐標系…

pyqt開發的程序模板_小程序定制開發和模板開發要多少錢?有什么區別?

到現在&#xff0c;小程序開發已經有了1年多的歷史&#xff0c;已經達到百萬數量級。無論是小程序商城還是小程序游戲&#xff0c;其開發方式不外乎兩種&#xff0c;一種是定制開發&#xff0c;另一種是模板開發。對于很多初次接觸小程序的客戶來說&#xff0c;還不知道小程序的…

實現字符串的編碼轉換,用以解決字符串亂碼問題

引起亂碼的情況很多~實質上 主要是字符串本身的編碼格式 與程序所需要的編碼格式不一致導致的。要解決亂碼其實很簡單&#xff0c; 分2步 &#xff1a; 1&#xff1a;獲取到字符串 本身的編碼 2&#xff1a;改變字符串編碼 &#xff08;本身編碼 -> 新編碼&#xff09; 話不…

python運行原理_Python線程池及其原理和使用(超級詳細)

系統啟動一個新線程的成本是比較高的&#xff0c;因為它涉及與操作系統的交互。在這種情形下&#xff0c;使用線程池可以很好地提升性能&#xff0c;尤其是當程序中需要創建大量生存期很短暫的線程時&#xff0c;更應該考慮使用線程池。 線程池在系統啟動時即創建大量空閑的線程…

Google Guava緩存

這篇文章是我在Google Guava上系列文章的續篇&#xff0c;這次涵蓋了Guava Cache。 與HashMap或ConcurrentHashMap相比&#xff0c;Guava Cache提供了更大的靈活性和功能&#xff0c;但不像使用EHCache或Memcached那樣繁重&#xff08;就此而言&#xff0c;它很健壯&#xff0c…

html 三列布局(兩列自適應,一列固定寬度)

不做過多解釋&#xff1a;主要是記錄一個完整的布局樣式&#xff0c;實現頁面大致三列其中左右兩列是自適應寬度&#xff0c;中間固定寬度效果。 不多少代碼奉上&#xff1a; CSS樣式代碼&#xff1a; /*********************公共標簽樣式********************//************…

jsp常用動作

jsp:include 動態包含&#xff1b; jsp:forward 轉發&#xff1b; jsp:useBean 實例化bean對象&#xff1b; jsp:setProperty 設置一個屬性值 jsp:getProperty 獲取一個屬性值 jsp:param 動態傳參數&#xff1b; jsp:plugin 生成一個插件 jsp:useBean 實例化一個對象…

單曲循環 翻譯_歌單 | 單曲循環amp;熱評

December2020/12/ 寫在前面的話 /本來打算在跨年的時候才更文&#xff0c;但是吧又覺得空出這最后一個月有點蒼白&#xff0c;然后最近一直夜半網抑云(敏感ing)就想到可以做一期分享歌單的推文&#xff0c;分享一些最近聽得頻繁的歌曲(還不是刷抖音刷出來的)。《曖昧》// 王菲徘…