系統版本linux |
IP地址shell |
安裝方式windows |
ftp版本瀏覽器 |
CentOS6.9app |
10.0.0.8tcp |
yumide |
vsftpd-2.2.2-24測試 |
ftp工做會啓動兩個通道:spa
控制通道,數據通道命令行
在ftp協議中,控制鏈接均是由客戶端發起的,而數據鏈接有兩種模式:port模式(主動模式)和pasv(被動模式)
在客戶端須要接收數據時,ftp_client(大於1024的隨機端口)----port命令-----ftp_server(21)發送port命令,這個port命令包含了客戶端是用什麼端口來接收數據(大於1024的隨機端口),在傳送數據時,ftp_server將經過本身的tcp 20端口和port中包含的端口創建新的鏈接來傳送數據。
傳送數據時,ftp_client---pasv命令---ftp_server(21)發送pasv命令時,ftp_server自動打開一個1024--5000之間的隨機端口而且通知ftp_client在這個端口上傳送數據,而後客戶端向指定的端口發出請求鏈接,創建一條數據鏈路進行數據傳輸。
# rpm -qa vsftpd #檢查是否已安裝
# yum -y install vsftpd
# chkconfig --level 35 vsftpd on #設置開機自啓動
# chkconfig --list|grep vsftpd #檢查開機是不是自動啓動
# rpm -ql vsftpd
/etc/logrotate.d/vsftpd #vsftpd的日誌文件
/etc/pam.d/vsftpd #PAM認證文件
/etc/rc.d/init.d/vsftpd #啓動腳本
/etc/vsftpd #vsftpd的配置文件存放目錄
/etc/vsftpd/ftpusers #禁止使用vsftpd的用戶列表文件
/etc/vsftpd/user_list #禁止或容許使用vsftpd的用戶列表文件
/etc/vsftpd/vsftpd.conf #ftp的主配置文件
/etc/vsftpd/vsftpd_conf_migrate.sh #vsftpd操做的一些變量和設置
/var/ftp #匿名用戶目錄
/var/ftp/pub 匿名用戶的下載目錄
×××部分爲添加的,紅色爲修改的
anonymous_enable=NO #是否開啓匿名登陸
local_enable=YES #是否容許本地用戶登陸
write_enable=YES #是否容許上傳
local_umask=022 #默認的umask碼
dirmessage_enable=YES #是否顯示目錄說明文件
xferlog_enable=YES #是否記錄ftp傳輸過程
connect_from_port_20=YES #是否肯定端口傳輸來自20
xferlog_std_format=YES #是否使用標準的ftp xferlog模式
chroot_list_enable=YES #是否將系統用戶限制在本身的home目錄下
chroot_list_file=/etc/vsftpd/chroot_list #列表不受限制的用戶
listen=YES #是否開啓監聽
pam_service_name=vsftpd #服務名稱
userlist_enable=YES
tcp_wrappers=YES
# setenforce 0
# sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config
建立用戶後修改用戶的shell爲nologin,讓用戶不能登陸系統,只能使用ftp以內的服務
# useradd -d /home/ftp/test -g ftp -s /sbin/nologin test
# echo 123456|passwd --stdin test #設置密碼
# touch /etc/vsftpd/chroot_list
# echo test >>/etc/vsftpd/chroot_list
# /etc/init.d/vsftpd start
在文件夾路徑框輸入:ftp://10.0.0.8 按回車登錄
瀏覽器裏輸入ftp://10.0.0.8/ 輸入用戶名test和密碼123456進行測試
打開windows cmd窗口輸入:ftp 10.0.0.8 按回車輸入用戶名和密碼登錄
好比xftp客戶端登錄
max_client=100 #vsftpd最大支持連接數100個ip
max_per=5 #每一個ip能支持的5個連接
local_max_rate=81920 #限制傳輸速度
listen_address=ip #綁定某個ip到vsftpd,只容許該ip訪問
xferlog_file=/var/log/vsftpd.log #日誌存放位置
[root@oldboyedu45-wang ~]# service vsftpd start
爲 vsftpd 啓動 vsftpd:500 OOPS: bad bool value in config file for: chroot_list_enable
[失敗]
此報錯時因爲chroot_list_enable後面有空格致使的