文章目錄
- 環境說明
- 服務器配置
- FTP組態檔說明
- 服務端配置
- 客戶端測驗
- Windows客戶端測驗
- Linux客戶端測驗
環境說明
| 主機系統 | 系統版本 | IP地址 | |
|---|---|---|---|
| 服務端 | Linux | RHEL 7.0 | 192.168.43.128/24 |
| 客戶端 | Linux | RHEL 7.4 | 192.168.43.15/24 |
| 客戶端 | Windows 11 | Windows 11 | 192.168.43.1/24 |
- 基本環境配置參考【DHCP服務搭建】
- IP地址配置
- YUM倉庫配置
- 防火墻、SELinux配置
- 參考博客【linux中ftp組態檔詳解】
服務器配置
- 安裝FTP服務軟體包
[root@Server ~]# yum -y install vsftpd.x86_64
Loaded plugins: langpacks, product-id, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
Base | 4.1 kB 00:00
Resolving Dependencies
--> Running transaction check
---> Package vsftpd.x86_64 0:3.0.2-22.el7 will be installed
--> Finished Dependency Resolution
...
Running transaction
Installing : vsftpd-3.0.2-22.el7.x86_64 1/1
Verifying : vsftpd-3.0.2-22.el7.x86_64 1/1
Installed:
vsftpd.x86_64 0:3.0.2-22.el7
Complete!
[root@Server ~]#
- 設定FTP服務開機自啟動,并設定防火墻放行規則
[root@Server ~]# systemctl enable vsftpd
ln -s '/usr/lib/systemd/system/vsftpd.service' '/etc/systemd/system/multi-user.target.wants/vsftpd.service'
[root@Server ~]# firewall-cmd --list-all
public (default, active)
interfaces: eno16777736
sources:
services: dhcp dhcpv6-client dns http samba ssh
ports:
masquerade: no
forward-ports:
icmp-blocks:
rich rules:
[root@Server ~]# firewall-cmd --permanent --add-service="ftp"
success
[root@Server ~]# firewall-cmd --reload
success
[root@Server ~]# firewall-cmd --list-all
public (default, active)
interfaces: eno16777736
sources:
services: dhcp dhcpv6-client dns ftp http samba ssh
ports:
masquerade: no
forward-ports:
icmp-blocks:
rich rules:
[root@Server ~]#
FTP組態檔說明
- 組態檔
[root@Server ~]# cd /etc/vsftpd/
[root@Server vsftpd]# ls
ftpusers user_list vsftpd.conf vsftpd_conf_migrate.sh
ftpusers # 禁止登錄的FTP用戶
user_list # 允許登錄的FTP用戶
vsftpd.conf # FTP主組態檔
- 主組態檔說明
[root@Server ~]# vim /etc/vsftpd/vsftpd.conf
# 控制是否允許匿名用戶登錄,YES允許,NO不允許,默認值為YES
anonymous_enable=YES|NO
# 設定匿名用戶的根目錄,即匿名用戶登入后,被定位到此目錄下,主組態檔中默認無此項,默認值為/var/ftp/
anon_root=
# 是否允許本地用戶登錄FTP服務器,默認為NO
local_enable=YES
# 是否對登錄用戶開啟寫權限,屬全域性設定,默認NO
write_enable=YES
# 定義匿名用戶的賬戶名稱,默認值為ftp
ftp_username=ftp
# 設定本地用戶新增檔案的umask,默認為022,對應的權限為755
local_umask=022
# 登入FTP服務器的歡迎語
ftpd_banner=Welcome to Bad’s FTP.
# 設定用戶登錄時,將要顯示輸出的檔案,該設定項將覆寫ftpd_banner的設定
dirmessage_enable=YES
# 設定是否顯示目錄訊息,若設定為YES,則當用戶進入特定目錄(比如/var/ftp/linux)時,將顯示該目錄中的
# 由message_file配置項指定的檔案(.message)中的內容
message_file=.message
# 指定FTP資料傳輸連接使用20埠
connect_from_port_20=YES
# 是否啟用上傳/下載日志記錄
xferlog_enable=YES
# 設定日志檔案名及路徑,需啟用xferlog_enable選項
xferlog_file=var/log/vsftpd.log
# 日志檔案是否使用標準的xferlog日志檔案格式
xferlog_std_format=YES
# 設定vsftpd服務器是否以standalone模式運行,以standalone模式運行是一種較好的方式,此時listen必須設定為YES,
# 此為默認值,建議不要更改,很多與服務器運行相關的配置命令,需要此運行模式才有效,若設定為NO,則vsftpd不是
# 以獨立的服務運行,要受xinetd服務的管理控制,功能上會受限制
listen=NO
# 設定是否偵聽IPv6的地址
listen_ipv6=YES
# 設定在PAM所使用的名稱,默認值為vsftpd
pam_service_name=vsftpd
# 決定/etc/vsftpd/user_list檔案是否啟用生效,YES則生效,NO不生效
userlist_enable=YES
# 決定/etc/vsftpd/user_list檔案中的用戶是允許訪問還是不允許訪問,若設定為YES,則/etc/vsftpd/user_list檔案中
# 的用戶將不允許訪問FTP服務器;若設定為NO,則只有vsftpd.user_list檔案中的用戶,才能訪問FTP服務器
userlist_deny=NO
# 設定vsftpd服務器是否與tcp wrapper相結合,進行主機的訪問控制,默認設定為YES,vsftpd服務器會檢查/etc/hosts.allow
# 和/etc/hosts.deny中的設定,以決定請求連接的主機是否允許訪問該FTP服務器
tcp_wrappers=YES
# 最大允許連接的IP數量
max_per_ip=2
# 最大傳輸速率為500kbit/s
local_max_rate=500
服務端配置
- 創建FTP登錄的用戶,并設定密碼
[root@Server vsftpd]# useradd ftp1
[root@Server vsftpd]# useradd ftp2
[root@Server vsftpd]# echo "123" | passwd --stdin ftp1
Changing password for user ftp1.
passwd: all authentication tokens updated successfully.
[root@Server vsftpd]# echo "123" | passwd --stdin ftp2
Changing password for user ftp2.
passwd: all authentication tokens updated successfully.
- 修改允許用戶登入的檔案和禁止用戶登入的檔案
- 在檔案的最后一行加入用戶名
[root@Server vsftpd]# vim ftpusers
ftp1
[root@Server vsftpd]# vim user_list
ftp2
- 重新啟動FTP服務
[root@Server vsftpd]# systemctl restart vsftpd.service
客戶端測驗
- FTP常用命令
1. open:與服務器相連接;
2. send(put):上傳檔案;
3. get:下載檔案;
4. mget:下載多個檔案;
5. cd:切換目錄;
6. dir:查看當前目錄下的檔案;
7. del:洗掉檔案;
8. bye:中斷與服務器的連接
Windows客戶端測驗

Linux客戶端測驗


- 在服務端配置,禁止Linux客戶端(192.168.43.15)訪問FTP服務器
- 也可以配置允許哪些IP的主機訪問
[root@Server vsftpd]# vim /etc/hosts.deny
[root@Server vsftpd]# tail -1 /etc/hosts.deny
vsftpd:192.168.43.15/255.255.255.255
[root@Server vsftpd]#
- 在Linux客戶端再次訪問,則無法訪問

以上內容均屬原創,如有不詳或錯誤,敬請指出,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/394120.html
標籤:其他
上一篇:【實戰模擬】使用Kali Linux進行域名決議——模擬測驗
下一篇:DNS服務器搭建
