CentOS6.9中搭建FTP服務器

1 基本環境

系統版本linux

IP地址shell

安裝方式windows

ftp版本瀏覽器

CentOS6.9app

10.0.0.8tcp

yumide

vsftpd-2.2.2-24測試

2 ftp工做模式

2.1 ftp通道

ftp工做會啓動兩個通道:spa

控制通道,數據通道命令行

ftp協議中,控制鏈接均是由客戶端發起的,而數據鏈接有兩種模式:port模式(主動模式)和pasv(被動模式)

2.2 port模式

在客戶端須要接收數據時,ftp_client(大於1024的隨機端口)----port命令-----ftp_server(21)發送port命令,這個port命令包含了客戶端是用什麼端口來接收數據(大於1024的隨機端口),在傳送數據時,ftp_server將經過本身的tcp 20端口和port中包含的端口創建新的鏈接來傳送數據。

2.3 pasv模式

傳送數據時,ftp_client---pasv命令---ftp_server(21)發送pasv命令時,ftp_server自動打開一個1024--5000之間的隨機端口而且通知ftp_client在這個端口上傳送數據,而後客戶端向指定的端口發出請求鏈接,創建一條數據鏈路進行數據傳輸。

3 安裝vsftp

# rpm -qa vsftpd     #檢查是否已安裝

# yum -y install vsftpd

# chkconfig --level 35 vsftpd on     #設置開機自啓動

# chkconfig --list|grep vsftpd       #檢查開機是不是自動啓動

4 ftp文件說明

# 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             匿名用戶的下載目錄

5 配置ftp

5.1 vsftpd.conf文件參數說明

×××部分爲添加的,紅色爲修改的

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

5.2 關閉selinux

# setenforce 0

# sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config

6 建立虛擬用戶

6.1 建立一個用戶

建立用戶後修改用戶的shellnologin,讓用戶不能登陸系統,只能使用ftp以內的服務

# useradd -d /home/ftp/test -g ftp -s /sbin/nologin test

# echo 123456|passwd --stdin test  #設置密碼

6.2 將用戶test添加到chroot_list

# touch /etc/vsftpd/chroot_list  

# echo test >>/etc/vsftpd/chroot_list

6.3 啓動vsftp服務

# /etc/init.d/vsftpd start

6.4 登錄ftp方式

6.4.1 文件夾登錄

在文件夾路徑框輸入:ftp://10.0.0.8 按回車登錄

                                             

6.4.2 瀏覽器登錄

 

瀏覽器裏輸入ftp://10.0.0.8/    輸入用戶名test和密碼123456進行測試

6.4.3 cmd命令行登錄

打開windows cmd窗口輸入:ftp 10.0.0.8 按回車輸入用戶名和密碼登錄

6.4.4 第三方客戶端登錄

好比xftp客戶端登錄

7 其餘參數說明

max_client=100              #vsftpd最大支持連接數100ip

max_per=5                  #每一個ip能支持的5個連接

local_max_rate=81920         #限制傳輸速度

listen_address=ip              #綁定某個ipvsftpd,只容許該ip訪問

xferlog_file=/var/log/vsftpd.log   #日誌存放位置

8 常見報錯

8.1 報錯1

[root@oldboyedu45-wang ~]# service vsftpd start

vsftpd 啓動 vsftpd500 OOPS: bad bool value in config file for: chroot_list_enable

                                                           [失敗]

此報錯時因爲chroot_list_enable後面有空格致使的

相關文章
相關標籤/搜索