Linux-Ftp服務

前言:

FTP是一種在互聯網中進行文件傳輸的協議,基於客戶端/服務器模式,默認使用20、21號端口,其中端口20(數據端口)用於進行數據傳輸,端口21(命令端口)用於接受客戶端發出的相關FTP命令與參數。
FTP協議有以下面兩種工作模式:
主動模式:FTP服務器主動向客戶端發起連接請求。
被動模式:FTP服務器等待客戶端發起連接請求(FTP的默認工作模式)。
FTP服務(vsftpd)是一款運行在Linux操作系統上的FTP服務程序,不僅完全開源而且免費,此外,還具有很高的安全性、傳輸速度,以及支持虛擬用戶驗證等。

安裝及配置:

1.配置yum源(略);雲服務器默認已配置網絡yum源
2.採用yum安裝
[root@VM_0_3_centos ~]# yum install vsftpd
[root@VM_0_3_centos ~]# rpm -ql vsftpd (查看配置文件)
/etc/logrotate.d/vsftpd ------>日誌輪詢
/etc/pam.d/vsftpd ------>認證機制
/etc/vsftpd ------>服務主目錄
/etc/vsftpd/ftpusers ------>用戶訪問控制列表(黑名單)
/etc/vsftpd/user_list ------>用戶訪問控制列表(可黑可白|默認是黑名單)
/etc/vsftpd/vsftpd.conf ------>主配置文件

[root@VM_0_3_centos ~]# nl /etc/vsftpd/vsftpd.conf
注:vsftpd服務程序的主配置文件(/etc/vsftpd/vsftpd.conf)內容總長度達到127行,但其中大多數參數在開頭都添加了井號(#),從而成爲註釋信息。爲了配置文件的簡潔明瞭我們可以在grep命令後面添加-v參數,過濾並反選出沒有包含井號(#)的參數行(即過濾掉所有的註釋信息),然後將過濾後的參數行通過輸出重定向符寫回原始的主配置文件中:
[root@VM_0_3_centos ~]# mv /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf_bak
注:無論在操作修改任何應用的文件時,先備份源文件,然後再進行修改
[root@VM_0_3_centos ~]# mv /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf_bak
[root@VM_0_3_centos ~]# grep -v “#” /etc/vsftpd/vsftpd.conf_bak > /etc/vsftpd/vsftpd.conf
[root@VM_0_3_centos ~]# cat /etc/vsftpd/vsftpd.conf
anonymous_enable=YES ------>默認允許匿名用戶訪問
local_enable=YES ------>允許本地用戶訪問
write_enable=YES ------>寫總開關(本地用戶)
local_umask=022 ------>本地用戶的默認權限
dirmessage_enable=YES ------>開啓消息功能 .messages
xferlog_enable=YES ------>開啓日誌功能
connect_from_port_20=YES ------>支持主動模式(默認被動模式)
xferlog_std_format=YES ------>日誌格式
listen=NO ------>是否以獨立服務運行
listen_ipv6=YES
pam_service_name=vsftpd ------>認證服務名
userlist_enable=YES ------>開啓用戶列表
tcp_wrappers=YES ------>支持tcp_wrappsers功能,類似防火牆,但是沒有防火牆功能強大
vsftpd常用參數說明:

listen_port=21 設置FTP服務的監聽端口
download_enable=[YES/NO] 是否允許下載文件
userlist_enable=[YES/NO]userlist_deny=[YES/NO] 設置用戶列表爲“允許”還是“禁止”操作
max_clients=0 最大客戶端連接數,0爲不限制
max_per_ip=0 同一IP地址的最大連接數,0爲不限制
anonymous_enable=[YES/NO] 是否允許匿名用戶訪問
anon_upload_enable=[YES/NO] 是否允許匿名用戶上傳文件
anon_umask=022 匿名用戶上傳文件的umask值
anon_root=/var/ftp 匿名用戶的FTP根目錄
anon_mkdir_write_enable=[YES/NO] 是否允許匿名用戶創建目錄
local_enable=[YES/NO] 是否允許本地用戶登錄FTP
local_umask=022 本地用戶上傳文件的umask值
local_root=/var/ftp 本地用戶的FTP根目錄
chroot_local_user=[YES/NO] 是否將用戶權限禁錮在FTP目錄,以確保安全
local_max_rate=0 本地用戶最大傳輸速率(字節/秒),0爲不限制

配置只允許本地用戶模式訪問:

1.創建ftp本地用戶:
[root@VM_0_3_centos ~]# useradd -s /sbin/nologin luke
[root@VM_0_3_centos ~]# passwd luke
2.創建ftp本地目錄
[root@VM_0_3_centos ~]# mkdir /data/ftp
3.修改配置文件
創建白名單文件(當用戶在下面文件中時可以切換目錄)
[root@VM_0_3_centos vsftpd]# touch /etc/vsftpd/chroot_list
[root@VM_0_3_centos ~]# vim /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=NO
listen_ipv6=YES
local_root=/data/ftp
userlist_enable=YES
userlist_deny=YES
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
注:chroot_local_user=YES將所有用戶限定在主目錄內,chroot_list_enable=YES表示要啓用chroot_list_file, 因爲chroot_local_user=YES,即全體用戶都被“限定在主目錄內”,所以總是作爲“例外列表”的chroot_list_file這時列出的是那些“不會被限制在主目錄下”的用戶
4.啓動服務進行驗證
[root@VM_0_3_centos ~]# systemctl start vsftpd
安裝ftp客戶端
[root@VM_0_3_centos ~]# yum install ftp

[root@VM_0_3_centos vsftpd]# ftp 175.24.110.75
Connected to 175.24.110.75 (175.24.110.75).
220 (vsFTPd 3.0.2)
Name (175.24.110.75:root): luke
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
227 Entering Passive Mode (175,24,110,75,127,150).
150 Here comes the directory listing.
226 Directory send OK.
ftp> pwd
257 “/”
ftp> cd /
250 Directory successfully changed.
ftp> lls
?Invalid command
ftp> ls
227 Entering Passive Mode (175,24,110,75,37,130).
150 Here comes the directory listing.
226 Directory send OK.
ftp> ls
227 Entering Passive Mode (175,24,110,75,210,159).
150 Here comes the directory listing.
226 Directory send OK.
ftp> cd /var/
550 Failed to change directory.
ftp>

注:此處只列舉一種模式需求配置,另外需求根據參數說明進行配置。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章