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