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,可以避免很多权限设置问题