該部分本人不熟,大多數(shù)直接引用騰信云相關(guān)文檔作為參考
1.安裝 vsftpd
執(zhí)行yum install -y vsftpd
安裝vsftpd
2.啟動 vsftpd
執(zhí)行systemctl start vsftpd
啟動FTP服務(wù)
執(zhí)行systemctl enable vsftpd
設(shè)置開機自啟動
執(zhí)行netstat -antup | grep ftp
確認服務(wù)是否啟動
顯示結(jié)果如下如蚜,則說明 FTP 服務(wù)已啟動
此時臭杰,vsftpd 已默認開啟匿名訪問模式,無需通過用戶名和密碼即可登錄 FTP 服務(wù)器
使用此方式登錄 FTP 服務(wù)器的用戶沒有修改或上傳文件的權(quán)限亚兄。
3.設(shè)置FTP權(quán)限等配置
先創(chuàng)建個FTP服務(wù)使用的文件目錄mkdir /var/ftp/local
修改一下目錄權(quán)限chown -R root:root /var/ftp/local
執(zhí)行vim /etc/vsftpd/vsftpd.conf
命令打開vsftpd.conf文件
按 i 切換至編輯模式醋安,根據(jù)實際需求修改配置文件
修改以下配置參數(shù)假丧,設(shè)置匿名用戶和本地用戶的登錄權(quán)限珍昨,設(shè)置指定例外用戶列表文件的路徑县耽,并開啟監(jiān)聽 IPv4 sockets
anonymous_enable=NO
local_enable=YES
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
listen=YES
關(guān)閉監(jiān)聽 IPv6 sockets
#listen_ipv6=YES
添加以下配置參數(shù),開啟被動模式镣典,設(shè)置本地用戶登錄后所在目錄兔毙,以及云服務(wù)器建立數(shù)據(jù)傳輸可使用的端口范圍值
local_root=/var/ftp/local
allow_writeable_chroot=YES
pasv_enable=YES
pasv_address=xxx.xx.xxx.xx #請修改為您的 Linux 云服務(wù)器公網(wǎng) IP
pasv_min_port=40000
pasv_max_port=45000
按 Esc 退出編輯狀態(tài),輸入 :wq 保存后退出
執(zhí)行systemctl restart vsftpd
重啟FTP服務(wù)
4.使用時遇到的問題
- 讀取目錄列表失敗
出現(xiàn)問題的原因我不是很清楚兄春,這里只放我解決的方式
執(zhí)行vim /etc/vsftpd/vsftpd.conf
編輯配置文件
增加一行pasv_promiscuous=YES
保存后重啟服務(wù)即可
解決我問題的原網(wǎng)頁鏈接感興趣的可以親自查一下 - 給不同的用戶設(shè)置不同的根目錄
執(zhí)行cd /etc/vsftpd
澎剥,在目錄下新建一個文件夾mkdir userconf
在userconf文件夾內(nèi)根據(jù)用戶名創(chuàng)建一個文件,例如touch yjj
執(zhí)行vim yjj
赶舆,添加一行local_root=/home/yjj
保存后哑姚,執(zhí)行vim /etc/vsftpd/vsftpd.conf
配置文件中添加一行user_config_dir=/etc/vsftpd/userconf
保存文件后重啟服務(wù)即可
這樣就可以給不同的用戶設(shè)置不同的根目錄了 -
500 OOPS: vsftpd: refusing to run with writable root inside chroot()
錯誤
原因是我給當(dāng)前用戶設(shè)置的根目錄是可寫權(quán)限的祭饭,而在正常情況下根目錄應(yīng)該是只讀的,需要在conf文件中添加一個參數(shù)
vim /etc/vsftpd/vsftpd.conf
allow_writeable_chroot=YES
保存后重啟服務(wù)即可
至此CentOS 7上關(guān)于FTP服務(wù)的搭建和基本使用就完成了叙量,有些配置項還是一知半解不明所以倡蝙,慢慢摸索吧...后續(xù)使用時如果遇到問題還會不定時更新到這里,希望對大家有所幫助