1、安装

安装ftp:yum install -y vsftpd

将ftp设置开机启动:systemctl enable vsftpd.service

2、配置

安装好后在ftp配置文件里进行配置 : vim /etc/vsftpd/vsftpd.conf

在viw中使用命令 :set number 打开行号显示

#修改配置 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

3、生成用户文件

配置文成后创建用:vim /etc/vsftpd/virtusers

第一行为用户名,第二行为密码。不能使用root作为用户名

将/etc/vsftpd/virtusers生成用户数据文件:db_load -t -t hash -f /etc/vsftpd/virtusers /etc/vsftpd/virtusers.db

设定pam验证文件,并指定对虚拟用户数据库文件进行读取:chmod 600 /etc/vsftpd/virtusers.db

配置pam认证信息,编辑/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 

如果系统为32位,上面lib64改为lib

4、配置用户访问权限

新建系统用户vsftpd,用户目录为/home/vsftpd:

用户登录终端设为/bin/false(即:使之不能登录系统):useradd vsftpd -d /home/vsftpd -s /bin/false

 

为文件夹指定访问用户:chown -r vsftpd:vsftpd /home/vsftpd

 

建立虚拟用户个人配置文件:mkdir /etc/vsftpd/vconf

 

进入文件夹:cd /etc/vsftpd/vconf,

 

这里建立虚拟用户admin配置文件:touch admin

 

编辑admin用户配置文件:vi admin

 

写入配置信息:

local_root=/home/vsftpd/admin/
write_enable=yes
anon_world_readable_only=no
anon_upload_enable=yes
anon_mkdir_write_enable=yes
anon_other_write_enable=yes

创建admin用户根目录:mkdir -p /home/vsftpd/admin/

 

设置目录操作权限:chmod -r 777 /home/vsftpd/admin

 

编辑selinux配置文件:vim /etc/selinux/config (不设置这个可能上传一些文件时没上传完整,导致异常)

#注释掉下面的行
selinux=enforcing
#增加  
selinux=disabled

 

最后:reboot,重启系统。