centos7安裝ftp

来源:https://www.cnblogs.com/zeq912/archive/2019/03/05/10476725.html
-Advertisement-
Play Games

1、伺服器初始化檢查 檢查selinux,firewall,iptables是否開啟 1、查看selinux的運行狀態 1、臨時關閉selinux 2、永久關閉selinux 將SELINUX=enforcing改為SELINUX=disabled,保存後退出,_reboot重啟伺服器後生效_ 2、 ...


1、伺服器初始化檢查

檢查selinux,firewall,iptables是否開啟

1、查看selinux的運行狀態

[root@zeq ~] getenforce
Disabled                 我的現在是關閉狀態   
[root@zeq ~] /usr/sbin/sestatus
SELinux status:                 disabled   我的現在是關閉狀態

1、臨時關閉selinux

[root@zeq ~] setenforce 0

2、永久關閉selinux

將SELINUX=enforcing改為SELINUX=disabled,保存後退出,reboot重啟伺服器後生效

[root@zeq ~] vim /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=enforcing
# SELINUXTYPE= can take one of three two values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected. 
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted

2、查看firewalld的運行狀態

[root@zeq ~] systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
   Active: inactive (dead)      我現在是關閉狀態
     Docs: man:firewalld(1)     

1、關閉firewalld

[root@zeq ~] systemctl stop firewalld

3、安裝vsftp

[root@zeq ~] yum install vsftp -y

4、啟動vsftp服務並加入開機自啟

[root@zeq ~] systemctl start vsftpd
[root@zeq ~] systemctl enable vsftpd

5、修改vsftp配置文件

1、備份配置文件

[root@zeq ~] cp /etc/vsftp/vsftp.conf /etc/vsftp/vsftp.conf.bak

2、修改配置文件內容

[root@zeq ~] vim /etc/vsftp/vsftp.conf   清空原有內容插入下麵的內容
anonymous_enable=NO
write_enable=YES
chroot_local_user=YES
chroot_list_enable=YES
use_localtime=YES
local_enable=YES
allow_writeable_chroot=YES
xferlog_enable=YES
local_umask=022
pam_service_name=vsftpd
 
use_localtime=YES
listen_port=21
chroot_local_user=YES
idle_session_timeout=120
 
data_connection_timeout=120
guest_enable=YES
guest_username=ftpuser
 
user_config_dir=/etc/vsftpd/vuser_conf
virtual_use_local_privs=YES
 
pasv_min_port=10060
pasv_max_port=10090
 
accept_timeout=5
connect_timeout=1

6、創建宿主用戶

1、創建用戶 ftpuser 指定 /home/vsftpd 目錄

[root@zeq ~] useradd -g root -M -d /home/vsftpd -s /sbin/nologin ftpuser

2、設置用戶 ftpuser 的密碼

[root@zeq ~] passwd ftpuser

3、把 /home/vsftpd 的所有權給ftpuser.root

[root@zeq ~] chown -R ftpuser.root /home/vsftpd

7、建立虛擬用戶文件

[root@zeq ~] vim /etc/vsftpd/vuser_passwd    第一、三行用戶,第二、四行密碼
ftp1       
12345678
ftp2
12345678

8、生成虛擬用戶數據文件並授權

[root@zeq ~] db_load -T -t hash -f /etc/vsftpd/vuser_passwd /etc/vsftpd/vuser_passwd.db
[root@zeq ~] chmod 600 /etc/vsftpd/vuser_passwd.db

9、創建用戶配置

[root@zeq ~] mkdir /etc/vsftpd/vuser_conf  # 建立虛擬用戶個人vsftp的配置文件
[root@zeq ~] cd /etc/vsftpd/vuser_conf     # 進入目錄
[root@zeq vuser_conf] touch ftp1 ftp2
[root@zeq vuser_conf] vim ftp1           ftp2第一行改為ftp2其他內容不變
local_root=/home/vsftpd/ftp1
write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES

10、創建用戶目錄

