yum install -y vsftpd?#安裝vsftpd
yum install -y psmisc net-tools systemd-devel libdb-devel perl-DBI ?#安裝vsftpd虛擬用戶配置依賴包
systemctl enable vsftpd.service??#設置vsftpd開機啟動
cp /etc/vsftpd/vsftpd.conf ? /etc/vsftpd/vsftpd.conf-bak?#備份默認配置文件
?
?
編輯 /etc/vsftpd/vsftpd.conf?
?
使之成為如下內容
?
?
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=002
userlist_enable=YES
userlist_deny=yes
userlist_file=/etc/vsftpd/user_list
tcp_wrappers=YES
?
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES
pam_service_name=vsftpd
tcp_wrappers=YES
banner_file=/etc/vsftpd/welcome.txt
#chroot
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
local_max_rate=1000000
listen_port=21
idle_session_timeout=300
data_connection_timeout=1
guest_enable=YES
guest_username=apps
user_config_dir=/etc/vsftpd/vconf
virtual_use_local_privs=YES
ftp_data_port=10020
pasv_enable=yes
pasv_min_port=10060
pasv_max_port=10090
pasv_addr_resolve=YES
pasv_address=121.201.24.233
accept_timeout=5
connect_timeout=1
allow_writeable_chroot=YES
編輯/etc/vsftpd/welcome.txt?
touch /etc/vsftpd/chroot_list?
vim?/etc/vsftpd/virtusers ?建立虛擬用戶名單
admin
WJ8gqMUbArtIsmGRF9W4
第一行是賬號,第二行是密碼
用下面的命令生成虛擬用戶文件
db_load -T -t hash -f /etc/vsftpd/virtusers /etc/vsftpd/virtusers.db
修改權限為 600
chmod 600 /etc/vsftpd/virtusers.db
在/etc/pam.d/vsftpd的文件頭部加入以下信息,一定要加在頭部,不能加在其他地方。
vi /etc/pam.d/vsftpd
auth sufficient /lib64/security/pam_userdb.so?db=/etc/vsftpd/virtusers
account sufficient /lib64/security/pam_userdb.so?db=/etc/vsftpd/virtusers
新建系統用戶apps,用戶目錄為/home/apps
useradd apps -d /home/apps
chown apps:apps /home/apps -R
這里我們用應用本身的賬號apps 來代替新建賬號
建立虛擬用戶個人Vsftp的配置文件
mkdir /etc/vsftpd/vconf
cd /etc/vsftpd/vconf
mkdir -p /home/apps/admin
vi admin?#編輯用戶web1配置文件,其他的跟這個配置文件類似
local_root=/home/apps/admin
write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
重啟FTP
systemctl restart vsftpd.service
備注:
guest_username=apps?#指定虛擬用戶的宿主用戶(就是我們前面新建的用戶)
guest_username=apps?#如果ftp目錄是指向網站根目錄,用來上傳網站程序,可以指定虛擬用戶的宿主用戶為Tomcat運行賬戶apps,可以避免很多權限設置問題