CentOS7 配置 vsftpd 服務
阿新 • • 發佈:2018-11-09
1、安裝vsftpd
yum install -y vsftpd
2、編輯配置檔案
vi /etc/vsftpd/vsftpd.conf
#是否開啟匿名使用者,匿名都不安全,不要開
anonymous_enable=NO
#允許本機賬號登入FTP
local_enable=YES
#允許賬號都有寫操作
write_enable=YES
#local_umask的意思是指:
# 檔案目錄許可權:777-022=755
# 檔案許可權:666-022=644
# 這有點反人類了,並且沒有人跟我說是減去的。注意理解!!!
local_umask=022
#匿名使用者是否有上傳檔案的功能,不要開
#anon_upload_enable=YES
#匿名使用者是否有建立資料夾的功能,不要開
#anon_mkdir_write_enable=YES
#進入某個目錄的時候,是否在客戶端提示一下
dirmessage_enable=YES
#日誌記錄
xferlog_enable=YES
#開放port模式的20埠的連線
connect_from_port_20=YES
#允許沒人認領的檔案上傳的時候,更改掉所屬使用者
#chown_uploads=YES
#chown_uploads=YES的前提下,所屬的使用者
#chown_username=whoever
#日誌存放的地方
#xferlog_file=/var/log/xferlog
#日誌成為std格式
xferlog_std_format=YES
#使用者多久不管,伺服器會主動斷開連線,單位秒
#idle_session_timeout=600
#資料連線超時
#data_connection_timeout=120
#以 ftpsecure 作為此一服務執行者的許可權。
#因為 ftpsecure 的許可權相當的低,因此即使被入侵,入侵者僅能取得nobody 的許可權喔!
#nopriv_user=ftpsecure
#非同步停用,由客戶發起
#async_abor_enable=YES
#使用ascii格式上傳檔案
#ascii_upload_enable=YES
#使用ascii格式下載檔案
#ascii_download_enable=YES
#歡迎詞
#ftpd_banner=Welcome to blah FTP service.
#以anonymous使用者登入時候,是否禁止掉名單中的emaill密碼。
#deny_email_enable=YES
#以anonymous使用者登入時候,所禁止emaill密碼名單。
#banned_email_file=/etc/vsftpd/banned_emails
#限制使用者只能在自己的目錄活動
chroot_local_user=YES
#例外名單,如果是YES的話,這個有點怪,不懂別亂開,上面的選項會跟這個名單反調(會被上面的選項影響)。
#chroot_list_enable=YES
#chroot_list_file=/etc/vsftpd/chroot_list
#是否允許使用ls -R等命令
ls_recurse_enable=NO
#監聽ipv4埠,開了這個就說明vsftpd可以獨立執行,不用依賴其他服務。
listen=YES
#監聽ipv6埠,還沒普及呢!
# listen_ipv6=YES
#pam模組的名稱,放置在 /etc/pam.d/vsftpd ,認證用
pam_service_name=vsftpd
#使用允許登入的名單
userlist_enable=YES
#限制允許登入的名單,前提是userlist_enable=YES,其實這裡有點怪~!
userlist_deny=NO
#允許 限制在自己的目錄活動的使用者 擁有寫許可權
allow_writeable_chroot=YES
#Tcp wrappers : Transmission Control Protocol (TCP) Wrappers 為由 inetd 生成的服務提供了增強的安全性。
tcp_wrappers=YES
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
- 45
- 46
- 47
- 48
- 49
- 50
- 51
- 52
- 53
- 54
- 55
- 56
- 57
- 58
- 59
- 60
- 61
- 62
- 63
- 64
- 65
- 66
- 67
- 68
- 69
- 70
- 71
- 72
- 73
- 74
- 75
- 76
- 77
- 78
- 79
- 80
- 81
- 82
- 83
- 84
- 85
- 86
- 87
- 88
- 89
- 90
- 91
- 92
- 93
- 94
- 95
- 96
- 97
- 98
- 99
- 100
- 101
- 102
- 103
- 104
- 105
- 106
- 107
乾淨版:
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
#anon_upload_enable=YES
#anon_mkdir_write_enable=YES
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
#chown_uploads=YES
#chown_username=whoever
#xferlog_file=/var/log/xferlog
xferlog_std_format=YES
#idle_session_timeout=600
#data_connection_timeout=120
#nopriv_user=ftpsecure
#async_abor_enable=YES
#ascii_upload_enable=YES
#ascii_download_enable=YES
#ftpd_banner=Welcome to blah FTP service.
#deny_email_enable=YES
#banned_email_file=/etc/vsftpd/banned_emails
chroot_local_user=YES
#chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
ls_recurse_enable=NO
listen=YES
# listen_ipv6=YES
pam_service_name=vsftpd
userlist_enable=YES
userlist_deny=NO
allow_writeable_chroot=YES
tcp_wrappers=YES
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
3、新增使用者和密碼
useradd -d /home/helloftp -s /bin/bash helloftp
passwd helloftp
- 1
- 2
4、編輯/etc/vsftpd/user_list
這個是執行登入ftp的名單
在檔案最後加上 helloftp
5、(避免影響,能連上再開) 關閉selinux和iptables
setenforce 0
service firewalld stop
service iptables stop
- 1
- 2
- 3
6、啟動服務與設定開機啟動ftp
systemctl start vsftpd.service
systemctl enable vsftpd.service
特別注意:
設定了 chroot_local_user=YES
後,使用者不能登入
原因是 沒設定 allow_writeable_chroot=YES
然後用 FileZilla 折騰吧!。加密方式:普通FTP,我被坑過好幾次了!
FTP有兩種模式:
1、主動模式(port)
1、客戶用 客戶埠A 連線 FTP服務 的 21 埠。
2、客戶 主動扔一個 客戶埠B 給FTP伺服器。
3、告訴伺服器說:“伺服器啊,你以後就往 客戶埠B 傳輸資料,我以後就往你的 伺服器20埠 傳輸資料”。
其次解析:
FTP服務的port模式 只有兩個埠:20 和 21。
伺服器20埠:負責傳輸資料
伺服器21埠:負責溝通與控制
客戶埠:
客戶埠A:一個任意的非特權埠(埠號大於1024)
客戶埠B:等於 客戶埠A + 1
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
2、被動模式(PASV)
1、客戶端開啟兩個埠: 客戶埠A、 客戶埠B
2、客戶 用 客戶埠A 連線 FTP服務21埠
3、提交PASV命令,伺服器 返回一個 FTP服務埠B
4、客戶 用 客戶埠B 連線 FTP服務埠B
其次解析:
FTP服務的PASV模式 只有兩個埠:FTP服務埠B 和 21。
伺服器B埠: 負責傳輸資料 ----------- 一個任意的非特權埠(埠號大於1024)
伺服器21埠:負責溝通與控制
客戶埠:
客戶埠A:一個任意的非特權埠(埠號大於1024)
客戶埠B:等於 客戶埠A + 1
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
主動模式優點:如果設定防火牆的時候,我只需要開放 20 和 21埠即可了。
被動模式優點:伺服器擁有主導權。令客戶連線我的哪個埠就哪個埠,比較安全。
1、安裝vsftpd
yum install -y vsftpd