1.使用 yum 安裝 vsftpd
yum install vsftpd -y
2.安裝完成後,啓動 FTP 服務:service vsftpd start
service vsftpd start
3.啓動後,可以看到系統已經 監聽了 21 端口 (FTP 協議默認使用21 端口作爲服務端口)
netstat -nltp | grep 21
如上圖所示,此時,訪問 ftp://xxx.xxx.xxx.xxx(公網ip) 可瀏覽機器上的 /var/ftp 目錄了。
4.目前 FTP 服務登陸允許匿名登陸,也無法區分用戶訪問,我們需要配置 FTP 訪問權限,首先要了解下 VSFTP 配置:
配置目錄爲 /etc/vsftpd,包含下列的配置文件:
- vsftpd.conf 爲主要配置文件
- ftpusers 配置禁止訪問 FTP 服務器的用戶列表
- user_list 配置用戶訪問控制
首先我們阻止匿名訪問和切換根目錄:因爲匿名訪問和切換根目錄都會給服務器帶來 安全風險,匿名訪問讓所有人都可以上傳文件到服務器上而無需鑑權,而允許切換根目錄則可能產生越權訪問問題。
編輯 /etc/vsftpd/vsftpd.conf, 找到下面兩處配置,並修改
# 禁用匿名用戶
anonymous_enable=NO
# 禁止切換根目錄
chroot_local_user=YES
編輯完成後,保存並退出。然後重啓服務
service vsftpd restart
5.創建一個用戶 ftpuser1 ,直接輸入
useradd ftpuser1
給用戶設置密碼
echo "這裏填寫密碼" | passwd ftpuser1 --stdin
限制用戶 ftpuser1 只能通過 FTP 訪問服務器,而不能直接登錄服務器:
usermod -s /sbin/nologin ftpuser1
6.爲用戶 ftpuser1 創建 主目錄 用戶的主目錄是用戶通過 FTP 登錄後看到的根目錄並約定:
/data/ftp 爲主目錄, 該目錄不可上傳文件
/data/ftp/pub 文件只能上傳到該目錄下
mkdir -p /data/ftp/pub
創建登錄歡迎文件 方便用戶登錄後可以看到歡迎信息,並且確定用戶確實登錄到了主目錄上
echo "Welcome to use my FTP service." >/data/ftp/welcome.txt
設置訪問權限:
chmod a-w /data/ftp && chmod 777 -R /data/ftp/pub
7.設置爲用戶的主目錄
usermod -d /data/ftp ftpuser1
下面就可以訪問我們的ftp服務器了。我用的是另一臺windows機器試驗,使用的軟件是xftp5.成功: