CentOS6.9中搭建FTP服務器的方法
1 基本環境
2 ftp工作模式
2.1 ftp通道
ftp工作會啟動兩個通道:
控制通道,數據通道
在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 #是否確定端口傳輸來自20xferlog_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=YEStcp_wrappers=YES
5.2 關閉selinux
# setenforce 0# sed -i "s#SELINUX=enforcing#SELINUX=disabled#g" /etc/selinux/config
6 創建虛擬用戶
6.1 創建一個用戶
創建用戶后修改用戶的shell為nologin,讓用戶不能登錄系統,只能使用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最大支持鏈接數100個ipmax_per=5 #每個ip能支持的5個鏈接local_max_rate=81920 #限制傳輸速度listen_address=ip #綁定某個ip到vsftpd,只允許該ip訪問xferlog_file=/var/log/vsftpd.log #日志存放位置
8 常見報錯
8.1 報錯1
[root@oldboyedu45-wang ~]# service vsftpd start
為 vsftpd 啟動 vsftpd:500 OOPS: bad bool value in config file for: chroot_list_enable [失敗]
此報錯時由于chroot_list_enable后面有空格導致的
總結
以上所述是小編給大家介紹的CentOS6.9中搭建FTP服務器的方法,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回復大家的!
相關文章:
1. centos7防火墻如何設置只對部分端口號限源2. centos7之如何進行ip和端口限制3. centos環境下使用tomcat 部署SpringBoot的war包4. Win11安裝VMware Workstation Pro,Centos,Xshell,Xftp圖文教程(Linux學習必備)5. 在centos7安裝zabbix3.0的超詳細步驟記錄6. Centos7防火墻放行指定IP和端口方式7. centos7下如何安裝ftp服務8. CentOS7防火墻和端口相關命令介紹9. 紅帽RHEL8和7的區別對比分享(Centos8與7參照redhat)10. CentOS環境下Nginx配置SSL證書實現https請求詳解