FTP部署與使用


1.1 環境檢查

[root@www ~]# cat /etc/redhat-release     #系統版本,6系列等區別不大,都可以
CentOS Linux release 7.5.1804 (Core)
[root@www ~]# uname -r
3.10.0-862.9.1.el7.x86_64
[root@www ~]# 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)
[root@www ~]# getenforce                  #檢查selinux是否關閉
Disabled

1.2 安裝並配置

#直接粘貼配置就可以使用

[root@www ~]# yum -y install vsftpd                #直接yum安裝
[root@www ~]# cd /etc/vsftpd/        
[root@www vsftpd]# cp vsftpd.conf vsftpd.conf.bak  #編輯配置文件前一定記得備份,養成好習慣
[root@www ~]# vim /etc/vsftpd/vsftpd.conf          #編輯主配置文件
#開啟匿名
anonymous_enable=no
#--------------------本地用戶權限設置------------------------------
#本地賬戶可以登錄
local_enable=YES
#本地帳戶登陸后可以刪除和修改文件
write_enable=NO
#允許鎖定的用戶有寫的權限
allow_writeable_chroot=yes
#當本地用戶登入時,將被更換到定義的目錄下。默認值為各用戶的家目錄
local_root=/data/sprixin
#ftp上本地文件權限
local_umask=022
#本地用戶上傳檔案后的檔案權限,與chmod 所使用的數值相同。默認值為0666
file_open_mode=0755
pam_service_name=vsftpd
#--------------------控制用戶是否允許切換到上級目錄---------------
#設置是否啟用chroot_list_file配置項指定的用戶列表文件。默認值為NO。
chroot_list_enable=no
#用於指定用戶列表文件,該文件用於控制哪些用戶可以切換到用戶家目錄的上級目錄。
chroot_list_file=/etc/vsftpd.chroot_list
#用於指定用戶列表文件中的用戶是否允許切換到上級目錄。默認值為NO。
chroot_local_user=YES
#---------------------歡迎語設置-----------------------------------
#訪問ftp時的說明文件
dirmessage_enable=NO
#設置目錄消息文件,可將要顯示的信息寫入該文件。默認值為.message。
message_file=.message
#當使用者登入時,會顯示此設定所在的檔案內容,通常為歡迎話語或是說明.
banner_file=/etc/vsftpd/banner
#---------------------日志文件設置---------------------------------
#啟用上傳和下載的日志S
xferlog_enable=YES
#使用標准的日志格式
xferlog_std_format=yes
#日志路徑
xferlog_file=/var/log/vsftpd.log
#如果啟用此選項,所有的FTP請求和響應都會被記錄到日志中,默認日志文件在/var/log/vsftpd.log。啟用此選項時,xferlog_std_format不能被激活。這個選項有助於調試。默認值為NO。
#log_ftp_protocol=YES
#---------------------FTP工作方式與端口設置-------------------------
#啟用ftp數據端口的數據連接
connect_from_port_20=YES
#設置FTP服務器建立連接所監聽的端口,默認值為21。
listen_port=21
#將客戶端的數據連接端口改在50000—60000之間
#在PASV工作模式下,數據連接可以使用的端口范圍的最大端口,0 表示任意端口。默認值為0。
pasv_min_port=50000
# 在PASV工作模式下,數據連接可以使用的端口范圍的最小端口,0 表示任意端口。默認值為0。
pasv_max_port=60000
#若設置為YES,則使用PASV工作模式;若設置為NO,則使用PORT模式。默認值為YES,即使用PASV工作模式
pasv_enable=YES
#----------------------與連接相關的設置------------------------------
#設置vsftpd服務器是否以standalone模式運行
listen=YES
#以下只有在standalone模式運行才有效
# (ftp的最大連接數)
max_clients=200
# (每ip的最大連接數) 
max_per_ip=0
#設置每個與FTP服務器的連接,是否以不同的進程表現出來
setproctitle_enable=YES
#------------------------訪問控制------------------------------------
#兩種控制方式:一種控制主機訪問,另一種控制用戶訪問。
tcp_wrappers=YES
#配合系統的文件進行訪問控制,類似簡易防火牆,限制訪問(/etc/hosts.allow,/etc/hosts.deny)
userlist_enable=NO
#是否啟用用戶控制文件
userlist_file=/etc/vsftpd.user_list
#控制用戶訪問FTP的文件,里面寫着用戶名稱。一個用戶名稱一行。
userlist_deny=NO
#若設置為YES,則vsftpd.user_list文件中的用戶不允許訪問FTP,若設置為NO,則只有vsftpd.user_list文件中的用戶才能訪問FTP。
#-----------------------訪問速率------------------------------------
#本地用戶使用的最大傳輸速度,單位為B/s,0 表示不限制速度。預設值為0。
#下載速度9M
local_max_rate=10000000
#-----------------------超時時間設置-------------------------------
# (用戶會話空閑后10分鍾)                                                                 
idle_session_timeout=600
#  (將數據連接空閑2分鍾斷)
data_connection_timeout=120
#  (將客戶端空閑1分鍾后斷)
accept_timeout=60
#  (中斷1分鍾后又重新連接)
connect_timeout=60
#----------------------數據傳輸模式設置----------------------------
#FTP在傳輸數據時,可以使用二進制方式,也可以使用ASCII模式來上傳或下載數據。
ascii_upload_enable=NO
#設置是否啟用ASCII 模式上傳數據。默認值為NO。
ascii_download_enable=NO
#設置是否啟用ASCII 模式下載數據。默認值為NO。
#-----------------------其他設置-----------------------------------------
#顯示用戶名和組名
text_userdb_names=YES
#不可以查看當前目錄下子目錄中的文件
ls_recurse_enable=NO
#如果設置為NO,所有的文件都不能下載到本地,文件夾不受影響。默認值為YES。
download_enable=NO

#創建ftp用戶

[root@www vsftpd]# useradd ftpuser -s /sbin/nologin   #禁止登錄系統
[root@www vsftpd]# passwd ftpuser        #設置ftpuser密碼,我這里是123456輸入兩次
Changing password for user ftpuser.
New password: 
BAD PASSWORD: The password is shorter than 8 characters
Retype new password: 
passwd: all authentication tokens updated successfully.

#ftp用戶加入user_list允許訪問

[root@www vsftpd]# echo ftpuser >>/etc/vsftpd/user_list  
[root@www vsftpd]# echo ftpuser >>/etc/vsftpd/chroot_list

#啟動vsftpd

[root@www vsftpd]# systemctl start vsftpd
[root@www vsftpd]# netstat -lntup|grep 21  #檢查是否監聽
tcp6       0      0 :::21           :::*           LISTEN      13837/vsftpd

1.3 使用瀏覽器訪問或者ftp工具

瀏覽器輸入:ftp://IP地址   輸入賬號:ftpuser   密碼:123456


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM