CentOS7 +vsftpd (一)之 匿名

来源:http://www.cnblogs.com/showmu/archive/2017/10/06/7631525.html
-Advertisement-
Play Games

CentOS7 +vsftpd (一)之 匿名 ftp的搭建是一個基礎性的工作,CentOS7 +vsftpd 是一個比較容易實現的平臺,但在搭建中問題會不少,本系列將通過四篇隨筆與大家分享。 一、CentOS7 1、實驗環境為:VMware Workstation Pro +CentOS 7 64 ...


CentOS7 +vsftpd (一)之 匿名

ftp的搭建是一個基礎性的工作,CentOS7 +vsftpd 是一個比較容易實現的平臺,但在搭建中問題會不少,本系列將通過四篇隨筆與大家分享。

一、CentOS7

1、實驗環境為:VMware Workstation Pro +CentOS 7 64位最小化安裝(略)(網路採用橋接方式)。

2、安裝完後,網路設置(如果未能啟用網路,請採用以下步驟)

[root@localhost pub]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.21  netmask 255.255.255.0  broadcast 192.168.1.255 <======================未啟用網路設備,沒有這些IP,請執行 ifup ens33
        inet6 fe80::ccbe:f76:f63f:8270  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:09:37:0a  txqueuelen 1000  (Ethernet)
        RX packets 4721  bytes 426895 (416.8 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 3090  bytes 384658 (375.6 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
[root@localhost pub]# ifup ens33 <=======================ens33 你的網路設備名,

 3、安裝工具 VIM

yum install -y vim

4、設置靜態IP地址

[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33  <=======================ens33 你的網路設備名
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=4c9cac13-3d1d-451a-88ba-91aaddfa09d5
DEVICE=ens33
ONBOOT=yes <=======================開機啟動
BOOTPROTO=static <=================靜態IP方式
IPADDR=192.168.1.21 <================IP
NETMASK=255.255.255.0 <=================子網掩碼
DNS1=192.168.1.1 <=================DNS1
DNS2=114.114.114.114 <=============DNS2
GATEWAY=192.168.1.1 <=============網關

 5、測試網路

[root@localhost pub]# ping baidu.com
PING baidu.com (123.125.114.144) 56(84) bytes of data.
64 bytes from 123.125.114.144 (123.125.114.144): icmp_seq=1 ttl=52 time=46.7 ms
64 bytes from 123.125.114.144 (123.125.114.144): icmp_seq=2 ttl=52 time=48.8 ms
64 bytes from 123.125.114.144 (123.125.114.144): icmp_seq=3 ttl=52 time=46.6 ms
64 bytes from 123.125.114.144 (123.125.114.144): icmp_seq=5 ttl=52 time=40.8 ms
64 bytes from 123.125.114.144 (123.125.114.144): icmp_seq=6 ttl=52 time=40.9 ms
^C
--- baidu.com ping statistics ---
6 packets transmitted, 5 received, 16% packet loss, time 5023ms
rtt min/avg/max/mdev = 40.880/44.798/48.869/3.288 ms

 二、vsftp 安裝

1、伺服器上安裝,並測試

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

[root@localhost ~]# systemctl start vsftpd
[root@localhost ~]# systemctl enable vsftpd
Created symlink from /etc/systemd/system/multi-user.target.wants/vsftpd.service to /usr/lib/systemd/system/vsftpd.service.
[root@localhost ~]# systemctl status vsftpd
● vsftpd.service - Vsftpd ftp daemon
   Loaded: loaded (/usr/lib/systemd/system/vsftpd.service; enabled; vendor preset: disabled)
   Active: active (running) since Thu 2017-10-05 22:36:52 EDT; 50s ago
 Main PID: 1661 (vsftpd)
   CGroup: /system.slice/vsftpd.service
           └─1661 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf

Oct 05 22:36:52 localhost.localdomain systemd[1]: Starting Vsftpd ftp daemon...
Oct 05 22:36:52 localhost.localdomain systemd[1]: Started Vsftpd ftp daemon.
Hint: Some lines were ellipsized, use -l to show in full.


 [root@localhost ~]# yum install -y ftp

[root@localhost ~]# ftp 192.168.1.21
Connected to 192.168.1.21 (192.168.1.21).
220 (vsFTPd 3.0.2)
Name (192.168.1.21:root): anonymous
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
227 Entering Passive Mode (192,168,1,21,244,190).
150 Here comes the directory listing.
drwxr-xr-x    2 0        0               6 Aug 03 06:10 pub
226 Directory send OK.
ftp> quit
221 Goodbye.

 

 2、進階設置

通過第一步的安裝,說明vsftpd已在伺服器上運行,並能在伺服器上訪問,下麵的設置是為了能從網路上訪問a、防火牆

[root@localhost ~]# firewall-cmd --zone=public --add-service=ftp --permanent

[root@localhost ~]# firewall-cmd --reload

 b、匿名用戶許可權

[root@localhost ~]# cd /etc/vsftpd/
[root@localhost vsftpd]# ls
ftpusers  user_list  vsftpd.conf  vsftpd_conf_migrate.sh
[root@localhost vsftpd]# cp vsftpd.conf vsftpd.conf_`date +%F`
[root@localhost vsftpd]# ls
ftpusers   vsftpd.conf             vsftpd_conf_migrate.sh
user_list  vsftpd.conf_2017-10-05

[root@localhost vsftpd]# mkdir /www
[root@localhost vsftpd]# mkdir /www/ftp
[root@localhost vsftpd]# mkdir /www/ftp/pub
[root@localhost vsftpd]# mkdir /www/ftp/pub/upload

[root@localhost vsftpd]# chmod 777  /www/ftp/pub/upload <================匿名用戶口的上傳目錄
[root@localhost pub]# vim /etc/vsftpd/vsftpd.conf <================修改這個配置文件 內容如下
[root@localhost pub]# grep -Ev '(^#\s.*|^#|^$)' /etc/vsftpd/vsftpd.conf
anonymous_enable=YES
anon_mkdir_write_enable=YES
anon_root=/www/ftp/pub
local_enable=YES
write_enable=YES
local_umask=022
anon_upload_enable=YES
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES

 c、SElinux設置

550錯誤是vsftpd最為常見的錯誤,多是由SElinux設置、vsftpd.conf和FTP目錄許可權引起,這三者搞清楚,vsftpd設置起來就很容易,如出錯重點也是檢查這三處

[root@localhost ~]# getsebool -a | grep ftpd <====================最小化安裝Selinux 級別為 1 即 ===>Current mode:  enforcing
ftpd_anon_write --> off
ftpd_connect_all_unreserved --> off
ftpd_connect_db --> off
ftpd_full_access --> off
ftpd_use_cifs --> off
ftpd_use_fusefs --> off
ftpd_use_nfs --> off
ftpd_use_passive_mode --> off
[root@localhost ~]# setsebool -P ftpd_full_access on <========================開啟ftpd全部存取許可權



#========================================如果以上仍然不行,可用 setenforce 0 臨時下調 Selinux 級別 0 相當於關閉Selinux =====可能確定故障點 ==

[root@localhost ~]# setenforce 1 <====================重新開啟Selinux
[root@localhost pub]# systemctl restart vsftpd



 

三、關鍵

1、防火牆

2、FTP目錄許可權

3、vsftpd.conf設置  參見 http://yuanbin.blog.51cto.com/363003/108262/

4、Selinux級別與開關


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

-Advertisement-
Play Games
更多相關文章
  • 0.目錄 1. "前言" 2. "通過SSMS添加數據" 3. "通過SQL語句添加數據" 3.1 "添加單條數據" 3.2 "添加多條數據" 4. "通過其他表導入數據" 4.1 "通過資料庫中的其他表導入數據" 4.2 "通過excel表導入數據" 1.前言 增刪改查都是對數據的操作,其中“增” ...
  • 1. CUDA Toolkit的安裝 到https://developer.nvidia.com/cuda-gpus查詢GPU支持的CUDA版本: 到https://developer.nvidia.com/cuda-downloads,根據操作系統選擇下載相應的CUDA Toolkit版本,下載的 ...
  • 通過SSMS設置主鍵外鍵,使用SQL語句分別在建表中和建表後設置主鍵外鍵 ...
  • 0.目錄 1. "前言" 2. "建立資料庫" 2.1 "通過SSMS建立資料庫" 2.2 "通過SQL語句建立資料庫" 3. "建立表" 3.1 "通過SSMS建立表" 3.2 "通過SQL語句建立表" 1.前言 配置是win10+SQL Server 2012,使用的GUI管理工具是SQL Se ...
  • 說明 本文寫於2017 10 03,使用MySQL 5.7,操作系統為64位 Debian GNU/Linux 8.6 (jessie)。 安裝 因apt倉庫將mysql相關的包移除,需要自己去官網下載之,以及相關的依賴包。 在安裝mysql community server時,會提示輸入MySQL ...
  • 一、基本的sql語句 CRUD操作:create 創建(添加)read 讀取update 修改delete 刪除1、添加數據insert into Info values('p009','張三',1,'n001','2016-8-30 12:9:8') ; 給特定的列添加數據insert into ...
  • httpd使用VirtualHost指令進行虛擬主機的定義。支持三種虛擬主機:基於ip,基於埠和基於名稱。其中基於埠的虛擬主機在httpd的術語上(例如官方手冊)也屬於基於IP的。 當一個請求到達時,將首先匹配虛擬主機。匹配虛擬主機的規則為最佳匹配法。所謂最佳,是指通配的越少,匹配的優先順序越高。 ...
  • 特別在對文件進行執行時,要特別註意做好判斷 -r 文件可以被有效的UID/GID讀取。 -w 文件可以被有效的UID/GID寫入。 -x 文件可以被有效的UID/GID執行。 -o 文件被有效UID所有 -R 文件可以被真實的UID/GID讀取。 -W 文件可以被真實的UID/GID寫入。 -X 文 ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...