近期由於工作原因,需要在CentOS7上安裝FTP服務,一開始對vsftpd主配置文件中各屬性不熟悉,造成部署vsftpd花費了很長時間,特在此記錄下安裝配置過程及主要屬性說明。
一、安裝vsftpd
vsftpd安裝
yum install -y vsftpd
vsftpd服務啓動
#啓動
systemctl start vsftpd.service
#停止
systemctl stop vsftpd.service
#重啓
systemctl restart vsftpd.service
#查看狀態
systemctl status vsftpd.service
#設置開機啓動
systemctl enable vsftpd.service
#禁用開機啓動
systemctl disable vsftpd.service
安裝ftp客服端
yum install ftp
默認安裝vsftpd,以下是一些文件的位置約定:
/etc/vsftpd/ftpusers ---- 禁止使用VSFTPD的用戶列表文件
/etc/vsftpd/user_list ---- 禁止或允許使用VSFTPD的用戶列表文件
/usr/sbin/vsftpd ---- vsftpd的主程序
/etc/vsftpd/vsftpd.conf ---- 主配置文件
/var/ftp ---- 匿名用戶主目錄
/var/ftp/pub ---- 匿名用戶的下載目錄
二、修改配置文件
修改vsftpd的主配置文件/etc/vsftpd/vsftpd.conf
vim /etc/vsftpd/vsftpd.conf
#不允許匿名用戶登陸
anonymous_enable=NO
#是否允許用戶跳出用戶目錄(YES表示不允許,NO表示允許)
chroot_local_user=YSE
#vsftpd運行在ipv4上
listen=YES
#listen_vip6=YES
#允許不可跳出用戶目錄的用戶“寫”文件
allow_writeable_chroot=YES
以上是我實際部署vsftpd時修改的一些屬性,下面再介紹說明一些重要屬性,供對vsftpd有複雜配置需求的同學一些參考。
1)配置chroot_list
#是否啓用chroot_list文件,使文件中的用戶可以跳出用戶目錄
chroot_list_enable=YES
#chroot_list文件的路徑,需要自行創建該文件
chroot_list_file=/etc/vsftpd/chroot_list
2)設置用戶列表
# 配置用戶攔截機制,啓用/etc/vsftpd/user_list文件且設置爲白名單
userlist_enable=YES
userlist_deny=NO
當且僅當userlist_enable=YES時,userlist_deny項的配置纔有效,user_list文件纔會被使用;當userlist_enable爲NO時,無論userlist_deny項爲何值都是無效的,本地全體用戶(除去ftpusers中的用戶)都可以登入FTP。
當userlist_enable=YES時,userlist_deny=YES時:user_list是一個黑名單,即:所有出現在名單中的用戶都會被拒絕登入;
當userlist_enable=YES時,userlist_deny=NO時:user_list是一個白名單,即:只有出現在名單中的用戶纔會被准許登入(user_list之外的用戶都被拒絕登入)。
3)設置vsftp日誌
# 是否允許vsftp的日誌
xferlog_enable=YES
# 日誌文件的路徑
xferlog_file=/var/log/xferlog
# 日誌文件的格式
xferlog_std_format=YES
三、創建、刪除用戶
1)創建用戶:
useradd -d /mnt/ftpfiles -s /sbin/nologin lnftp
2)設置密碼:
passwd lnftp
3)更改用戶權限:
usermod -s /sbin/nologin lnftp //限定用戶lnftp不能telnet,只能ftp
usermod -s /sbin/bash lnftp //用戶lnftp恢復正常
usermod -d /mnt/ftpfiles lnftp //更改用戶lnftp的主目錄爲/mnt/ftpfiles
4)刪除用戶:
userdel -r lnftp