[root@zeq ~] mkdir -p /home/vsftpd/ftp1
[root@zeq ~] mkdir -p /home/vsftpd/ftp2

11、重啟vsftp服務

[root@zeq ~] systemctl restart vsftp

12、生成虛擬用戶的PAM文件

[root@zeq ~] cd /etc/pam.d/ && cp vsftpd vsftpd.bak
[root@zeq ~] vim /etc/pam.d/vsftpd          添加兩行內容,原有內容註銷
#%PAM-1.0
auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser_passwd
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser_passwd

#session    optional     pam_keyinit.so    force revoke
#auth       required    pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
#auth       required    pam_shells.so
#auth       include     password-auth
#account    include     password-auth
#session    required     pam_loginuid.so
#session    include     password-auth

13、客戶端測試

1、首先每次更改配置需要重啟vsftpd服務。
2、上面每個配置文件中的內容最好是手動鍵入
3、客戶端windows打開cmd到後臺進行連接,網頁和資源管理器裡面都會有緩存也看不到報錯。
4、伺服器tail -f /var/log/secure查看日誌(也可以tail -f /var/log/messages,這個看不出什麼,前者更精準)
5、客戶端報錯示例(沒有讀到/etc/vsftpd/chroot_list這個文件,所以我們新建這個文件就行,記得重啟服務)。
6、如果虛擬用戶登錄到自己的宿主目錄後,不能上傳文件的話,伺服器端需要在宿主目錄裡面再新建一個文件夾,給這文件夾777許可權,就可以了(直接把宿主目錄設置777就會登錄不了)
7、新增用戶的話,需要在/etc/vsftpd/vsuser.passwd裡面追加用戶(刪除就是刪除用戶),記得使用db_load重新生成vsuser.passwd文件即可,vuser_confi裡面新建一個新建賬戶的許可權文件,宿主目錄記得新建存儲文件。
8、建議使用ftp工具和cmd驗證
9、修改完配置或者用戶信息以後一定要重啟服務和重新生成vsuser.passwd(重覆第八步操作)

14、ftp登陸驗證

ftp  192.168.1.238            ftp命令+你伺服器的ip    如果沒有ftp命令yum安裝即可     
連接到 192.168.1.238.
220 (vsFTPd 3.0.2)
200 Always in UTF8 mode.
用戶(192.168.1.238:(none)): ftp1
331 Please specify the password.
密碼:
230 Login successful.

15、FTP命令詳解

ftp> ascii # 設定以ASCII方式傳送文件(預設值) 
ftp> bell  # 每完成一次文件傳送,報警提示. 
ftp> binary # 設定以二進位方式傳送文件. 
ftp> bye  # 終止主機FTP進程,並退出FTP管理方式. 
ftp> case # 當為ON時,用MGET命令拷貝的文件名到本地機器中,全部轉換為小寫字母. 
ftp> cd   # 同UNIX的CD命令. 
ftp> cdup  # 返回上一級目錄. 
ftp> chmod # 改變遠端主機的文件許可權. 
ftp> close # 終止遠端的FTP進程,返回到FTP命令狀態, 所有的巨集定義都被刪除. 
ftp> delete # 刪除遠端主機中的文件. 
ftp> dir [remote-directory] [local-file] # 列出當前遠端主機目錄中的文件.如果有本地文件,就將結果寫至本地文件. 
ftp> get [remote-file] [local-file] # 從遠端主機中傳送至本地主機中. 
ftp> help [command] # 輸出命令的解釋. 
ftp> lcd # 改變當前本地主機的工作目錄,如果預設,就轉到當前用戶的HOME目錄. 
ftp> ls [remote-directory] [local-file] # 同DIR. 
ftp> macdef         # 定義巨集命令. 
ftp> mdelete [remote-files] # 刪除一批文件. 
ftp> mget [remote-files]  # 從遠端主機接收一批文件至本地主機. 
ftp> mkdir directory-name  # 在遠端主機中建立目錄. 
ftp> mput local-files # 將本地主機中一批文件傳送至遠端主機. 
ftp> open host [port] # 重新建立一個新的連接. 
ftp> prompt      # 交互提示模式. 
ftp> put local-file [remote-file] # 將本地一個文件傳送至遠端主機中. 
ftp> pwd # 列出當前遠端主機目錄. 
ftp> quit # 同BYE. 
ftp> recv remote-file [local-file] # 同GET. 
ftp> rename [from] [to]   # 改變遠端主機中的文件名. 
ftp> rmdir directory-name  # 刪除遠端主機中的目錄. 
ftp> send local-file [remote-file] # 同PUT. 
ftp> status  # 顯示當前FTP的狀態. 
ftp> system  # 顯示遠端主機系統類型. 
ftp> user user-name [password] [account] # 重新以別的用戶名登錄遠端主機. 
ftp> ? [command] # 同HELP. [command]指定需要幫助的命令名稱。如果沒有指定 command,ftp 將顯示全部命令的列表。
ftp> ! # 從 ftp 子系統退出到外殼。

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

