centos 7 安装vsftpd

一、查看安装版本,并卸载

1.查看版本

rpm -qa |grep vsftp

2.卸载指定版本

rpm -e vsftpd-3.0.2-27.el7.x86_64

3.删除用户

userdel vsftpd

4.删除用户邮箱

rm -rf /var/spool/mail/vsftpd

二、安装

yum -y install vsftpd

三、设置开机自动启动和查看状态

1.常用指令4连发

systemctl enable vsftpd.service
systemctl start vsftpd.service
systemctl status vsftpd.service
systemctl restart vsftpd.service

四、配置vsftpd

1.编辑配置文件

vim /etc/vsftpd/vsftpd.conf

2.按INSERT进入编辑模式,设置显示行号

:set number

3.修改配置如下,然后:wq保存退出

#修改配置 12 行
anonymous_enable=NO

#修改配置 33 行
anon_mkdir_write_enable=YES

#修改配置48行
chown_uploads=YES

#修改配置72行
async_abor_enable=YES

#修改配置83行
ascii_upload_enable=YES

#修改配置84行
ascii_download_enable=YES

#修改配置87行
ftpd_banner=Welcome to blah FTP service.

#修改配置101行
chroot_local_user=YES

#添加下列内容到vsftpd.conf末尾
use_localtime=YES
listen_port=21
idle_session_timeout=300
guest_enable=YES
guest_username=vsftpd
user_config_dir=/etc/vsftpd/vconf
data_connection_timeout=1
virtual_use_local_privs=YES
pasv_min_port=40000
pasv_max_port=40010
accept_timeout=5
connect_timeout=1
allow_writeable_chroot=YES

五、配置vsftpd账户

1.编辑用户文件

vim /etc/vsftpd/virtusers

2.填写账户密码,第一行为账户,第二行为密码,创建完成后保存退出

goapp
123456

3.生成用户数据文件

db_load -T -t hash -f /etc/vsftpd/virtusers /etc/vsftpd/virtusers.db

4.设定PAM验证文件,并指定对虚拟用户数据库文件进行读取

chmod 600 /etc/vsftpd/virtusers.db 

六、修改 /etc/pam.d/vsftpd 文件

vi /etc/pam.d/vsftpd

先将配置文件中原有的 auth 及 account 的所有配置行均注释掉后,加入以下配置

auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/virtusers 
account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/virtusers

七、创建系统用户vsftpd

1.注意下面的vsftpd不要更改,这是系统用户,文件路径(/data/website)可自行修改
设为/bin/false(即:使之不能登录系统)

useradd vsftpd -d /data/website -s /bin/false
chown -R vsftpd:vsftpd /data/website

2.更改目录的权限

chmod -R 777 /data/website

八、建立虚拟用户个人配置文件

1.创建文件夹

mkdir /etc/vsftpd/vconf
cd /etc/vsftpd/vconf

2.编辑用户,即前面步骤五 创建的用户名

vi /etc/vsftpd/vconf/goapp

3.复制一下配置

local_root=/data/website/goapp
write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES

给用户创建一个文件夹

mkdir -p /data/website/goapp

给文件夹设置权限

chmod -R 775 /data/website/goapp

九、重启下服务

systemctl restart vsftpd.service
systemctl status vsftpd.service

十、检查并关闭防火墙

systemctl disable firewalld
systemctl stop firewalld

用FTP连接测试,可以用FileZilla等软件测试

常见问题处理方式:
1.如果发现ftp无法连接,在服务可通过指令查看异常日志tail /var/log/secure

2.最后注意下服务器21端口是否开放(比如阿里云安全组设置),FileZilla可以设置为主动模式

posted @ 2020-05-10 23:00  nickchou  阅读(834)  评论(0编辑  收藏  举报