小白搭建ftp伺服器(vsftpd centos8.2)
寫在最前
伺服器要求:本人使用阿里雲ECS
系統:centos 8.2
使用前需要在阿里雲安全組開啟埠
- 需要開啟的埠號為:20/21
- 配置方向:入方向
- 協議型別:TCP
- 授權物件:預設值
安裝vsftpd
因為我用的是centos系統,所以在安裝時使用的是yum命令,如果是ubuntu或者Debian系統,請使用apt-get命令。
yum install vsftpd
- !使用yum命令需要使用管理員賬戶,請切換至root後再安裝
配置vsftpd
!在修改配置前,請將原始配置檔案備份一份
vsftpd相關的配置資訊都被存放在 “/etc/vsftpd” 目錄下,主配置檔案為:vsftpd.conf
第一次開啟vsftpd.conf,需要找到“Listen=NO”,將其改為YES,修改此項是為了開啟vsftpd的ipv4監聽,這樣來自客戶端的請求才能被接收。接著找到“listen——ipv6=YES”,將其改為NO,關閉IPV6監聽。
接著開啟這兩項:
local_enable=YES #本地開關
write_enable=YES #寫開關
開啟後使用以下命令重啟ftp服務:
systemctl start vsftpd.service
執行以下命令檢視FTP服務監聽的埠。
netstat -antup | grep ftp
出現如下圖所示介面,表示FTP服務已啟動,監聽的埠號為 21。
建立使用者
- 如果由本地使用者,可以忽略,本步驟只限於測試使用
使用useradd命令來新增使用者,passwd命令建立密碼
建立目錄
ftp的資料夾在“ /var/ftp”資料夾下,建立一個資料夾並將其授權給使用者。涉及到mkdir和chown命令的使用
開啟一些其他測試項
#
# 1. 監聽相關
#
listen=<YES/NO> # YES: 服務以獨立執行方式執行; NO: 執行在 xinetd 內。 預設為 YES
listen_address=<ip address> # 服務監聽地址, 如果有多個網路卡, 需要將服務繫結到指定 IP 地址
listen_port=<port> # 服務監聽埠, 預設為 21
#
# 2. 匿名使用者相關
#
anonymous_enable=<YES/NO> # 是否允許匿名使用者訪問, 預設 NO
anon_mkdir_write_enable=<YES/NO> # 是否允許匿名使用者建立資料夾, 預設 NO
anon_other_write_enable=<YES/NO> # 是否允許匿名使用者其他的寫許可權, 建立檔案、重新命名、刪除檔案等許可權(預設為 NO, 基於安全性考慮這個許可權一般不開啟)
anon_upload_enable=<YES/NO> # 是否允許匿名使用者上傳, 預設 NO
anon_umask=<nnn> # 匿名使用者上傳的檔案的生成掩碼, 預設為077
anon_max_rate=<n> # 匿名使用者的最大傳輸速率, 單位為 Byte/s, 值為 0 表示不限制
anon_world_readable_only=<YES/NO> # 是否允許匿名使用者只讀瀏覽
#
# 3. 本地使用者(Linux標準系統使用者)相關
#
local_enable=<YES/NO> # 是否支援本地使用者帳號訪問
write_enable=<YES/NO> # 是否開放本地使用者的寫許可權
local_umask=<nnn> # 本地使用者上傳的檔案的生成掩碼, 預設為077
local_max_rate=<n> # 本地使用者最大的傳輸速率, 單位為 Byte/s,值為 0 表示不限制
local_root=<file> # 本地使用者登陸後的目錄,預設為 本地使用者 的 主目錄
chroot_local_user=<YES/NO> # 本地使用者是否可以執行 chroot, 預設為 NO
chroot_list_enable=<YES/NO> # 是否只有指定的使用者才能執行 chroot, 預設為 NO
chroot_list_file=<filename> # 當 chroot_local_user=NO 且 chroot_list_enable=YES 時,
# 只有 filename 檔案內指定的使用者(每行一個使用者名稱)可以執行 chroot,
# 預設值為 /etc/vsftpd.chroot_list
#
# 4. 本地使用者 黑/白名單管理
#
userlist_enable=<YES/NO> # 是否啟用 userlist_file 白/黑名單使用者列表, 預設為 NO
userlist_deny=<YES/NO> # 當 userlist_enable=YES(即啟用 userlist_file )時, 則該欄位才有效。
# userlist_deny=YES: userlist_file 為 黑名單, 即在該檔案內的使用者均不可登入, 其他使用者可以登入
# userlist_deny=NO: userlist_file 為 白名單, 即在該檔案內的使用者才可以登入, 其他使用者均不可登入
userlist_file=<filename> # 黑/白名單使用者列表檔案(每行一個使用者名稱),
# 是黑名單還是白名單, 根據 userlist_deny 的值決定,
# 預設值為 /etc/vsftpd.user_list
#
# 5. 連線相關
#
ftpd_banner=<message> # 客戶端連線伺服器後顯示的歡迎資訊
connect_timeout=<n> # 遠端客戶端響應埠資料連線超時時間, 單位為秒, 預設 60
accept_connection_timeout=<n> # 空閒的資料連線超時時間, 單位為秒, 預設 120
data_connection_timeout=<n> # 空閒的使用者會話超時時間, 單位為秒, 預設 300
max_clients=<n> # 在獨立模式執行時, 最大連線數, 0 表示無限制
max_per_ip=<n> # 在獨立模式執行時, 每 IP 的最大連線數, 0表示無限制
根據自己的需要開啟或關閉對應的功能
檔案中沒有註釋的內容,可以在檔案末尾新增
- 在每次修改配置檔案後,需要使用以下命令重啟服務
systemctl restart vsftpd.service
ftp客戶端測試
本地安裝ftp客戶端,在終端輸入
ftp <公網IP><埠號>
未開啟匿名使用者請輸入本機使用者使用者名稱及密碼
開啟匿名使用者後輸入“anonymous”為使用者名稱,密碼可預設或者輸入郵箱即可登入
相關的許可權在上文,本部分不再贅述
當ftp伺服器出現問題簡單排障
先登入伺服器,通過
systemctl status vsftpd.service
檢查ftp服務是否已經成功啟動
如果客戶端無法連線到伺服器,可以使用telnet直接建立客戶端到指定伺服器埠的TCP連結
telnet <公網IP> <埠號>
通過tcpdump抓包也可以看到此時是否存在連結
通過natstat命令檢視埠是否開放,是否處在監聽狀態
ftp客戶端的使用
PUT <要上傳的檔案的絕對地址> <要上傳的位置>
GET <要下載的檔案位置> <下載的位置>
相關文章
- FTP伺服器——使用vsftpd搭建FTP伺服器
- ubuntu系統使用vsftpd搭建FTP伺服器。UbuntuFTP伺服器
- 在基於CentOS的雲主機上用vsftpd搭建FTP伺服器CentOSFTP伺服器
- ubuntu ftp 伺服器搭建及vsftpd.conf配置例項詳解UbuntuFTP伺服器
- FTP服務(vsftpd)配置FTP
- Centos 6.6 搭建FTP伺服器CentOSFTP伺服器
- Ubuntu下搭建FTP伺服器UbuntuFTP伺服器
- Linux 搭建FTP伺服器LinuxFTP伺服器
- IIS下搭建FTP伺服器FTP伺服器
- CentOS 下搭建FTP伺服器CentOSFTP伺服器
- win10如何搭建ftp伺服器步驟_win10ftp伺服器搭建教程Win10FTP伺服器
- 樹莓派搭建FTP伺服器樹莓派FTP伺服器
- Centos7搭建FTP伺服器CentOSFTP伺服器
- RedHat6.2搭建FTP伺服器RedhatFTP伺服器
- vsftpd搭建ftp服務,並實現虛擬使用者訪問FTP
- 如何搭建免費的ftp伺服器FTP伺服器
- Linux下搭建FTP伺服器教程LinuxFTP伺服器
- Linux篇---ftp伺服器的搭建LinuxFTP伺服器
- 在 Ubuntu 下如何安裝 vsftpd FTP?UbuntuFTP
- 搭建web伺服器和ftp伺服器的區別Web伺服器FTP
- 如何快速搭建ftp伺服器(詳細教程)FTP伺服器
- FTP伺服器 Serv-u 環境搭建FTP伺服器
- Centos7下搭建FTP檔案伺服器CentOSFTP伺服器
- 使用FileZilla Server輕鬆搭建個人FTP伺服器ServerFTP伺服器
- docker搭建vsftpd服務DockerFTP
- 案例:vsftpd伺服器FTP伺服器
- Linux下FTP環境部署梳理(vsftpd和proftpd)LinuxFTP
- VSFTPD 引數知多少(linux FTP 引數)FTPLinux
- windows搭建ftpWindowsFTP
- VSFTPD錯誤的解決 500 OOPS: vsftpd: cannot locate user specified in ftp_usernaFTPOOP
- linux下ftp伺服器的簡單的搭建LinuxFTP伺服器
- FTP伺服器搭建踩坑和工具類實現FTP伺服器
- 伺服器FTP工具,Windows伺服器FTP工具伺服器FTPWindows
- FTP服務搭建FTP
- ubuntu1804搭建FTP伺服器的方法UbuntuFTP伺服器
- 用Python快速搭建http伺服器和FTP伺服器的步驟PythonHTTP伺服器FTP
- Ubuntu上ftp的vsftpd.conf檔案的配置UbuntuFTP
- vsftpd伺服器配置與使用FTP伺服器