CentOS6.9中搭建FTP服務(wù)器的方法
1 基本環(huán)境
2 ftp工作模式
2.1 ftp通道
ftp工作會(huì)啟動(dòng)兩個(gè)通道:
控制通道,數(shù)據(jù)通道
在ftp協(xié)議中,控制連接均是由客戶(hù)端發(fā)起的,而數(shù)據(jù)連接有兩種模式:port模式(主動(dòng)模式)和pasv(被動(dòng)模式)
2.2 port模式
在客戶(hù)端需要接收數(shù)據(jù)時(shí),ftp_client(大于1024的隨機(jī)端口)----port命令-----ftp_server(21)發(fā)送port命令,這個(gè)port命令包含了客戶(hù)端是用什么端口來(lái)接收數(shù)據(jù)(大于1024的隨機(jī)端口),在傳送數(shù)據(jù)時(shí),ftp_server將通過(guò)自己的tcp 20端口和port中包含的端口建立新的連接來(lái)傳送數(shù)據(jù)。
2.3 pasv模式
傳送數(shù)據(jù)時(shí),ftp_client---pasv命令---ftp_server(21)發(fā)送pasv命令時(shí),ftp_server自動(dòng)打開(kāi)一個(gè)1024--5000之間的隨機(jī)端口并且通知ftp_client在這個(gè)端口上傳送數(shù)據(jù),然后客戶(hù)端向指定的端口發(fā)出請(qǐng)求連接,建立一條數(shù)據(jù)鏈路進(jìn)行數(shù)據(jù)傳輸。
3 安裝vsftp
# rpm -qa vsftpd #檢查是否已安裝# yum -y install vsftpd# chkconfig --level 35 vsftpd on #設(shè)置開(kāi)機(jī)自啟動(dòng)# chkconfig --list|grep vsftpd #檢查開(kāi)機(jī)是否是自動(dòng)啟動(dòng)
4 ftp文件說(shuō)明
# rpm -ql vsftpd/etc/logrotate.d/vsftpd #vsftpd的日志文件/etc/pam.d/vsftpd #PAM認(rèn)證文件/etc/rc.d/init.d/vsftpd #啟動(dòng)腳本/etc/vsftpd #vsftpd的配置文件存放目錄/etc/vsftpd/ftpusers #禁止使用vsftpd的用戶(hù)列表文件/etc/vsftpd/user_list #禁止或允許使用vsftpd的用戶(hù)列表文件/etc/vsftpd/vsftpd.conf #ftp的主配置文件/etc/vsftpd/vsftpd_conf_migrate.sh #vsftpd操作的一些變量和設(shè)置/var/ftp #匿名用戶(hù)目錄/var/ftp/pub 匿名用戶(hù)的下載目錄
5 配置ftp
5.1 vsftpd.conf文件參數(shù)說(shuō)明
黃色部分為添加的,紅色為修改的
anonymous_enable=NO #是否開(kāi)啟匿名登錄local_enable=YES #是否允許本地用戶(hù)登錄write_enable=YES #是否允許上傳local_umask=022#默認(rèn)的umask碼dirmessage_enable=YES #是否顯示目錄說(shuō)明文件xferlog_enable=YES #是否記錄ftp傳輸過(guò)程connect_from_port_20=YES #是否確定端口傳輸來(lái)自20xferlog_std_format=YES #是否使用標(biāo)準(zhǔn)的ftp xferlog模式chroot_list_enable=YES #是否將系統(tǒng)用戶(hù)限制在自己的home目錄下chroot_list_file=/etc/vsftpd/chroot_list #列表不受限制的用戶(hù)listen=YES #是否開(kāi)啟監(jiān)聽(tīng)pam_service_name=vsftpd #服務(wù)名稱(chēng)userlist_enable=YEStcp_wrappers=YES
5.2 關(guān)閉selinux
# setenforce 0# sed -i "s#SELINUX=enforcing#SELINUX=disabled#g" /etc/selinux/config
6 創(chuàng)建虛擬用戶(hù)
6.1 創(chuàng)建一個(gè)用戶(hù)
創(chuàng)建用戶(hù)后修改用戶(hù)的shell為nologin,讓用戶(hù)不能登錄系統(tǒng),只能使用ftp之內(nèi)的服務(wù)
# useradd -d /home/ftp/test -g ftp -s /sbin/nologin test# echo 123456|passwd --stdin test #設(shè)置密碼
6.2 將用戶(hù)test添加到chroot_list中
# touch /etc/vsftpd/chroot_list # echo test >>/etc/vsftpd/chroot_list
6.3 啟動(dòng)vsftp服務(wù)
# /etc/init.d/vsftpd start
6.4 登陸ftp方式
6.4.1 文件夾登陸
在文件夾路徑框輸入:ftp://10.0.0.8 按回車(chē)登陸
6.4.2 瀏覽器登陸
瀏覽器里輸入ftp://10.0.0.8/ 輸入用戶(hù)名test和密碼123456進(jìn)行測(cè)試
6.4.3 cmd命令行登陸
打開(kāi)windows cmd窗口輸入:ftp 10.0.0.8 按回車(chē)輸入用戶(hù)名和密碼登陸
6.4.4 第三方客戶(hù)端登陸
比如xftp客戶(hù)端登陸
7 其他參數(shù)說(shuō)明
max_client=100 #vsftpd最大支持鏈接數(shù)100個(gè)ipmax_per=5 #每個(gè)ip能支持的5個(gè)鏈接local_max_rate=81920 #限制傳輸速度listen_address=ip #綁定某個(gè)ip到vsftpd,只允許該ip訪問(wèn)xferlog_file=/var/log/vsftpd.log #日志存放位置
8 常見(jiàn)報(bào)錯(cuò)
8.1 報(bào)錯(cuò)1
[root@oldboyedu45-wang ~]# service vsftpd start
為 vsftpd 啟動(dòng) vsftpd:500 OOPS: bad bool value in config file for: chroot_list_enable [失敗]
此報(bào)錯(cuò)時(shí)由于chroot_list_enable后面有空格導(dǎo)致的
總結(jié)
以上所述是小編給大家介紹的CentOS6.9中搭建FTP服務(wù)器的方法,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)歡迎給我留言,小編會(huì)及時(shí)回復(fù)大家的!
相關(guān)文章:
1. CentOS7搭設(shè)FTP服務(wù)器的方法步驟2. centos 搭建ftp服務(wù)器詳解及簡(jiǎn)單介紹3. Centos7防火墻放行指定IP和端口方式4. Centos7 網(wǎng)絡(luò)配置詳細(xì)介紹5. centos8系統(tǒng)ftp服務(wù)器安裝及被動(dòng)模式配置詳細(xì)教程6. 紅帽RHEL8和7的區(qū)別對(duì)比分享(Centos8與7參照redhat)7. Centos7 Zabbix3.4郵件告警配置(解決郵件內(nèi)容為xx.bin附件問(wèn)題)8. CentOS7防火墻和端口相關(guān)命令介紹9. 在CentOS7上搭建本地GitLab服務(wù)器10. 解決Vmware虛擬機(jī)安裝centos8報(bào)錯(cuò)“Section %Packages Does Not End With %End. Pane Is Dead”
