測試環(huán)境:Centos 7
1.安裝vsftpd
yum install -y vsftpd
2.啟動vsftpd
安裝完成后分冈,啟動FTP服務
service vsftpd start
啟動成功,查看系統(tǒng)是否已經監(jiān)聽21端口:
netstat -lntp
或者
netstat -lntp | grep 21
可以看到系統(tǒng)已經監(jiān)聽21端口臼氨,訪問ftp://服務器IP地址
3.配置FTP權限
3.1 vsftpd 的配置目錄為:/etc/vsftpd,包含下列的配置文件:
- vsftpd.conf 為主要配置文件
- ftpusers 配置禁止訪問FTP服務器的用戶列表
- user_list 配置用戶訪問控制
3.2 阻止匿名訪問和切換根目錄
匿名訪問和切換根目錄都會給服務器帶來安全風險芭届,我們要把這兩個功能關閉储矩。
編輯/etc/vsftpd/vsftpd.conf,找到下面兩處配置并修改:
# 禁用匿名用戶 12 YES 改為NO
anonymous_enable=NO
# 禁止切換根目錄 101 行 刪除#
chroot_local_user=YES
編輯配置文件:
vim /etc/vsftpd/vsftpd.conf
編輯完成后保存配置喉脖,重新啟動FTP服務
service vsftpd restart
3.3 創(chuàng)建FTP用戶
創(chuàng)建一個名為 ftpuser的用戶
useradd ftpuser
為用戶ftpuser設置密碼
passwd ftpuser
3.4 限制該用戶僅能通過FTP訪問
限制用戶ftpuser只能通過FTP訪問服務器椰苟,而不能直接登錄服務器;
usermod -s /sbin/nologin ftpuser
3.5 為用戶分配主目錄
為用戶ftpuser創(chuàng)建主目錄并約定:
/data/ftp為主目錄树叽,該目錄不可上傳文件
/data/ftp/pub 文件只能上傳到該目錄下
在/data中創(chuàng)建相關的目錄
mkdir -p /data/ftp/pub
3.6 創(chuàng)建登錄歡迎文件
echo "Welcome to use FTP service." > /data/ftp/welcome.txt
設置訪問權限
chmod a-w /data/ftp && chmod 777 -R /data/ftp/pub
設置為用戶的主目錄
usermod -d /data/ftp ftpuser
3.7 訪問FTP
根據(jù)個人的工作環(huán)境舆蝴,選擇訪問FTP的方式
注意:關閉防火墻或開放FTP默認端口(21)
#關閉SELinux服務
setenforce 0
#關閉防火墻
iptables -F
- 通過 Windows 資源管理器訪問
Windows 用戶可以復制下面的鏈接
到資源管理器的地址欄訪問:
ftp:// IP地址或域名
其中ftpuser
為登錄FTP的用戶名,centos11..
為登錄FTP的密碼
- 通過 FTP 客戶端工具訪問
FTP 客戶端工具眾多,下面推薦兩個常用的:
WinSCP- Windows 下的 FTP 和 SFTP 連接客戶端
FileZilla - 跨平臺的 FTP 客戶端洁仗,支持 Windows 和 Mac
注意:
1.如果FIleZilla無法登錄层皱,或出現(xiàn)下面錯誤
解決方法:
1.查看登錄賬戶主目錄和登錄shell的對應,如:/sbin/nologin
cat /etc/passwd
2.查看/etc/shells中是否有用戶的主目錄赠潦,如:/sbin/nologin叫胖,沒有進行添加。
cat /etc/shells
發(fā)現(xiàn)shells中沒有/sbin/nologin她奥,添加/sbin/nologin
vim /etc/shells
添加之后再連接
連接成功
2.如果FIleZilla無法登錄瓮增,或出現(xiàn)下面錯誤
處理辦法
1.在服務器修改vsftpd的配置文件vsftpd.conf
vim /etc/vsftpd/vsftpd.conf
2.在配置文件中添加一行配置:allow_writeable_chroot=YES
保存退出,重啟下vsftpd服務就可以正常訪問了哩俭。