環(huán)境:
1筛谚、Centos 7.3
2含懊、阿里云專有網(wǎng)絡(luò)
安裝
yum install -y vsftpd // 安裝
systemctl start vsftpd.service // 啟動vsftpd服務(wù)
ftp權(quán)限配置:
vsftpd 的配置目錄為 /etc/vsftpd豹悬,包含下列的配置文件:
1桐筏、vsftpd.conf // 主配置文件
2范抓、ftpusers // 禁止訪問 FTP 服務(wù)器的用戶列表
3骄恶、user_list // 用戶訪問控制
這里只做簡單配置,禁止切換目錄匕垫。編輯 /etc/vsftpd/vsftpd.conf僧鲁,找到下面兩處配置并修改:
anonymous_enable=NO (改為NO) // 禁用匿名用戶
chroot_local_user=YES (改為YES) // 禁止切換根目錄
切換目錄權(quán)限配置:
chroot_list_enable=YES/NO(NO)
設(shè)置是否啟用chroot_list_file配置項指定的用戶列表文件。默認值為NO。
chroot_list_file=/etc/vsftpd/chroot_list
用于指定用戶列表文件悔捶,該文件用于控制哪些用戶可以切換到用戶家目錄的上級目錄铃慷。
chroot_local_user=YES/NO(NO)
用于指定用戶列表文件中的用戶是否允許切換到上級目錄。默認值為NO蜕该。
通過搭配能實現(xiàn)以下幾種效果:
1犁柜、當(dāng)chroot_list_enable=YES,chroot_local_user=YES時堂淡,在/etc/vsftpd.chroot_list文件中列出的用戶馋缅,可以切換到其他目錄;未在文件中列出的用戶绢淀,不能切換到其他目錄萤悴。
2、當(dāng)chroot_list_enable=YES皆的,chroot_local_user=NO時覆履,在/etc/vsftpd.chroot_list文件中列出的用戶,不能切換到其他目錄费薄;未在文件中列出的用戶硝全,可以切換到其他目錄。
3楞抡、當(dāng)chroot_list_enable=NO伟众,chroot_local_user=YES時,所有的用戶均不能切換到其他目錄召廷。
4凳厢、當(dāng)chroot_list_enable=NO,chroot_local_user=NO時竞慢,所有的用戶均可以切換到其他目錄先紫。
故上面配置屬于第三種情況,所有用戶不能切換到其他目錄筹煮。
如果使用情況1或者情況2時泡孩,要在/etc/vsftpd下新建chroot_list文件,配置相關(guān)用戶寺谤。
重啟服務(wù):
systemctl restart vsftpd.service
創(chuàng)建一個用戶 ftpuser
useradd ftpuser
限制用戶 ftpuser只能通過 FTP 訪問服務(wù)器仑鸥,而不能直接登錄服務(wù)器:
usermod -s /sbin/nologin ftpuser
上面兩步可以合二為一:
useradd ftpuser -s /sbin/nologin
為用戶 ftpuser 設(shè)置密碼
方法一:
echo "keenjaan" | passwd ftpuser --stdin
方法二:
passwd ftpuser
輸入兩遍密碼即可
2.5 為用戶分配主目錄
在/var中創(chuàng)建相關(guān)的目錄
mkdir -p /var/ftp/pub
配置主目錄即目錄權(quán)限配置:
/var/ftp // 為主目錄, 該目錄只能讀,不能寫和執(zhí)行
/var/ftp/pub // 文件具有讀变屁、寫眼俊、執(zhí)行權(quán)限
設(shè)置訪問權(quán)限
chmod a-w /var/ftp && chmod 777 -R /var/ftp/pub
對ftp文件:有讀取權(quán)限,沒有寫入權(quán)限粟关。
對pub文件及其所有子文件:最高權(quán)限疮胖,讀寫,執(zhí)行。
關(guān)于chmod命令:參考這個連接傳送門
chmod [-cfvR] [--help] [--version] mode file...
參數(shù) :
mode : 權(quán)限設(shè)定字串澎灸,格式如下 : [ugoa...][[+-=][rwxX]...][,...]院塞,其中
u 表示該文件的擁有者[user],
g 表示與該文件的擁有者屬于組(group)性昭,
o 表示其他用戶[other]拦止,
a 表示這三者皆是[all]。(常用)
+ 表示增加權(quán)限糜颠、(常用)
- 表示取消權(quán)限汹族、(常用)
= 表示唯一設(shè)定權(quán)限。
r 表示有可讀取的權(quán)限其兴,
w 表示有可寫入的權(quán)限顶瞒,
x 表示有可執(zhí)行的權(quán)限,
X 表示只有當(dāng)該文件是個子目錄或者該文件已經(jīng)被設(shè)定過為可執(zhí)行元旬。
-c : 若該文件權(quán)限確實已經(jīng)更改榴徐,才顯示其更改動作
-f : 若該文件權(quán)限無法被更改也不要顯示錯誤訊息
-v : 顯示權(quán)限變更的詳細資料
-R : 對目前目錄下的所有文件與子目錄進行相同的權(quán)限變更 (常用)
--help : 顯示幫助
--version : 顯示版本
r=4,
w=2匀归,
x=1
rwx屬性則4+2+1=7箕速;
rw-屬性則4+2=6;
r-x屬性則4+1=5朋譬。
設(shè)置為用戶的主目錄:
usermod -d /var/ftp ftpuser
在阿里云安全組中開放21端口號。
使用FileZilla登錄到ftp報錯兴垦,553徙赢,最終設(shè)置FileZilla傳輸設(shè)置里傳輸模式為主動,就能正常傳輸了探越。
到此ftp配置完成狡赐。這里有篇關(guān)于ftp配置文章很詳細,傳送門