-Advertisement-
Play Games
更多相關文章
  • 前言 本人菜鳥一枚,第一次寫博客,不喜誤噴。 實驗環境 Opensuse15.0(主機)、FreeBSD11.1(虛擬機)、虛擬機VirtualBox5.2.22、mysql8.0.14 在FreeBSD下安裝mysql pkg install mysql80 在 /etc/rc.conf下添加一行 ...
  • 在沒有禁用開源的顯卡驅動 nouveau 下,從 apt 安裝了nvidia的驅動,導致了後面開機後,系統不能正確的識別到顯示器,整個界面解析度變的非常小,在設置菜單中的顯示設置中也不能調節解析度,並有built-in display的提示,推測是兩個顯卡驅動所致,後來又卸載了nvidia的驅動,重 ...
  • 網上的文章鋪天蓋地,適合自己的沒有... 最後老辦法:文章+經驗+嘗試 = 成功,哈哈! 問題和步驟: 1. Xshell 過期了,修改用Free for Home/School版本,https://www.netsarang.com/zh/free-for-home-school/ 前往下載地址, ...
  • 最近需要在mac上連ssh,但是之前在mac上用的都是簡易的SSH Shell,沒有找到傳輸文件的功能。 這時候就非常想念win上的winscp,有個界面,傳點東西還是很直觀的。 幾經搜尋,終於找到一款:zoc 基本滿足了我的需求,ssh,然後有個簡單的文件傳輸。 當然,這個傳輸功能可以用scp來實 ...
  • 簡介 vimtutor是vim這款知名的文本編輯器的學習工具/指南。語法如下。 -g選項和gvimtutor是啟動GUI版本的指南,需要系統支持,一般來說我們只需要鍵入這2種命令形式。 一種啟用英文,一種啟用中文,建議閱讀英文指南。 當我們運行vimtutor的時候,看到是有點類似於man手冊的幫助 ...
  • 基本概念 套介面也就是網路中的ID。網路通信,歸根到底還是進程間通信(不同電腦上的進程間的通信)。在網路中,每一個節點(電腦或路由器)都有一個網路地址,也就是IP地址。 IP地址:在網路中唯一標識一臺主機 埠號:在主機中唯一標識一個進程 IP+port:在網路環境中唯一標識一個進程(socke ...
  • 4.1 Linux系統目錄結構和相對/絕對路徑 4.1.1系統目錄結構 在windows系統中,查看文件先進入相應的盤符,然後進入文件目錄 在windows中,它是多根 c:\ d:\ e:\ Linux只有一個根目錄 使用tree命令查看linux目錄結構,這個命令預設是沒有安裝的,需要手工安裝一 ...
  • 1.PMM架構 如下圖所示 2.Client主要組件 PMM Client是安裝在你要監視的MySQL或MongoDB主機上的一組代理組件。組件收集關於一般系統和資料庫性能的各種數據,並將該數據發送到相應的PMM伺服器組件。 主要有以下5個部分 3. 安裝步驟 一般使用root用戶訪問安裝PMM C ...
一周排行
    -Advertisement-
    Play Games
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...