一.安裝 VSFTPD
1.使用 yum 安裝 vsftpd:
yum install vsftpd -y
vsftpd 是在 Linux 上被廣泛使用的 FTP 服務(wù)器,根據(jù)其[官網(wǎng)介紹][http://www.tjdsmy.cn/vsftpd.html],它可能是 UNIX-like 系統(tǒng)下最安全和快速的 FTP 服務(wù)器軟件。
2.啟動(dòng) VSFTPD
安裝完成后,啟動(dòng) FTP 服務(wù):
service vsftpd start
啟動(dòng)后,可以看到系統(tǒng)已經(jīng)[監(jiān)聽(tīng)了 21 端口]:
netstat -nltp | grep 21
此時(shí),訪問(wèn) ftp://<您的 CVM IP 地址> 可瀏覽機(jī)器上的 /var/ftp 目錄了。
FTP 協(xié)議默認(rèn)使用 21 端口作為服務(wù)端口
3.配置 FTP 權(quán)限
目前 FTP 服務(wù)登陸允許匿名登陸,也無(wú)法區(qū)分用戶訪問(wèn),我們需要配置 FTP 訪問(wèn)權(quán)限
了解 VSFTP 配置
vsftpd 的配置目錄為 /etc/vsftpd,包含下列的配置文件:
vsftpd.conf 為主要配置文件
ftpusers 配置禁止訪問(wèn) FTP 服務(wù)器的用戶列表
user_list 配置用戶訪問(wèn)控制
開(kāi)始修改配置來(lái)設(shè)置權(quán)限。
阻止匿名訪問(wèn)和切換根目錄
匿名訪問(wèn)和切換根目錄都會(huì)給服務(wù)器帶來(lái)[安全風(fēng)險(xiǎn)],我們把這兩個(gè)功能關(guān)閉。
編輯 /etc/vsftpd/vsftpd.conf,[找到下面兩處配置]并修改:
# 禁用匿名用戶
anonymous_enable=NO
# 禁止切換根目錄
chroot_local_user=YES
編輯完成后,按 Ctrl + S 保存配置,重新啟動(dòng) FTP 服務(wù),如:
service vsftpd restart
匿名訪問(wèn)讓所有人都可以上傳文件到服務(wù)器上而無(wú)需鑒權(quán),而允許切換根目錄則可能產(chǎn)生越權(quán)訪問(wèn)問(wèn)題。
二.創(chuàng)建 FTP 用戶
1.創(chuàng)建一個(gè)用戶 ftpuser:
useradd ftpuser
為用戶 ftpuser 設(shè)置密碼:
echo "Password" | passwd ftpuser --stdin
下面命令中的密碼為實(shí)驗(yàn)室為您生成,為了方便后面的實(shí)驗(yàn)步驟,不建議使用其他密碼
限制該用戶僅能通過(guò) FTP 訪問(wèn)
限制用戶 ftpuser 只能通過(guò) FTP 訪問(wèn)服務(wù)器,而不能直接登錄服務(wù)器:
usermod -s /sbin/nologin ftpuser
為用戶分配主目錄
為用戶 ftpuser 創(chuàng)建[主目錄](méi)并約定:
/data/ftp 為主目錄, 該目錄不可上傳文件
/data/ftp/pub 文件只能上傳到該目錄下
mkdir -p /data/ftp/pub
創(chuàng)建登錄歡迎文件:
echo "Welcome to use FTP service." > /data/ftp/welcome.txt
2.設(shè)置訪問(wèn)權(quán)限:
chmod a-w /data/ftp && chmod 777 -R /data/ftp/pub
設(shè)置為用戶的主目錄:
usermod -d /data/ftp ftpuser
用戶的主目錄是用戶通過(guò) FTP 登錄后看到的根目錄
